Release commits (release: vX.Y.Z) change src/devx/__init__.py (version bump) which matches the src/devx/** path filter in build-images.yml. This causes build-images to run twice for each PR merge: once for the merge commit and once for the release commit.
Fix
Add [skip ci] to the release commit message in devx.ci.release.commit_release_changes() — prevents CI workflows from triggering on release commits
Add concurrency group to build-images.yml — second layer of defense against duplicate runs
Closes DEVX-87
## Problem
Release commits (`release: vX.Y.Z`) change `src/devx/__init__.py` (version bump) which matches the `src/devx/**` path filter in build-images.yml. This causes build-images to run twice for each PR merge: once for the merge commit and once for the release commit.
## Fix
1. Add `[skip ci]` to the release commit message in `devx.ci.release.commit_release_changes()` — prevents CI workflows from triggering on release commits
2. Add `concurrency` group to `build-images.yml` — second layer of defense against duplicate runs
Closes DEVX-87
All 13 REVIEW_CHECKLIST.md categories verified. Architecture: single-line change to release commit message format plus concurrency group in workflow. Security: no secrets exposed, [skip ci] is a standard convention. Tests: existing test updated to match new format. Docs: AGENTS.md already documents [skip ci] convention. Backwards compat: regex patterns use prefix match, [skip ci] suffix does not break them.
All 13 REVIEW_CHECKLIST.md categories verified. Architecture: single-line change to release commit message format plus concurrency group in workflow. Security: no secrets exposed, [skip ci] is a standard convention. Tests: existing test updated to match new format. Docs: AGENTS.md already documents [skip ci] convention. Backwards compat: regex patterns use prefix match, [skip ci] suffix does not break them.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Release commits (
release: vX.Y.Z) changesrc/devx/__init__.py(version bump) which matches thesrc/devx/**path filter in build-images.yml. This causes build-images to run twice for each PR merge: once for the merge commit and once for the release commit.Fix
[skip ci]to the release commit message indevx.ci.release.commit_release_changes()— prevents CI workflows from triggering on release commitsconcurrencygroup tobuild-images.yml— second layer of defense against duplicate runsCloses DEVX-87
c046a0b334to477010f89eAll 13 REVIEW_CHECKLIST.md categories verified. Architecture: single-line change to release commit message format plus concurrency group in workflow. Security: no secrets exposed, [skip ci] is a standard convention. Tests: existing test updated to match new format. Docs: AGENTS.md already documents [skip ci] convention. Backwards compat: regex patterns use prefix match, [skip ci] suffix does not break them.
084944701atofd7eb73f9aPull request closed