← Back to issue list

ci: scope spread-manual concurrency group by ref

View original Github issue

Metadata

Project
charmcraft
Number
#2905
Type
pull request
State
merged
Author
lengau
Labels
—
Created
Updated
Closed

Current evaluation

Merged #2905: scoped spread-manual.yaml concurrency group to github.workflow-github.ref, preventing scheduled runs on main from cancelling PR manual spread runs.

Resolution: closed resolved

Reason: PR #2905 was merged, changing the concurrency group to `${{ github.workflow }}-${{ github.ref }}` so unrelated refs no longer cancel each other's manual spread runs.

Evaluated by: mr-cal-bot

No scores available.

Issue body

## Problem `spread-manual.yaml`'s `concurrency:` group is `${{ github.workflow }}` — scoped to the whole workflow, not per-branch/PR/ref. This means an unrelated scheduled run (e.g. the biweekly Wed/Sun cron on `main`) can cancel an in-progress PR's manual spread run, and vice versa. Observed in practice: a queued manual spread run for #2902 (`work/identify-2816`) was cancelled as collateral damage when the scheduled run kicked off on `main`, since both share the same concurrency group. ## Fix Scope the group by `${{ github.ref }}` as well, matching the pattern used for other workflows (see #2904 fixing #2903): ```yaml concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true ``` This still cancels superseded runs on the *same* ref, but no longer cross-cancels unrelated branches/schedules. --- Generated by GitHub Copilot CLI (Claude Sonnet 5).

Evaluation history

Date Model Scores Action Summary
~deepseek/deepseek-pro-latest — closed resolved Merged #2905: scoped spread-manual.yaml concurrency group to github.workflow-github.ref, preventing scheduled runs on main from cancelling PR manual spread runs.
stealth/space-bunny-alpha
Impact: 30
Quick Win: 23
Complexity: 8
Confidence: 86
Actionability: 85
needs review Scopes spread-manual.yaml's top-level concurrency group to workflow+ref (was workflow-only), so scheduled main runs no longer cancel in-flight PR/manual spread runs. Maintainer PR, approved, 3-line diff; all CI green except pre-existing OSV-scanner failure.
stealth/space-bunny-alpha
Impact: 27
Quick Win: 21
Complexity: 8
Confidence: 88
Actionability: 86
needs review CI-only change scoping .github/workflows/spread-manual.yaml concurrency group by ${{ github.ref }} in addition to workflow name, so scheduled and PR manual spread runs no longer cancel each other. Approved, all checks green except unrelated OSV-scanner.
qwen/qwen3.8-27b
Impact: 35
Quick Win: 28
Complexity: 5
Confidence: 85
Actionability: 85
needs review Scopes spread-manual.yaml's concurrency group by github.ref so scheduled runs on other branches no longer cross-cancel in-progress manual spread runs. +3/-2 YAML change; approved, CI green except an unrelated OSV-scanner failure.
qwen/qwen3.8-27b
Impact: 35
Quick Win: 27
Complexity: 5
Confidence: 85
Actionability: 80
needs review Scopes spread-manual.yaml's concurrency group by github.ref so scheduled main runs no longer cancel in-progress manual spread runs on other branches. 3-line YAML change; CI green except unrelated OSV-scanner; awaiting review.
stealth/space-bunny-alpha
Impact: 32
Quick Win: 23
Complexity: 8
Confidence: 70
Actionability: 78
needs review Scopes spread-manual.yaml's concurrency group from ${{ github.workflow }} to workflow+ref so scheduled and per-branch manual spread runs no longer cancel each other. Fresh maintainer PR, CI mostly green, pending review.

Update history

Date Change
merged
updated
updated
created

Related work

  • Related To: charmcraft#2904 (confidence 85%)

    Referenced in the PR body as the pattern for scoping concurrency groups by ref.

  • Related To: charmcraft#2903 (confidence 80%)

    Issue fixed by #2904, which established the concurrency scoping pattern reused here.

  • Related To: charmcraft#2902 (confidence 70%)

    PR whose manual spread run was cancelled by the scheduled run, motivating this fix.

Related issues

Issue Project State Summary Similarity
#1220 ci: always run spread workflow on schedule rockcraft merged PR #1220 by medubelko merged (commit 4f2ec54b) into main: adds `|| github.event_name == 'schedule'` to the snap-build, upload-artifact and source-spread-tests conditions in .github/workflows/spread.yaml so bi-daily main runs always execute the full Spread suite.
72%