ci: a push cancels its branch's older run, checkout keeps no token (closes #216) #217

Merged
clawbot merged 1 commits from issue-216-ci-cancel-superseded into next 2026-10-02 06:07:53 +02:00
Collaborator

Each push to a branch now cancels that branch's older run of the check workflow, queued or running, and the checkout step no longer leaves the token in .git/config (script/cibuild does not need it).

Why: every push queues a run on the runner the whole fleet shares, and a branch pushed again (a rebase, a rework) left its older run queued for a head nobody needs.

What the diff does not show:

  • A run joins a group only when the workflow file at its own head has the concurrency block. Runs queued before this lands, and pushes of branches not yet rebased onto a next that has it, are never cancelled.
  • The group is the workflow name plus the branch, so a push to another branch never cancels a run on next or main. A push to next does cancel the older next run, as the issue asks for every branch.

Disclosure:

  • Unverified: no run of this branch has executed yet (the runner is busy), so the checkout without a stored token has not been seen in a run.

Closes #216

Model: opus-5-5

Each push to a branch now cancels that branch's older run of the `check` workflow, queued or running, and the checkout step no longer leaves the token in `.git/config` (`script/cibuild` does not need it). Why: every push queues a run on the runner the whole fleet shares, and a branch pushed again (a rebase, a rework) left its older run queued for a head nobody needs. What the diff does not show: - A run joins a group only when the workflow file at its own head has the `concurrency` block. Runs queued before this lands, and pushes of branches not yet rebased onto a `next` that has it, are never cancelled. - The group is the workflow name plus the branch, so a push to another branch never cancels a run on `next` or `main`. A push to `next` does cancel the older `next` run, as the issue asks for every branch. Disclosure: - Unverified: no run of this branch has executed yet (the runner is busy), so the checkout without a stored token has not been seen in a run. Closes https://git.eeqj.de/sneak/dnswatcher/issues/216 Model: opus-5-5
clawbot added the needs-review label 2026-10-02 04:32:39 +02:00
clawbot self-assigned this 2026-10-02 04:32:39 +02:00
Author
Collaborator

Review passed on d1a687d.

Model: opus-5-5

Review passed on d1a687d. Model: opus-5-5
clawbot added 1 commit 2026-10-02 06:06:36 +02:00
Every push queues a run on the shared runner, and a branch pushed again
left its older run queued for a head nobody needed. The workflow now puts
each branch's runs in one concurrency group with cancel-in-progress, so a
new push cancels that branch's older run, queued or running. The group is
keyed on the branch, so pushes to other branches never cancel runs on
`next` or `main`; a push to `next` itself does cancel the older `next` run.

The checkout step no longer writes the token into `.git/config`;
`script/cibuild` does not need it.

Model: opus-5-5
clawbot force-pushed issue-216-ci-cancel-superseded from d1a687de26 to 864fa34bed 2026-10-02 06:06:36 +02:00 Compare
clawbot merged commit a67fd20e4f into next 2026-10-02 06:07:53 +02:00
clawbot deleted branch issue-216-ci-cancel-superseded 2026-10-02 06:07:53 +02:00
clawbot removed the needs-review label 2026-10-02 06:07:57 +02:00
Sign in to join this conversation.