diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3687606..29f4526 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,10 +9,6 @@ on: pull_request: branches: ['**'] -# Superseding a branch run saves the matrix from running twice, but a master run -# must be allowed to finish: the release workflow gates on finding a completed -# CI run for its own commit, and nothing ever pushes that commit again. A -# cancelled run there strands the release until it times out. concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d3fb084..db2ad6c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -128,14 +128,6 @@ jobs: # refuse anything that is not a literal version tag. [[ "$tag" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?$ ]] || { echo "::error::unexpected tag: $tag"; exit 1; } echo "tag=$tag" >> "$GITHUB_OUTPUT" - echo "resolved tag: '$tag'" - - # The downstream jobs gate on these, and a silent empty value here cost - # four release runs, so say them out loud. - - name: Report what the downstream jobs will see - run: | - echo "created = '${{ steps.release-plz.outputs.releases_created }}'" - echo "tag = '${{ steps.tag.outputs.tag }}'" # Attaches downloadable binaries to the release GitHub just created, or to an # existing tag when dispatched manually with `tag` (recovering a target that @@ -143,13 +135,7 @@ jobs: binaries: name: ${{ matrix.target }} needs: release - # `github.event_name` is the one context proven to evaluate here: ci-gate - # uses it and skips correctly on dispatch. `inputs.tag`, - # `github.event.inputs.tag` and `needs.release.outputs.tag` were all tried - # and all left this job skipped, which is how v7.0.0 shipped to crates.io - # with an empty homebrew tap. A dispatch without a tag now fails loudly in - # the checkout below rather than skipping in silence. - if: needs.release.outputs.created == 'true' || github.event_name == 'workflow_dispatch' + if: needs.release.outputs.created == 'true' || inputs.tag != '' runs-on: ${{ matrix.os }} strategy: # One flaky cross-linker must not hold back the five targets that built. @@ -206,7 +192,7 @@ jobs: homebrew: name: Homebrew tap needs: [release, binaries] - if: needs.release.outputs.created == 'true' || github.event_name == 'workflow_dispatch' + if: needs.release.outputs.created == 'true' || inputs.tag != '' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4