-
-
Notifications
You must be signed in to change notification settings - Fork 0
Description
🤖 This is an automated pull request from Repo Assist.
Summary
Adds a concurrency group to release.yml to serialize release-please executions and prevent parallel runs when multiple commits land on main in quick succession (e.g., batched Dependabot updates).
Problem
ci.yml has had concurrency control since PR #178, but release.yml has never had this treatment. When Dependabot merges multiple dependency bumps on the same day (e.g., PRs #191 and #194), each merge triggers a separate release workflow run. Without a concurrency group, both runs execute simultaneously and may conflict over the release-please manifest file.
This fix was also suggested by the CI Coach agentic workflow in issues #200 and #203.
Change
Added a concurrency block with:
group: $\{\{ github.workflow }}-$\{\{ github.ref }}— unique per workflow + branchcancel-in-progress: false— queue rather than cancel runs, so every commit is evaluated
Unlike CI workflows (where cancelling stale runs speeds up feedback), the release workflow should never skip a commit — that would silently drop changelog entries and version bumps. Queuing ensures correctness.
Impact
- Compute: Eliminates duplicate parallel release-please runs (~1–2 min each)
- Correctness: Prevents potential manifest conflicts under rapid push scenarios
- Risk: Low — additive change, no runs are dropped
Test Status
- ✅ TypeScript compile: passes (
npm run compile) - ✅ Lint: passes (
npm run lint) - ℹ️ This is a workflow YAML change; runtime testing requires observing the next batch of Dependabot merges
Generated by Repo Assist · ◷
To install this agentic workflow, run
gh aw add githubnext/agentics/workflows/repo-assist.md@b466f28f0f65b68d6f2b10b15b44f51d787b93be
Warning
⚠️ Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
releaseassets.githubusercontent.com
To allow these domains, add them to the network.allowed list in your workflow frontmatter:
network:
allowed:
- defaults
- "releaseassets.githubusercontent.com"See Network Configuration for more information.
Note
This was originally intended as a pull request, but the git push operation failed.
Workflow Run: View run details and download patch artifact
The patch file is available in the agent-artifacts artifact in the workflow run linked above.
To create a pull request with the changes:
# Download the artifact from the workflow run
gh run download 23091840887 -n agent-artifacts -D /tmp/agent-artifacts-23091840887
# Create a new branch
git checkout -b repo-assist/ci-release-concurrency-200-a7e933dff39bf885
# Apply the patch (--3way handles cross-repo patches where files may already exist)
git am --3way /tmp/agent-artifacts-23091840887/aw-repo-assist-ci-release-concurrency-200.patch
# Push the branch to origin
git push origin repo-assist/ci-release-concurrency-200-a7e933dff39bf885
# Create the pull request
gh pr create --title '[Repo Assist] ci: add concurrency group to release workflow' --base main --head repo-assist/ci-release-concurrency-200-a7e933dff39bf885 --repo askpt/code-metricsShow patch (41 lines)
From 61845008705252c8ba2378262f11c1219ead0fdc Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Sat, 14 Mar 2026 16:33:43 +0000
Subject: [PATCH] ci: add concurrency group to release workflow
Serialize release-please executions to prevent parallel runs
when multiple commits land on main in quick succession (e.g.,
batched Dependabot updates).
Using cancel-in-progress: false to queue rather than cancel,
ensuring every commit is evaluated by release-please and no
changelog entries are silently dropped.
Closes #200
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.github/workflows/release.yml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index f27dc00..58f0e31 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -5,6 +5,12 @@ on:
branches:
- main
+# Serialize release runs so rapid pushes to main don't create parallel
+# release-please executions that could conflict over manifest state.
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: false
+
jobs:
release-please:
timeout-minutes: 5
--
2.53.0