Skip to content

chore(release): refresh local binary as a final release step#31

Merged
kevinkod merged 1 commit intomainfrom
chore/release-refresh-local-binary
May 2, 2026
Merged

chore(release): refresh local binary as a final release step#31
kevinkod merged 1 commit intomainfrom
chore/release-refresh-local-binary

Conversation

@kevinkod
Copy link
Copy Markdown
Contributor

@kevinkod kevinkod commented May 2, 2026

Summary

Adds step 11 to the release skill: after the GitHub Actions workflow turns green, run specflow self-update (or fall back to a manual replace when the bug we just fixed is self-update itself) so ~/.local/bin/specflow ends up on the version we just published.

Why

The release workflow publishes to GitHub Releases — it does not push to Kevin's machine. The only auto-update channel is specflow self-update invoked locally. Skipping that step after each release silently leaves the local install behind, which defeats the qa-tester loop (T0 in the catalogue runs against whatever's on PATH).

Concrete proof this gap was real: v0.7.1 stayed installed through v0.7.2 (which fixed self-update), v0.7.3, and v0.7.4. The next qa-tester dispatch caught it — but only because the abort-BLOCKER triggered before any test ran. The 0.7.1 binary couldn't even self-update past its own bug, so a manual replace of ~/.local/bin/specflow was needed to break the deadlock.

What changed

  • New step 11 in .claude/skills/release/SKILL.md with self-update as the happy path and a checksum-verified manual-replace fallback.
  • New "do not" rule: don't mark a release done before step 11.

No product code touched.

Test plan

  • Skill renders cleanly when read by the main session.
  • Step 11 fallback procedure was just exercised manually (downloaded specflow-macos-arm64 v0.7.4, verified checksum 4394af6d..., replaced ~/.local/bin/specflow, confirmed specflow --version0.7.4).
  • Next release run will exercise the happy path (self-update on an already-fixed binary).

🤖 Generated with Claude Code

Add step 11 to the release skill: after the GitHub Actions workflow
succeeds, run `specflow self-update` (or fall back to a manual replace
when self-update itself is what we just fixed) so the local binary
matches what we just shipped.

The release workflow publishes to GitHub Releases — it does not push
to the local machine. The only auto-update channel is `specflow
self-update` invoked locally, and forgetting to run it after each
release silently leaves the local install behind. v0.7.1 stayed
installed through v0.7.2/0.7.3/0.7.4 until the next qa-tester
dispatch caught the drift.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@kevinkod kevinkod merged commit ac907b5 into main May 2, 2026
4 checks passed
@kevinkod kevinkod deleted the chore/release-refresh-local-binary branch May 2, 2026 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant