From fce4b765b7882337cdaa913c2c66ef58dde0df60 Mon Sep 17 00:00:00 2001 From: Michel de Graaf Date: Sat, 25 Jul 2026 03:43:34 +0200 Subject: [PATCH] fix(ci): make the manual tag input actually reach the recovery jobs The `tag` dispatch input exists so binaries and the homebrew formula can be rebuilt for a tag that already shipped. It never worked: the job-level conditions read `inputs.tag`, which is empty in a job `if` on workflow_dispatch, and `null != ''` coerces to false, so both jobs silently skipped. That is why v7.0.0 reached crates.io with an empty homebrew tap. The step-level condition used the same expression and did fire, which is what made the two disagree. `github.event.inputs.tag` is populated in both places. --- .github/workflows/release.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index db2ad6c..eac8a59 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -135,7 +135,10 @@ jobs: binaries: name: ${{ matrix.target }} needs: release - if: needs.release.outputs.created == 'true' || inputs.tag != '' + # `github.event.inputs`, not `inputs`: the latter is empty in a job-level + # condition on workflow_dispatch, and `null != ''` coerces to false, which + # silently skipped this job on every manual recovery run. + if: needs.release.outputs.created == 'true' || github.event.inputs.tag != '' runs-on: ${{ matrix.os }} strategy: # One flaky cross-linker must not hold back the five targets that built. @@ -192,7 +195,7 @@ jobs: homebrew: name: Homebrew tap needs: [release, binaries] - if: needs.release.outputs.created == 'true' || inputs.tag != '' + if: needs.release.outputs.created == 'true' || github.event.inputs.tag != '' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4