From db3bf2d770b8f0f9705ed87bea413dc48d9aaa6d Mon Sep 17 00:00:00 2001 From: soul Date: Mon, 9 Nov 2026 22:58:46 +0000 Subject: [PATCH 1/3] CI: concurrency groups on cultmesh-portability and quic-native The capacity-1 forge runner is flooded by superseded pushes. Group per workflow + ref; cancel-in-progress only for pull_request and non-tag push. Tag pushes (quic-native release) and workflow_dispatch are never cancelled. publish-packages (tags + dispatch) and cultnet-interop (dispatch only) get none: every run of theirs is a release or a manual probe. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/cultmesh-portability.yml | 6 ++++++ .github/workflows/quic-native.yml | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/.github/workflows/cultmesh-portability.yml b/.github/workflows/cultmesh-portability.yml index a346a410..4d4f66fe 100644 --- a/.github/workflows/cultmesh-portability.yml +++ b/.github/workflows/cultmesh-portability.yml @@ -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 diff --git a/.github/workflows/quic-native.yml b/.github/workflows/quic-native.yml index e9d6a3eb..6a4c9cdf 100644 --- a/.github/workflows/quic-native.yml +++ b/.github/workflows/quic-native.yml @@ -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 -- 2.47.3 From d969ff1b1e464ff67c3a166b09ebf51c35431f5f Mon Sep 17 00:00:00 2001 From: soul Date: Mon, 9 Nov 2026 23:26:25 +0000 Subject: [PATCH 2/3] CI: fix stale Windows comment in cultmesh-portability Windows is workflow_dispatch only and cultnet-interop is dispatch-only. Also a newer push on the PR ref: tests that concurrency cancels the older waiting run. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/cultmesh-portability.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cultmesh-portability.yml b/.github/workflows/cultmesh-portability.yml index 4d4f66fe..7ef2d543 100644 --- a/.github/workflows/cultmesh-portability.yml +++ b/.github/workflows/cultmesh-portability.yml @@ -98,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 -- 2.47.3 From a605eb5e36e1104d90870bde556518abbf10ec2f Mon Sep 17 00:00:00 2001 From: Libby Date: Tue, 10 Nov 2026 00:46:05 +0000 Subject: [PATCH 3/3] CI: retrigger (runs 952/953 died at checkout: forge name did not resolve) Co-Authored-By: Claude Sonnet 5.5 -- 2.47.3