diff --git a/.github/workflows/merge-gatekeeper.yml b/.github/workflows/merge-gatekeeper.yml index 52adbcb8e4..cc1f384f16 100644 --- a/.github/workflows/merge-gatekeeper.yml +++ b/.github/workflows/merge-gatekeeper.yml @@ -69,8 +69,14 @@ jobs: continue; // Skipped runs are dropped, matching the original action. } else if (r.conclusion === 'success' || r.conclusion === 'neutral') { state = 'success'; + } else if (r.conclusion === 'cancelled') { + // A cancelled run means the job was interrupted (e.g. due to + // fail-fast or a manual cancel), not that it actually failed. + // Treat it as pending so the gatekeeper waits for a re-run + // rather than blocking the PR immediately. + state = 'pending'; } else { - // cancelled | timed_out | action_required | stale | failure + // timed_out | action_required | stale | failure state = 'error'; } merged.set(r.name, { name: r.name, state }); diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 955fc9054d..4752f59b8b 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -14,7 +14,7 @@ jobs: name: Python Tests runs-on: ${{ matrix.os }} strategy: - fail-fast: true + fail-fast: false matrix: python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] # todo: add macos-latest when problems are resolved