CI: concurrency groups, no cancel on tag/dispatch #71

Merged
libby merged 3 commits from libby/ci-concurrency into main 2026-11-10 17:40:14 +00:00
2 changed files with 14 additions and 2 deletions

View file

@ -8,6 +8,12 @@ on:
pull_request:
workflow_dispatch:
concurrency:
# A newer push or PR update replaces the older run on the same ref. Tag pushes and
# workflow_dispatch runs are never cancelled: a tag run carries a release.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' || (github.event_name == 'push' && !startsWith(github.ref, 'refs/tags/')) }}
jobs:
reactive-and-resource-lifetime:
name: ${{ matrix.os }} reactive semantics and leases
@ -92,8 +98,8 @@ jobs:
--logger "console;verbosity=minimal"
# The TypeScript side of the CultMesh authority rules. This job is the
# only one that runs on both Windows and Linux for main, codex/** and
# pull requests: cultnet-interop.yml is windows-latest and main-only, so
# only one that runs on Linux for main, codex/** and pull requests (and on
# Windows too under workflow_dispatch): cultnet-interop.yml is windows-latest and dispatch-only, so
# until these steps existed the shared verifier's tests never ran on
# Linux at all, and the browser client's never ran in CI on any OS.
# packages/cultnet-ts verifies both vector files (content.test.ts judges both

View file

@ -18,6 +18,12 @@ on:
pull_request:
workflow_dispatch:
concurrency:
# A newer push or PR update replaces the older run on the same ref. Tag pushes and
# workflow_dispatch runs are never cancelled: a tag run carries a release.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' || (github.event_name == 'push' && !startsWith(github.ref, 'refs/tags/')) }}
permissions:
contents: read