diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 8222d77d..c0c21bd0 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -171,13 +171,15 @@ jobs: - name: Check if the `pythonbuild` crate changed id: check-pythonbuild + env: + BASE_REF: ${{ github.event.pull_request.base.ref || 'main' }} run: | - if git diff --quiet ${{ github.event.pull_request.base.sha || 'origin/main' }}...HEAD -- ':src/*.rs'; then + merge_base=$(git merge-base HEAD "origin/${BASE_REF}") + if git diff --quiet "${merge_base}...HEAD" -- ':src/*.rs'; then echo "changed=false" >> "$GITHUB_OUTPUT" else echo "changed=true" >> "$GITHUB_OUTPUT" fi - build-0: needs: diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 2b5841e7..af9a80f0 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -81,12 +81,16 @@ jobs: - name: Check if the `pythonbuild` crate changed id: check-pythonbuild + env: + BASE_REF: ${{ github.event.pull_request.base.ref || 'main' }} run: | - if git diff --quiet ${{ github.event.pull_request.base.sha || 'origin/main' }}...HEAD -- ':src/*.rs'; then + merge_base=$(git merge-base HEAD "origin/${BASE_REF}") + if git diff --quiet "${merge_base}...HEAD" -- ':src/*.rs'; then echo "changed=false" >> "$GITHUB_OUTPUT" else echo "changed=true" >> "$GITHUB_OUTPUT" fi + build: needs: - generate-matrix diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 11434bb2..a7535c68 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -79,12 +79,13 @@ jobs: echo "any_builds=false" >> $GITHUB_OUTPUT fi - - name: Check if the `pythonbuild` crate changed id: check-pythonbuild - shell: bash + env: + BASE_REF: ${{ github.event.pull_request.base.ref || 'main' }} run: | - if git diff --quiet ${{ github.event.pull_request.base.sha || 'origin/main' }}...HEAD -- ':src/*.rs'; then + merge_base=$(git merge-base HEAD "origin/${BASE_REF}") + if git diff --quiet "${merge_base}...HEAD" -- ':src/*.rs'; then echo "changed=false" >> "$GITHUB_OUTPUT" else echo "changed=true" >> "$GITHUB_OUTPUT"