What maintainers should know before adopting Packit for downstream release automation
Responsibilities
Packit is designed to assist maintainers, not to replace them.
Maintainers retain key responsibilities:
- reviewing and merging Packit-created pull requests
- maintaining package quality
- ensuring updates don't break dependant packages
version_update_mask
The default Packit onboarding configuration enables automated releases only for rawhide
.
You can custimize it further either manually or by using the packit dist-git init
command.
When extending the automation to branched Fedoras and EPELs, consider using version_update_mask
, to prevent introducing breaking changes into stable distributions.
- keeping noise low for co-maintainers
upstream_tag_include
and upstream_tag_exclude
If you are not interested in releasing specific versions, you can prevent Packit from creating PRs for them by using upstream_tag_include
or upstream_tag_exclude
configuration options. This helps reduce unnecessary notifications for your co-maintainers.
Monitoring and observability
Track Packit Service activity through:
- the pull request updates, and
- the Packit Dashboard (see more here).
- notifications about errors
Packit Service responds to every valid command in pull requests. Missing response indicates:
- Incorrect command syntax
- Packit Service outage
Check service status at our status page.
Pull requests, Koji builds and Bodhi updates are created by Packit FAS account, making it the default notification recipient.
To stay informed about Packit-triggered activities in the Fedora ecosystem, configure notification settings accordingly.
There is an open issue for Bodhi update notifications.
Recovery procedures
Service-based retriggering
Each job configured in packit.yml
can be retriggered via dist-git pull request comments. See the complete list of commands.
Manual CLI Operations
During service outages, maintain workflow using Packit CLI:
- Install Packit CLI
- Configure required tokens
- Verify setup (if not already working in service):
- Follow dist-git onboarding guide
- Validate config with
packit validate-config
Troubleshooting Issues
Missing pull request for release:
Use packit pull-from-upstream
when release-monitoring detects updates but pull requests aren't created.
Missing Koji build:
The release pull request is merged (and contains a change in the version value) but a Koji build isn't triggered.
- Check
allowed_pr_authors
- Trigger build manually with
packit build in-koji
(and specify dist-git branches if needed)
When using Packit CLI to create pull requests, ensure your FAS account is added to the allowed_pr_authors
list to trigger Koji builds automatically. This enables the expected build workflow for maintainer-created pull requests.
Missing Bodhi update:
The Koji build is created but there is no Bodhi update.
- Packit does not create Bodhi updates for
rawhide
, they are automatically created by Bodhi. - Verify
allowed_builders
- Create manually using
packit create-update
For updates on non-rawhide branches, verify your FAS account is included in the allowed_builders
list. When submitting Koji builds via Packit CLI, automatic Bodhi update creation requires your FAS account to be explicitly authorized in this configuration.
Customization options
Packit should work out of the box with the simple package structures (e.g. non-complex spec files), but can be customised for more complicated use cases as well.
- Actions/hooks
- Reference configuration examples
Changelogs
Customize changelog generation following these examples
Sidetags - releasing multiple packages in a single update
Follow this guide to enable builds in sidetags.
Ecosystem Awareness
Before adoption, review similar packages in the same ecosystem for best practices and configuration patterns. Find real life examples using sourcegraph.com: follow this example query.