Files
computer-playbook/scripts/github
kevinveenbirkenbachandClaude Opus 5 474aaf7bfe fix(ci): cancel superseded runs the group leaves behind
A long orchestrator sweep sometimes survives its concurrency group: the occupant sits on queued while its matrix waits for runners, cancel-in-progress does not reap it, and the newer run parks on pending until someone cancels the sweep by hand. PR #380 sat that way for nine hours behind a run from the previous commit.

entry-cancel-superseded.yml cancels those leftovers through the API. The group stays primary and untouched: it reaps within seconds and needs no runner, so the fallback normally arrives to find nothing left to do. It carries no concurrency group of its own, because the run holding a group cannot be the run that frees it.

Selection mirrors what the group would have done: cancel every matched run except the newest in the group instance, keyed the way the group is keyed. Not by head SHA, which goes stale while the job waits for a runner and would cancel the newest commit's CI while sparing the stale one. INCLUDE_PATHS keeps the sweep inside the group's own members, so a push to main cannot take the cron workflows with it.

deleted_branch_runs.sh becomes branch_runs.sh, since it now also serves live branches, and the shared parts move to lib.sh. A rejected cancel is logged and the remaining runs are still attempted; only a denied token fails the job.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-25 16:29:11 +02:00
..
…
…

GitHub Workflow Helpers 🔧

This directory holds the shell helpers that GitHub Actions workflows under .github/workflows/ call. Helpers are grouped by responsibility into subfolders so each workflow file pulls only from the clusters it actually needs.

Subfolders 🗂️

Subfolder Responsibility
runner/ Host-runner hygiene around image builds and deploys (disk, swap, Docker daemon, diagnostics).
cancel/ Cancellation of in-progress workflow runs on PR-close and branch-delete events.
cleanup/ Scheduled repository maintenance that prunes stale GitHub resources.
resolve/ Derivation of structured workflow inputs and outputs from repository state.
sync/ Ref synchronization before workflow jobs derive CI scope from git history.
update/ The scheduled 🔄 Update versions pipeline (version bumps and PR open/refresh).
release/ Release-time gates that decide whether a tagged commit may be released.

A new helper MUST live in the subfolder that matches its responsibility. New responsibilities MAY motivate a new subfolder, but MUST NOT flatten back into the top level.

For the workflow catalog see workflows.md. For the repository Make target index see make.md.