diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 62eb51a..5aae361 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -47,17 +47,20 @@ jobs: # Set the base reference for the git diff BASE_REF=${{ github.event.pull_request.base.ref || 'main' }} - # Check for changes in Python or TOML files - python_changed=$(git diff --name-only $BASE_REF ${{ github.event.after }} | grep '\.py$') - toml_changed=$(git diff --name-only $BASE_REF ${{ github.event.after }} | grep '\.toml$') + # Check for changes in this PR / commit + git_diff_output=$(git diff --name-only $BASE_REF ${{ github.event.after }}) + + # Count the number of changes to Python and TOML files + python_changed=$(echo "$git_diff_output" | grep '\.py$' | wc -l) + toml_changed=$(echo "$git_diff_output" | grep '\.toml$' | wc -l) # Write the changes to the GITHUB_OUTPUT environment file - echo "python_changed=$python_changed" >> "$GITHUB_OUTPUT" - echo "toml_changed=$toml_changed" >> "$GITHUB_OUTPUT" + echo "python_changed=$python_changed" >> $GITHUB_OUTPUT + echo "toml_changed=$toml_changed" >> $GITHUB_OUTPUT tests: needs: check_changes - if: needs.check_changes.outputs.python_changed != '' || needs.check_changes.outputs.toml_changed != '' || github.event_name == 'workflow_dispatch' + if: needs.check_changes.outputs.python_changed > 0 || needs.check_changes.outputs.toml_changed > 0 || github.event_name == 'workflow_dispatch' name: Python ${{ matrix.python-version }} with PySpark ${{ matrix.pyspark-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} runs-on: ${{ matrix.os }}