Context
After FerrLabs/.github#56 and FerrLabs/FerrFleet-Cloud#202, the release workflow template now has:
concurrency: release-${{ github.ref }} with cancel-in-progress: false — prevents concurrent merges from racing and producing the E2006: tag already exists error.
actions/checkout@v5 (instead of @v6 which drops GITHUB_TOKEN on deep fetch).
Existing repos that copied the template before the patch still have the old release.yml (or inline release job in ci.yml). Each needs the same two-line patch.
Repos to sweep
Patch
# under the release job:
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false
# in the checkout step:
- uses: actions/checkout@v5 # was @v6
Can be done mechanically with a sed sweep + 1 PR per repo. Mergeable as chore(ci): (no semver bump).
Context
After FerrLabs/.github#56 and FerrLabs/FerrFleet-Cloud#202, the release workflow template now has:
concurrency: release-${{ github.ref }}withcancel-in-progress: false— prevents concurrent merges from racing and producing theE2006: tag already existserror.actions/checkout@v5(instead of@v6which dropsGITHUB_TOKENon deep fetch).Existing repos that copied the template before the patch still have the old
release.yml(or inlinereleasejob inci.yml). Each needs the same two-line patch.Repos to sweep
release.yml)Patch
Can be done mechanically with a sed sweep + 1 PR per repo. Mergeable as
chore(ci):(no semver bump).