name: Spark Integration Test # Controls when the workflow will run on: push: branches: [ "main", "branch-*" ] pull_request: branches: [ "main", "branch-*" ] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dorny/paths-filter@v2 id: filter with: filters: | source_changes: - .github/** - api/** - bin/** - catalogs/** - clients/client-java/** - clients/client-java-runtime/** - common/** - conf/** - core/** - dev/** - gradle/** - iceberg/** - integration-test-common/** - meta/** - scripts/** - server/** - server-common/** - spark-connector/** - build.gradle.kts - gradle.properties - gradlew - setting.gradle.kts outputs: source_changes: ${{ steps.filter.outputs.source_changes }} SparkIT-on-push: needs: changes if: (github.event_name == 'push' && needs.changes.outputs.source_changes == 'true') strategy: matrix: # Integration test for AMD64 architecture architecture: [linux/amd64] java-version: [ 8, 11, 17 ] scala-version: [ 2.12 ] test-mode: [ embedded, deploy ] uses: ./.github/workflows/spark-integration-test-action.yml with: architecture: ${{ matrix.architecture }} java-version: ${{ matrix.java-version }} scala-version: ${{ matrix.scala-version }} test-mode: ${{ matrix.test-mode }} SparkIT-on-pr: needs: changes if: (github.event_name == 'pull_request' && needs.changes.outputs.source_changes == 'true') strategy: matrix: # Integration test for AMD64 architecture architecture: [linux/amd64] java-version: [ 17 ] scala-version: [ 2.12 ] test-mode: [ embedded, deploy ] uses: ./.github/workflows/spark-integration-test-action.yml with: architecture: ${{ matrix.architecture }} java-version: ${{ matrix.java-version }} scala-version: ${{ matrix.scala-version }} test-mode: ${{ matrix.test-mode }}