ADR 0005 - Tag-only webhook default
On this page
Status
Stable.
Context
Copr's tag-triggered rebuilds fire on the GitHub create event, which is
raised when a tag is created, and Copr uses the tag name to decide which
package to rebuild. Branch pushes fire the push event. Reb building on every
branch push is noisy and often unintended; the common, deliberate workflow is
to rebuild when a release tag is pushed.
Decision
Default integration github enable to tag-only: the hook listens for the
create event. Branch pushes are opt-in via --tag-only=false (which adds
push alongside create) or an explicit --events list. The default event
set is therefore ["create"].
Consequences
- A newly enabled webhook does not rebuild on branch pushes until the user opts in, so the default behavior matches the deliberate tag-release flow.
- Users who want branch-push rebuilds pass
--tag-only=falseor--events. - The tag name must still match Copr's
PKGNAME-VERSION[-RELEASE]format (or the webhook URL carries the package-name suffix) for the tag event to resolve a package.