diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index e7281574..1206c0c1 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -130,9 +130,11 @@ jobs: matrix-0: ${{ steps.set-matrix.outputs.matrix-0 }} matrix-1: ${{ steps.set-matrix.outputs.matrix-1 }} any_builds: ${{ steps.set-matrix.outputs.any_builds }} - pythonbuild_changed: ${{ steps.changed.outputs.pythonbuild_any_changed }} + pythonbuild_changed: ${{ steps.check-pythonbuild.outputs.changed }} steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # fetch history for subsequent `git diff` - name: Set up Python uses: astral-sh/setup-uv@v4 @@ -167,12 +169,15 @@ jobs: echo "any_builds=false" >> $GITHUB_OUTPUT fi - - uses: tj-actions/changed-files@v45 - id: changed - with: - files_yaml: | - pythonbuild: - - "src/*.rs" + - name: Check if the `pythonbuild` crate changed + id: check-pythonbuild + run: | + if git diff --quiet ${{ github.event.pull_request.base.sha || 'origin/main' }}...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 50345e0e..2b5841e7 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -48,9 +48,11 @@ jobs: outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} any_builds: ${{ steps.set-matrix.outputs.any_builds }} - pythonbuild_changed: ${{ steps.changed.outputs.pythonbuild_any_changed }} + pythonbuild_changed: ${{ steps.check-pythonbuild.outputs.changed }} steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # fetch history for subsequent `git diff` - name: Set up Python uses: astral-sh/setup-uv@v4 @@ -77,12 +79,14 @@ jobs: echo "any_builds=false" >> $GITHUB_OUTPUT fi - - uses: tj-actions/changed-files@v45 - id: changed - with: - files_yaml: | - pythonbuild: - - "src/*.rs" + - name: Check if the `pythonbuild` crate changed + id: check-pythonbuild + run: | + if git diff --quiet ${{ github.event.pull_request.base.sha || 'origin/main' }}...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 6065b439..42764636 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -48,9 +48,11 @@ jobs: outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} any_builds: ${{ steps.set-matrix.outputs.any_builds }} - pythonbuild_changed: ${{ steps.changed.outputs.pythonbuild_any_changed }} + pythonbuild_changed: ${{ steps.check-pythonbuild.outputs.changed }} steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # fetch history for subsequent `git diff` - name: Set up Python uses: astral-sh/setup-uv@v4 @@ -77,12 +79,16 @@ jobs: echo "any_builds=false" >> $GITHUB_OUTPUT fi - - uses: tj-actions/changed-files@v45 - id: changed - with: - files_yaml: | - pythonbuild: - - "src/*.rs" + + - name: Check if the `pythonbuild` crate changed + id: check-pythonbuild + shell: bash + run: | + if git diff --quiet ${{ github.event.pull_request.base.sha || 'origin/main' }}...HEAD -- ':src/*.rs'; then + echo "changed=false" >> "$GITHUB_OUTPUT" + else + echo "changed=true" >> "$GITHUB_OUTPUT" + fi build: needs: