diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cac3b358961..724a524e4ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ permissions: contents: read concurrency: - group: ${{ github.event_name == 'pull_request' && format('{0}-v3-{1}', github.workflow, github.event.pull_request.number) || (github.repository == 'openclaw/openclaw' && format('{0}-v3-{1}', github.workflow, github.ref) || format('{0}-v3-{1}-{2}', github.workflow, github.ref, github.sha)) }} + group: ${{ github.event_name == 'pull_request' && format('{0}-v4-{1}', github.workflow, github.event.pull_request.number) || (github.repository == 'openclaw/openclaw' && format('{0}-v4-{1}', github.workflow, github.ref) || format('{0}-v4-{1}-{2}', github.workflow, github.ref, github.sha)) }} cancel-in-progress: true env: diff --git a/docs/ci.md b/docs/ci.md index ea3478cc290..33feda79379 100644 --- a/docs/ci.md +++ b/docs/ci.md @@ -56,7 +56,7 @@ On pushes, the `checks` matrix adds the push-only `compat-node22` lane. On pull The slowest Node test families are split or balanced so each job stays small: channel contracts split registry and core coverage into eight weighted shards each, auto-reply reply tests split by prefix group, and agentic gateway/plugin configs are spread across the existing source-only agentic Node jobs instead of waiting on built artifacts. `check-additional` keeps package-boundary compile/canary work together and separates it from runtime topology gateway/architecture work; the boundary guard shard runs its small independent guards concurrently inside one job, and the gateway watch regression uses the minimal `gatewayWatch` build profile instead of rebuilding the full CI artifact sidecar set. GitHub may mark superseded jobs as `cancelled` when a newer push lands on the same PR or `main` ref. Treat that as CI noise unless the newest run for the same ref is also failing. Aggregate shard checks use `!cancelled() && always()` so they still report normal shard failures but do not queue after the whole workflow has already been superseded. -The CI concurrency key is versioned (`CI-v3-*`) so a GitHub-side zombie in an old queue group cannot indefinitely block newer main runs. +The CI concurrency key is versioned (`CI-v4-*`) so a GitHub-side zombie in an old queue group cannot indefinitely block newer main runs. ## Runners