From daf1b216023bd5799e3840e56a33ae9fe87bf223 Mon Sep 17 00:00:00 2001 From: Ali Al Dallal Date: Tue, 18 Aug 2026 00:42:15 -0400 Subject: [PATCH] ci: beta-release must not inherit the transitive-skip -- !cancelled() replaces the implicit success() The first green push run after the job landed skipped it (0 steps) despite a green ci-gate: a plain if gets the implicit success() evaluated across the transitive needs chain, and dependency-review (PR-only) legitimately skips on pushes. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01FW5GkkAG8du7tNdYLk2zSd --- .github/workflows/ci.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 09773c20..f034123c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -482,7 +482,13 @@ jobs: # release.yml's build-macos/release jobs already carry. beta-release: needs: ci-gate - if: github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.ci-gate.result == 'success' + # !cancelled() replaces the implicit success() status function -- + # without it, any legitimately-skipped job in the TRANSITIVE needs + # chain (dependency-review is PR-only, changes-filtered jobs skip + # on docs-only pushes) auto-skips this job even when ci-gate itself + # succeeded; observed on the first green push run after the job + # landed (skipped, 0 steps, green gate). + if: ${{ !cancelled() && github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.ci-gate.result == 'success' }} runs-on: macos-latest timeout-minutes: 30 permissions: