Skip to content

Commit

Permalink
Update workflow to work with GH merge queue
Browse files Browse the repository at this point in the history
We need a ci-status job that explicitly fails, rather than skips.

As we discovered in georust/proj#179,
the previous configuration would skip the aggregate "ci status" job if
any of it's `needs` failed, which would result in the merge queue
proceeding with the merge.
  • Loading branch information
michaelkirk committed Aug 21, 2023
1 parent fcc1430 commit 4bff7e1
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,11 @@ on:
name: Run tests
jobs:
# The `ci-result` job doesn't actually test anything - it just aggregates the
# overall build status for bors, otherwise our bors.toml would need an entry
# overall build status, otherwise the merge queue would need an entry
# for each individual job produced by the job-matrix.
#
# Ref: https://github.com/rust-lang/crater/blob/9ab6f9697c901c4a44025cf0a39b73ad5b37d198/.github/workflows/bors.yml#L125-L149
#
# ALL THE SUBSEQUENT JOBS NEED THEIR `name` ADDED TO THE `needs` SECTION OF THIS JOB!
ci-result:
# ALL THE SUBSEQUENT JOBS NEED THEIR `name` ADDED TO THE `needs` SECTION OF both "ci result" JOBS!
ci-success:
name: ci result
runs-on: ubuntu-latest
needs:
Expand All @@ -28,12 +26,23 @@ jobs:
- geo_postgis
- geo_fuzz
- bench
if: success()
steps:
- name: Mark the job as a success
if: success()
run: exit 0
ci-failure:
name: ci result
runs-on: ubuntu-latest
needs:
- lint
- geo_types
- geo
- geo_postgis
- geo_fuzz
- bench
if: failure()
steps:
- name: Mark the job as a failure
if: "!success()"
run: exit 1

lint:
Expand Down

0 comments on commit 4bff7e1

Please sign in to comment.