Skip to content

JGC-499 - Remove concurrency from reusable test suites#3549

Merged
ehl-jf merged 1 commit into
masterfrom
JGC-499-fix-reusable-concurrency
Jun 17, 2026
Merged

JGC-499 - Remove concurrency from reusable test suites#3549
ehl-jf merged 1 commit into
masterfrom
JGC-499-fix-reusable-concurrency

Conversation

@ehl-jf

@ehl-jf ehl-jf commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes the post-merge Build Gate run on master (#3535), where only frogbot ran and build-gate-success failed immediately because every test suite was cancelled before starting.

Root cause

Each reusable suite still declared its own:

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.ref }}
  cancel-in-progress: true

When a workflow is invoked via workflow_call, github.workflow resolves to the caller (Build Gate), so all 25 suites and the parent run compute the same concurrency group. With cancel-in-progress: true they cancelled one another (and collided with the parent) before starting. frogbot survived only because it has no concurrency block. With all suites cancelled, build-gate-success (if: always()) ran and failed on contains(needs.*.result, 'cancelled').

Fix

Remove the concurrency: block from the 25 reusable suite workflows. The orchestrator (build-gate.yml) keeps its own concurrency, which already supersedes older runs per PR/branch — so cancellation behaviour is preserved without the self-collision.

Validation

  • All 25 suite files parse as valid YAML.
  • Deletions only (105 deletions(-)); no logic changed.

When invoked via workflow_call, each suite's `concurrency` group resolves
using the caller's context (github.workflow = "Build Gate"), so all suites
and the parent run share one identical group. With cancel-in-progress: true
they cancelled each other before starting, leaving only frogbot (which has
no concurrency block) to run and making build-gate-success fail on cancelled
needs. The orchestrator's own concurrency already supersedes older runs per
PR/branch, so the per-suite blocks are removed.
@ehl-jf ehl-jf added the ignore for release Automatically generated release notes label Jun 17, 2026
@ehl-jf ehl-jf merged commit 0131a67 into master Jun 17, 2026
7 of 8 checks passed
@ehl-jf ehl-jf deleted the JGC-499-fix-reusable-concurrency branch June 17, 2026 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ignore for release Automatically generated release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant