Packit-as-a-Service is a GitHub App that helps you continuously ensure that your project work in Fedora OS.
Using Packit Service is very straightforward: add one config file to your repository together with the RPM spec file and you’re good to go.
Packit Service validates your pull requests by building your software in Fedora OS. Once the builds are done, Packit lets you know how to install the RPMs inside your environment so you can try the changes before merging them.
Optionally, Packit Service can run tests for the built software (i.e. copr builds) in all current Fedora OS releases via Testing Farm.
Packit is also available as a CLI tool, so you can always try things locally on your own. Note that testing is not currently supported with the CLI tool.
Once installed, you will see the “Packit-as-a-Service” GitHub application in your project settings. In the left sidebar, click “Integration & services” and you will see the application displayed there.
In order to continue, please head to the main Packit guide.
Currently, Packit Service is able only to build your changes and provide them as RPMs. Once you create a pull request, Packit Service builds the code from the pull request in COPR repository and reports back COPR build status to the pull request.
An example of Packit Service pull request:
Packit Service is able to schedule new builds based on a pull request comment:
So whenever you run into a flake or feel like you want to retrigger, just type that comment into the PR and enjoy some fine, fresh builds.
Only project collaborators can re-trigger.
Packit Service is able to propose updates of new upstream releases using this comment in an issue:
If you want to propose the latest release into Fedora repositories, create an issue and add that comment into this issue and Packit service triggers and pushes it directly into Fedora dist-git repositories.
If all jobs (propose_downstream),
packit.yaml file, finished successfully, then the issue is
Only project collaborators can propose a new update.
It is also possible to run tests against the freshly built rpms. See the Testing Farm documentation for details.