From cbabe7b3bcbea9bf75887a9e3a7158a2c2c4df48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Fri, 11 Oct 2024 15:37:44 +0200 Subject: [PATCH] Switch from using Bors to merge queue in CI --- .github/workflows/rust.yml | 39 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 9aea817a8..cbd61289e 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -1,11 +1,9 @@ name: Rust on: - push: - branches-ignore: - - trying.tmp - - staging.tmp pull_request: + merge_group: + push: jobs: miri: @@ -90,28 +88,15 @@ jobs: TARGET: x86_64-unknown-linux-gnu run: sh ci/run.sh - # These jobs doesn't actually test anything, but they're only used to tell - # bors the build completed, as there is no practical way to detect when a - # workflow is successful listening to webhooks only. - # - # ALL THE PREVIOUS JOBS NEED TO BE ADDED TO THE `needs` SECTION OF THIS JOB! - - end-success: - name: bors build finished - if: github.event.pusher.name == 'bors' && success() - runs-on: ubuntu-latest - needs: [miri, rustfmt_clippy, test, msrv] - - steps: - - name: Mark the job as successful - run: exit 0 - - end-failure: - name: bors build finished - if: github.event.pusher.name == 'bors' && (failure() || cancelled()) + conclusion: + needs: [test, msrv] + # !cancelled() executes the job regardless of whether the previous jobs passed or failed. + # Otherwise, this job would be skipped by default. + if: ${{ !cancelled() }} runs-on: ubuntu-latest - needs: [miri, rustfmt_clippy, test, msrv] - steps: - - name: Mark the job as a failure - run: exit 1 + - name: Conclusion + run: | + jq -C <<< "${{ toJson(needs) }}" + # Check if all needs were successful. + jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'