From 7da3ee2cb64fc6fe2b445fa8f9302d05dcec9ea0 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 6 May 2026 15:38:24 +0000 Subject: [PATCH] Continue docs/versions/mirror publish on crates.io failure The `announce` job uses `if: always() && ...` to tolerate a `custom-publish-crates` failure (#19291). However, the downstream `custom-publish-docs`, `custom-publish-versions`, and `custom-publish-mirror` jobs had no explicit `if:` clause, so a transitively-failed graph caused them to skip when crates publishing failed. Mirror the `announce` pattern on these jobs so they run as long as `announce` succeeded. --- .github/workflows/release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4218a080012..718ed13e971 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -364,6 +364,10 @@ jobs: needs: - plan - announce + # Use `always() && ...` so this job is not skipped when an unrelated + # upstream job (e.g., `custom-publish-crates`) fails. `announce` itself + # tolerates a `custom-publish-crates` failure, so we mirror that here. + if: ${{ always() && needs.announce.result == 'success' }} uses: ./.github/workflows/publish-docs.yml with: plan: ${{ needs.plan.outputs.val }} @@ -373,6 +377,7 @@ jobs: needs: - plan - announce + if: ${{ always() && needs.announce.result == 'success' }} uses: ./.github/workflows/publish-versions.yml with: plan: ${{ needs.plan.outputs.val }} @@ -382,6 +387,7 @@ jobs: needs: - plan - announce + if: ${{ always() && needs.announce.result == 'success' }} uses: ./.github/workflows/publish-mirror.yml with: plan: ${{ needs.plan.outputs.val }}