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.
This commit is contained in:
@@ -135,7 +135,10 @@ jobs:
|
|||||||
binaries:
|
binaries:
|
||||||
name: ${{ matrix.target }}
|
name: ${{ matrix.target }}
|
||||||
needs: release
|
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 }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
# One flaky cross-linker must not hold back the five targets that built.
|
# One flaky cross-linker must not hold back the five targets that built.
|
||||||
@@ -192,7 +195,7 @@ jobs:
|
|||||||
homebrew:
|
homebrew:
|
||||||
name: Homebrew tap
|
name: Homebrew tap
|
||||||
needs: [release, binaries]
|
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
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|||||||
Reference in New Issue
Block a user