From 8076a5c1a1214972633c0c91378cd2261004177d Mon Sep 17 00:00:00 2001 From: synchwire Date: Wed, 8 Apr 2026 23:25:42 +0100 Subject: [PATCH] fix: install cargo-semver-checks correctly when skip_semver_checks is false MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The conditional added in ae50ddb to skip the install when semver checks are disabled was if: ${{ inputs.skip_semver_checks == 'false' }} `inputs.skip_semver_checks` is declared `type: boolean` on the workflow_call inputs, so the value flowing in is a JS-style boolean, not a string. In GitHub Actions expression syntax, comparing a boolean to a string with `==` coerces the boolean to a number (false → 0, true → 1) and parses the string as a number (`'false'` → NaN). Both `0 == NaN` and `1 == NaN` evaluate to false, so the conditional is *always* false regardless of what the caller passes — meaning the install step is always skipped. The next step (`Prepare release`) then explodes when `holochain_release_util prepare` invokes `cargo semver-checks` and the binary isn't on PATH. The minimal fix is to evaluate the boolean directly: if: ${{ !inputs.skip_semver_checks }} This installs the tool when `skip_semver_checks` is false (the default) and skips the install when it's true, which matches the intent of the original commit message. Tested by inspection of the GitHub Actions expression docs on loose-equality coercion. Reproduced as a CI failure on holochain/holochain-wasmer at https://github.com/holochain/holochain-wasmer/actions/runs/24160654985/job/70510871869 where the prepare run on v1.7.0 dies with `cargo semver-checks command failed with status: exit status: 101` and the underlying "no such command: 'semver-checks'" error from cargo. --- .github/workflows/prepare-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index b433002..8c3d71c 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -69,7 +69,7 @@ jobs: - name: Install cargo-semver-checks uses: taiki-e/install-action@v2 - if: ${{ inputs.skip_semver_checks == 'false' }} + if: ${{ !inputs.skip_semver_checks }} with: tool: cargo-semver-checks@0.46.0