Run CI on an issue branch through its pull request alone (#1033) #1072
No reviewers
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo!1072
Loading…
Reference in a new issue
No description provided.
Delete branch "1033-ci-triggers"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The push filter in ci.yml and every-python.yml was "[0-9]", written for
release branches (0.3.0). Since every issue got a branch named after its
number (#940) the glob matched them all, so one push to an issue branch
started CI on push, CI again on pull_request for the same commit, and
both Every Python legs: 122 runner-minutes on a two-slot runner where 48
test exactly as much. The filter is now "[0-9].[0-9].[0-9]", which a
release branch matches and no issue branch does. main keeps its push
run, which the release gate and the dev image's wait-ci read as (push)
statuses; pull requests run as before.
Both workflows gain a concurrency block, in the form dev-image.yml
already uses, so a newer push to the same pull request or branch cancels
the run it supersedes. main is never cancelled: on main the group is
keyed on the commit, and every group carries the event, so the weekly
run cannot cancel a push run of the same commit either.
CONTRIBUTING.md says to open the pull request when the branch is pushed,
as a draft (WIP:) if unfinished, and why. Two tests pin the filters and
the guard on main.
Item 1 of the issue; the others are separate work.
Refs #1033
Notes for review
Refs #1033."[0-9]*"→"[0-9]*.[0-9]*.[0-9]*"inci.ymlandevery-python.yml, exactly the issue's change. Pushes to release branches andmainstill run CI; an issue branch is checked through its pull request alone, which halves the runs per push.cancel-in-progress: true.mainis keyed by commit SHA, so none of its runs are ever cancelled.concurrency.group. A second push to a PR should cancel the older run, and two pushes tomainshould both complete.WIP:draft if the work is unfinished, because that is how it gets CI.🤖 Generated with Claude Code
1b12b55209fec2ac6cbd