From f652c75f34edc751a63c9a0a4fd695ae5bd11d66 Mon Sep 17 00:00:00 2001 From: Jelle Raaijmakers Date: Thu, 3 Nov 2022 10:01:56 +0100 Subject: [PATCH] CI: Check out PR merge branch instead of source --- .github/workflows/cmake.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 0a493a20418..a40ad367091 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -31,7 +31,17 @@ jobs: arch: 'x86_64' steps: + # Pull requests can trail behind `master` and can cause breakage if merging before running the CI checks on an updated branch. + # Luckily, GitHub creates and maintains a merge branch that is updated whenever the target or source branch is modified. By + # checking this branch out, we gain a stabler `master` at the cost of reproducibility. - uses: actions/checkout@v3 + if: ${{ github.event_name != 'pull_request' }} + + - uses: actions/checkout@v3 + if: ${{ github.event_name == 'pull_request' }} + with: + ref: refs/pull/${{ github.event.pull_request.number }}/merge + # Set default Python to python 3.x, and set Python path such that pip install works properly - uses: actions/setup-python@v4 with: