diff --git a/.github/workflows/node-github-release.yml b/.github/workflows/node-github-release.yml index d8552b35..d176ce6e 100644 --- a/.github/workflows/node-github-release.yml +++ b/.github/workflows/node-github-release.yml @@ -17,7 +17,7 @@ permissions: concurrency: group: node-github-release - queue: max + cancel-in-progress: false jobs: release: diff --git a/.github/workflows/node-release-cut.yml b/.github/workflows/node-release-cut.yml index 6edec563..2b96ffb2 100644 --- a/.github/workflows/node-release-cut.yml +++ b/.github/workflows/node-release-cut.yml @@ -12,7 +12,7 @@ permissions: concurrency: group: node-release-cut - queue: max + cancel-in-progress: false jobs: cut: diff --git a/.github/workflows/node-release.yml b/.github/workflows/node-release.yml index 84ef6889..0f5ce6e7 100644 --- a/.github/workflows/node-release.yml +++ b/.github/workflows/node-release.yml @@ -8,7 +8,7 @@ on: concurrency: group: ${{ github.workflow }} - queue: max + cancel-in-progress: false jobs: verify: diff --git a/sdk/typescript/tests-ts/release-automation.test.ts b/sdk/typescript/tests-ts/release-automation.test.ts index 7c4a4b6a..b354f996 100644 --- a/sdk/typescript/tests-ts/release-automation.test.ts +++ b/sdk/typescript/tests-ts/release-automation.test.ts @@ -2046,13 +2046,15 @@ describe("GitHub release workflow safeguards", () => { ); }); - test("durably queues every release-cut and protected publishing run", () => { + test("serializes release-cut and protected publishing without canceling active runs", () => { expect(releaseCutWorkflow).toMatch( - /concurrency:\s*\n\s+group: node-release-cut\s*\n\s+queue: max/u, + /concurrency:\s*\n\s+group: node-release-cut\s*\n\s+cancel-in-progress: false/u, ); expect(protectedReleaseWorkflow).toMatch( - /concurrency:\s*\n\s+group: \$\{\{ github\.workflow \}\}\s*\n\s+queue: max/u, + /concurrency:\s*\n\s+group: \$\{\{ github\.workflow \}\}\s*\n\s+cancel-in-progress: false/u, ); + expect(releaseCutWorkflow).not.toMatch(/^\s+queue:/mu); + expect(protectedReleaseWorkflow).not.toMatch(/^\s+queue:/mu); }); test("dispatches GitHub releases after publishing with isolated permissions", () => { @@ -2111,8 +2113,9 @@ describe("GitHub release workflow safeguards", () => { test("serializes every GitHub release and historical backfill", () => { expect(githubReleaseWorkflow).toMatch( - /concurrency:\s*\n\s+group: node-github-release\s*\n\s+queue: max/u, + /concurrency:\s*\n\s+group: node-github-release\s*\n\s+cancel-in-progress: false/u, ); + expect(githubReleaseWorkflow).not.toMatch(/^\s+queue:/mu); expect(githubReleaseWorkflow).not.toContain( "group: node-github-release-${{", );