mirror of
https://github.com/electron/electron.git
synced 2026-05-02 03:00:22 -04:00
build: fail gha-done check when required job fails (#51067)
fix: fail gha-done when any required job failed Previously, the `gha-done` gate job used an `if:` expression that evaluated to false whenever any needed job reported a failure, which caused the job to be *skipped* rather than *failed*. GitHub branch protection treats skipped required checks as non-blocking, so a PR could be marked mergeable even though one of its test jobs had failed. Keep the job always running and move the failure check into a step that explicitly exits 1 when any dependency failed or was cancelled, so the "GitHub Actions Completed" required check actually blocks the merge in that case. Notes: none Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
This commit is contained in:
5
.github/workflows/build.yml
vendored
5
.github/workflows/build.yml
vendored
@@ -441,8 +441,11 @@ jobs:
|
||||
permissions:
|
||||
contents: read
|
||||
needs: [docs-only, macos-x64, macos-arm64, linux-x64, linux-x64-asan, linux-arm, linux-arm64, windows-x64, windows-x86, windows-arm64]
|
||||
if: always() && github.repository == 'electron/electron' && !contains(needs.*.result, 'failure')
|
||||
if: always() && github.repository == 'electron/electron'
|
||||
steps:
|
||||
- name: Fail if any needed job failed or was cancelled
|
||||
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
|
||||
run: exit 1
|
||||
- name: GitHub Actions Jobs Done
|
||||
run: |
|
||||
echo "All GitHub Actions Jobs are done"
|
||||
|
||||
Reference in New Issue
Block a user