Skip to content
Upstream project ← → Downstream distribution
Branch: master
Clone or download
TomasTomecek Merge pull request #364 from phracek/command_runner
Command runner with implemented classes
Latest commit 01e3035 Jun 13, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Update docs/configuration.md May 30, 2019
fedora-tests [packit] sync from downstream branch 'master' Apr 15, 2019
files Fix tests and add one integration test Jun 11, 2019
packit Use Sandcastle object and import it Jun 13, 2019
tests Use Sandcastle object and import it Jun 13, 2019
.git_archival.txt Introduce packaging Nov 29, 2018
.gitattributes Introduce packaging Nov 29, 2018
.gitignore
.packit.yaml [.packit.yaml] copr build again on F30 & rawhide May 15, 2019
.pre-commit-config.yaml Pregenerate testing gpg key May 10, 2019
CHANGELOG.md 0.4.1 release May 18, 2019
CONTRIBUTING.md remove irrelevant content from CONTRIB.md May 23, 2019
Dockerfile fix vagrant file for using same ansible Jun 4, 2019
Jenkinsfile run tests under fedora-30 container via podman Jun 4, 2019
LICENSE Initial commit Nov 6, 2018
Makefile there has to be installation because tests/unit/test_cli.py::test_bas… Jun 4, 2019
README.md Fix README.md May 27, 2019
Vagrantfile fix vagrant file for using same ansible Jun 4, 2019
ansible.cfg add containerized deployment for the watcher Dec 7, 2018
packit.spec 0.4.1 release May 18, 2019
recipe-tests.yaml recipe-tests: attempt a fix Apr 8, 2019
release-conf.yaml release-conf.yaml for release bot Mar 6, 2019
setup.cfg \o/ dedicated packit-service \o/ May 23, 2019
setup.py Fixes #188 Add license MIT text into python files Apr 2, 2019

README.md

Pack It! Build Status

Elevator pitch

Packit is a CLI tool that helps developers auto-package upstream projects into Fedora operating system. You can use packit to continously build your upstream project in Fedora. With packit you can create SRPMs, open pull requests in dist-git, submit koji builds and even create bodhi updates, effectively replacing the whole Fedora packaging workflow.

Plan and current status

We are working on two things now:

  1. Packit as a tool - a standalone CLI tool which you can install from Fedora repositories and use easily.
  2. Packit service - A service offering built on top of packit tool. Our expectation is that you would add packit service into your Github repository and it would start handling things automatically: opening pull requests on dist-git, building packages, creating updates, ...

For the run-down of the planned work, please see the task-list below.

  • E2E workflow for getting upstream releases into Fedora using packit CLI.
    • Bring new upstream releases into Fedora rawhide as dist-git pull requests. (propose-update command included in in 0.1.0 release)
    • Build the change once it's merged. #137
    • Send new downstream changes back to upstream. (so the spec files are in sync) #145
    • Packit can create bodhi updates. #139
    • Ability to propose updates also to stable releases of Fedora.
    • Create SRPMs from the upstream repository
    • Build RPMs in COPR and integrate the results into Github.
  • source-git
    • Packit can create a SRPM from a source-git repo.
    • You can release to rawhide from source-git using packit.
    • Packit can create a source-git repository.
    • Packit helps developers with their source-git repositories.
  • Packit as a service
    • Packit reacts to Github webhooks.
    • Have a Github app for packit.
      • Github app is on Marketplace.
    • Packit service is deployed and usable by anyone.

Workflows covered by packit

This list contains workflows covered by packit tool and links to the documentation.

Configuration

Configuration file for packit is described in a separate document: docs/configuration.md.

TL;DR

specfile_path: packit.spec
synced_files:
  - packit.spec
upstream_project_name: packit
downstream_package_name: packit

Requirements

Packit is written in python 3 and is supported only on 3.6 and later.

When packit interacts with dist-git, it uses fedpkg, we suggest installing it:

sudo dnf install -y fedpkg

Installation

On Fedora:

$ dnf install --enablerepo=updates-testing packit

Or

$ pip3 install --user packitos

(packit project on PyPI is NOT this packit project)

You can also install packit from master branch, if you are brave enough:

$ pip3 install --user git+https://github.com/packit-service/packit.git

Run from git directly:

You don't need need to install packit to try it out. You can run it directly from git (if you have all the dependencies installed):

$ python3 -m packit.cli.packit_base --help
Usage: packit_base.py [OPTIONS] COMMAND [ARGS]...

Options:
  -d, --debug
  -h, --help         Show this message and exit.
...

Already on-boarded

Package name Contacts Link to packit configuration file
rebase-helper @nforro .packit.yaml
pykickstart @dcantrell @larskarlitski packit.yaml
packit .packit.yaml
colin .packit.yaml
conu .packit.yaml
sen @TomasTomecek .packit.yaml
ogr @lachmanfrantisek .packit.yaml
rear @gdha PR2145

Who is interested

  • Identity team (@pvoborni)
  • Plumbers - Source Git (@msekletar @lnykryn)
  • shells (@siteshwar)
  • python-operator-courier (Ralph Bean)
  • @thrix
  • youtube-dl (Till Mass)
  • greenboot (@LorbusChris)
  • ABRT
  • OSBS (atomic-reactor, osbs-client, koji-containerbuild) (@cverna)
  • CoreOS (starting with rpm-ostree, ignition, and ostree) (@jlebon)
  • cockpit (@martinpitt)
  • iptables (@jsynacek)

Currently on-boarding

Package name Contacts Links (Bugzillas, PRs, etc.)
anaconda @jkonecny12 BZ1697339
standard-test-roles PR325

Resources

You can’t perform that action at this time.