ci: pull_request-only + concurrency (no duplicate runs) #7

Merged
psk merged 1 commit from chore/release-ceremony into master 2026-06-27 21:33:06 +00:00
Owner

Reframes CI around the PR lifecycle so each event triggers exactly one run.

  • ci.ymlpull_request-only (was push: [**] + pull_request, which double-fired on PR'd branch pushes) + concurrency (cancel superseded).
  • release.ymlconcurrency (one release per tag, no mid-upload cancel). Keeps its build-and-test gate.

Follow-up (coupled, needs a release-plz spike): the release-plz Release-PR automation + retiring just release/bump from the justfile.

Reframes CI around the PR lifecycle so each event triggers exactly one run. - **ci.yml** → `pull_request`-only (was `push: [**]` + `pull_request`, which double-fired on PR'd branch pushes) + `concurrency` (cancel superseded). - **release.yml** → `concurrency` (one release per tag, no mid-upload cancel). Keeps its build-and-test gate. Follow-up (coupled, needs a release-plz spike): the release-plz Release-PR automation + retiring `just release`/`bump` from the justfile.
ci: run on pull_request only + add concurrency — kill duplicate runs
All checks were successful
ci / build-and-test (pull_request) Successful in 8m24s
1f0ffadd23
A push to a feature branch that had an open PR fired ci.yml twice (the
`push: ['**']` trigger AND `pull_request`), and a master merge ran ci.yml
while the tag ran release.yml's build-and-test on the same commit.

Reframe CI around the PR lifecycle: ci.yml now triggers on
`pull_request` only — a PR validates its own merge result, and the
release pipeline re-gates on the tag, so nothing needs a separate
per-branch or per-master-push run. Add `concurrency` to both workflows:
ci cancels superseded PR runs; release serializes so a tag can't
build/publish twice in parallel (no cancel — never kill a release
mid-upload).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
psk merged commit 29d5ab2fb1 into master 2026-06-27 21:33:06 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
public/soundy-bits!7
No description provided.