Skip to content

ci: stop a merge from cancelling the proofs - #115

Merged
rrrodzilla merged 1 commit into
mainfrom
ci/114-concurrency-lanes
Jul 31, 2026
Merged

ci: stop a merge from cancelling the proofs#115
rrrodzilla merged 1 commit into
mainfrom
ci/114-concurrency-lanes

Conversation

@rrrodzilla

Copy link
Copy Markdown
Contributor

Closes #114.

Found while dispatching the jobs added in #15. The dispatch was cancelled, and the cause was not the jobs:

23:02:19  30671761040  main  push               (merge of #113)
23:00:24  30671664442  main  workflow_dispatch  cancelled

Both resolve to CI-refs/heads/main under group: ${{ github.workflow }}-${{ github.ref }}, so with cancel-in-progress: true the merge killed the verification run.

This has been latent since fuzz was added, but #15 made it bite: kani and miri are the longest jobs in the file, so the window in which a merge can kill them is minutes wide, and the weekly schedule fires at a fixed time regardless of what else is landing. Worse, it fails silently — a cancelled run is not a red X anyone chases, so the proofs would have stopped running without anyone noticing.

Adding github.event_name to the group gives each event type its own lane. The behaviour worth keeping is kept: push again to a pull request and the previous run for that branch still goes away.

Concurrency was grouped by workflow and ref only, so a scheduled run and a
push to main both landed in CI-refs/heads/main and an ordinary merge cancelled
whatever was in flight. Observed while dispatching the new jobs: the push from
merging #113 at 23:02:19 cancelled the workflow_dispatch run started at
23:00:24.

Latent since fuzz was added, and made much worse by #15: kani and miri are the
longest jobs in the file, so the window in which a merge can kill them is
minutes wide, and the weekly schedule fires regardless of what else is landing.
It fails silently, too — a cancelled run is not a red X anyone chases, so the
proofs would have quietly stopped running.

Adding the event name gives each event type its own lane. Cancelling superseded
runs of the same event still happens, which is the part worth keeping: push
again to a pull request and the previous run for that branch goes away.

Closes #114
@rrrodzilla
rrrodzilla merged commit cc3fd6f into main Jul 31, 2026
13 checks passed
@rrrodzilla
rrrodzilla deleted the ci/114-concurrency-lanes branch July 31, 2026 23:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scheduled verification jobs are cancelled by any push to main

1 participant