Skip to content

Keep release.sh's DRY_RUN out of the release checks - #844

Merged
robzolkos merged 1 commit into
mainfrom
rz/release-dry-run-clash
Oct 7, 2026
Merged

robzolkos merged 1 commit into
mainfrom
rz/release-dry-run-clash

Conversation

@robzolkos

@robzolkos robzolkos commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

make release VERSION=x.y.z fails its pre-flight checks before tagging. The release target runs DRY_RUN=$(DRY_RUN) scripts/release.sh, so release.sh has DRY_RUN=false in its environment, and it runs make release-check with that still exported. test-sync-skills (added in #708, after v0.11.0) reads a DRY_RUN of its own for scripts/sync-skills.sh, accepts only unset, local or remote, and refuses false:

not ok - sync as hey-cli succeeded
    ERROR: DRY_RUN must be unset, 'local' or 'remote', not 'false'

Running make release-check on its own passes, which is why this only shows up at release time. v0.12.0 hit it and was cut by running scripts/release.sh 0.12.0 directly, where DRY_RUN is a shell variable rather than an exported one.

Solution

release.sh runs the checks as env -u DRY_RUN make release-check. Its own DRY_RUN keeps working for the steps it gates (Nix update, plugin stamp, tag, push).

With DRY_RUN=false exported as make release does, make test-sync-skills fails 20 assertions before this change and none after.

🤖 Generated with Claude Code


Summary by cubic

Fixes make release failing its pre-flight checks right before tagging. make release exports DRY_RUN=false into release.sh, which passed it on to make release-check; test-sync-skills reads that variable and only accepts unset, local, or remote, so false aborted the run. Checks now run as env -u DRY_RUN make release-check. release.sh's own DRY_RUN still controls the Nix update, plugin stamp, tag, and push steps.

Written for commit 8215a0e. Summary will update on new commits.

Review in cubic

make release hands scripts/release.sh DRY_RUN=false, and release.sh ran
make release-check with it still exported. test-sync-skills reads a
DRY_RUN of its own and accepts only unset, local or remote, so every
make release failed its checks before tagging. Run the checks without
it.
@robzolkos
robzolkos requested a review from a team as a code owner October 6, 2026 01:22
Copilot AI balanced review requested due to automatic review settings October 6, 2026 01:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

Re-trigger cubic

@robzolkos
robzolkos merged commit 58b48d0 into main Oct 7, 2026
30 of 31 checks passed
@robzolkos
robzolkos deleted the rz/release-dry-run-clash branch October 7, 2026 17:30
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.

2 participants