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.
Packit is also available as a CLI tool, so you can always try things locally on your own.
There are two ways to install Packit-as-a-Service GitHub app into your repository.
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 apllication displayed there.
Packit Service expects the “.packit.yaml” configuration file in root of your upstream repository. For more info, see .packit.yaml documentation.
Packit Service needs the RPM spec file in your upstream repository. This RPM spec file is used to build your project.
Packit is also tracking an RFE to not require spec in upstream packit-service/packit#312.
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:
Thanks for your interest in Packit Service! In order to start using the service you need to be whitelisted, which is an action to be done by us. Once we put you on the whitelist, we’ll get in touch with you. We are now on-boarding Fedora contributors (with a Fedora Account System account).
Since packit service builds your PRs in Fedora COPR build service, by using Packit-as-a-service, your software needs to comply with COPR rules. If any of these points are violated, we’ll remove the builds and may put you on a blacklist so you won’t be able to use the service again.
If you encounter a problem while using Packit-as-a-service, please open an upstream issue. In case of any other questions, feel free to contact us on our mailing list: email@example.com.