Fix/release concurrency group between unit and integration#256
Conversation
`release.yml` calls the reusable `run_tests.yml` twice in the same run
(once for `marker: 'not integration'`, once for `marker: 'integration'`).
Both call sites computed the same concurrency group
(`${{ github.workflow }}-${{ github.ref }}` resolves identically when the
caller workflow and branch are the same), so whichever job started second
cancelled the first via `cancel-in-progress: true`. With one of the test
jobs in `cancelled`, the `release` job's `needs:` couldn't satisfy and
publication was skipped.
Adding `inputs.marker` to the group key gives each call a distinct
concurrency lane so unit and integration runs no longer cancel each other.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe workflow concurrency group is updated to include the ChangesCI Configuration
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Why
release.ymlcalls the reusablerun_tests.ymltwice in the same run — once formarker: 'not integration', once formarker: 'integration'. Both call sites computed the same concurrency group key (${{ github.workflow }}-${{ github.ref }}resolves identically when the caller workflow and branch are the same), so whichever test job started second cancelled the first viacancel-in-progress: true.That left one of the two test jobs in
cancelled, which meant thereleasejob'sneeds: [prepare, test-unit, test-integration]could not be satisfied and publication was skipped. The v3.4.0 attempt at https://github.com/GetStream/stream-py/actions/runs/26415677026 is an example — allTest (integration)jobs cancelled the momentTest (unit)started.Including
inputs.markerin the group key gives each call its own concurrency lane, so unit and integration runs no longer cancel each other.The PR title intentionally does not use a conventional-commits prefix (
fix:/feat:), so the auto-release path won't try to bump on merge — the release should be retriggered manually viaworkflow_dispatchafter this lands.Summary by CodeRabbit