diff --git a/.github/workflows/arrow-flight-tests.yml b/.github/workflows/arrow-flight-tests.yml index 1d8c1064bb0e9..0eb63507af853 100644 --- a/.github/workflows/arrow-flight-tests.yml +++ b/.github/workflows/arrow-flight-tests.yml @@ -4,6 +4,9 @@ on: pull_request: paths-ignore: - 'presto-docs/**' + push: + paths-ignore: + - 'presto-docs/**' env: CONTINUOUS_INTEGRATION: true @@ -13,6 +16,13 @@ env: MAVEN_TEST: "-B -Dair.check.skip-all -Dmaven.javadoc.skip=true -DLogTestDurationListener.enabled=true --no-transfer-progress --fail-at-end" RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: arrowflight-java-tests: runs-on: ubuntu-latest @@ -24,9 +34,6 @@ jobs: - ":presto-base-arrow-flight" # Only run tests for the `presto-base-arrow-flight` module timeout-minutes: 80 - concurrency: - group: ${{ github.workflow }}-test-${{ matrix.modules }}-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: # Checkout the code only if there are changes in the relevant files @@ -148,9 +155,6 @@ jobs: - ":presto-base-arrow-flight" # Only run tests for the `presto-base-arrow-flight` module timeout-minutes: 80 - concurrency: - group: ${{ github.workflow }}-test-${{ matrix.modules }}-${{ github.event.pull_request.number }} - cancel-in-progress: true steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/codenotify.yml b/.github/workflows/codenotify.yml deleted file mode 100644 index b2ae421053b7e..0000000000000 --- a/.github/workflows/codenotify.yml +++ /dev/null @@ -1,23 +0,0 @@ -# notifies users from CODENOTIFY files if a PR changed any files -# that they subscribe to -name: codenotify - -on: - pull_request_target: - types: [opened, synchronize, ready_for_review] - -jobs: - codenotify: - runs-on: ubuntu-latest - name: "Label and notify" - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.pull_request.head.sha }} - show-progress: false - - uses: sourcegraph/codenotify@v0.6.4 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/labeler@v4.3.0 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 9eedcd8a262ea..f9fb892124259 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -4,6 +4,9 @@ on: pull_request: paths: - 'presto-docs/**' + push: + paths: + - 'presto-docs/**' env: # An envar that signals to tests we are executing in the CI environment @@ -14,6 +17,13 @@ env: MAVEN_TEST: "-B -Dair.check.skip-all -Dmaven.javadoc.skip=true -DLogTestDurationListener.enabled=true --no-transfer-progress --fail-at-end" RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: test: runs-on: ubuntu-latest @@ -23,9 +33,6 @@ jobs: modules: - ":presto-docs" timeout-minutes: 80 - concurrency: - group: ${{ github.workflow }}-test-${{ matrix.modules }}-${{ github.event.pull_request.number }} - cancel-in-progress: true steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/hive-tests.yml b/.github/workflows/hive-tests.yml index 9762ac21ef8fb..6336948656e84 100644 --- a/.github/workflows/hive-tests.yml +++ b/.github/workflows/hive-tests.yml @@ -2,6 +2,7 @@ name: hive tests on: pull_request: + push: env: # An envar that signals to tests we are executing in the CI environment @@ -12,6 +13,13 @@ env: MAVEN_TEST: "-B -Dair.check.skip-all -Dmaven.javadoc.skip=true -DLogTestDurationListener.enabled=true --no-transfer-progress --fail-at-end" RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: changes: runs-on: ubuntu-latest @@ -22,7 +30,9 @@ jobs: outputs: codechange: ${{ steps.filter.outputs.codechange }} steps: - # For pull requests it's not necessary to checkout the code + - uses: "actions/checkout@v4" + with: + submodules: "recursive" - uses: dorny/paths-filter@v2 id: filter with: @@ -38,9 +48,6 @@ jobs: runs-on: ubuntu-latest needs: changes timeout-minutes: 60 - concurrency: - group: ${{ github.workflow }}-hive-tests-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: - uses: actions/checkout@v4 if: needs.changes.outputs.codechange == 'true' @@ -92,9 +99,6 @@ jobs: runs-on: ubuntu-latest needs: changes timeout-minutes: 20 - concurrency: - group: ${{ github.workflow }}-hive-dockerized-tests-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: - uses: actions/checkout@v4 if: needs.changes.outputs.codechange == 'true' diff --git a/.github/workflows/kudu.yml b/.github/workflows/kudu.yml index 86090a5e5b83c..83dc66a3d252c 100644 --- a/.github/workflows/kudu.yml +++ b/.github/workflows/kudu.yml @@ -2,6 +2,7 @@ name: kudu on: pull_request: + push: env: # An envar that signals to tests we are executing in the CI environment @@ -11,6 +12,13 @@ env: MAVEN_FAST_INSTALL: "-B -V --quiet -T 1C -DskipTests -Dair.check.skip-all -Dmaven.javadoc.skip=true" RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: changes: runs-on: ubuntu-latest @@ -21,7 +29,9 @@ jobs: outputs: codechange: ${{ steps.filter.outputs.codechange }} steps: - # For pull requests it's not necessary to checkout the code + - uses: "actions/checkout@v4" + with: + submodules: "recursive" - uses: dorny/paths-filter@v2 id: filter with: @@ -36,9 +46,6 @@ jobs: runs-on: ubuntu-latest needs: changes timeout-minutes: 60 - concurrency: - group: ${{ github.workflow }}-kudu-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: - uses: actions/checkout@v4 if: needs.changes.outputs.codechange == 'true' diff --git a/.github/workflows/maven-checks.yml b/.github/workflows/maven-checks.yml index 5afacc7905318..0b6488e0dcd9e 100644 --- a/.github/workflows/maven-checks.yml +++ b/.github/workflows/maven-checks.yml @@ -2,6 +2,7 @@ name: maven checks on: pull_request: + push: env: # An envar that signals to tests we are executing in the CI environment @@ -10,6 +11,13 @@ env: MAVEN_INSTALL_OPTS: "-Xmx2G -XX:+ExitOnOutOfMemoryError" RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: maven-checks: strategy: @@ -18,9 +26,6 @@ jobs: java: [ 8.0.442, 17.0.13 ] runs-on: ubuntu-latest timeout-minutes: 45 - concurrency: - group: ${{ github.workflow }}-maven-checks-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: - name: Free Disk Space run: | diff --git a/.github/workflows/prestocpp-format-and-header-check.yml b/.github/workflows/prestocpp-format-and-header-check.yml index 42845f670dc6f..672b289feafd1 100644 --- a/.github/workflows/prestocpp-format-and-header-check.yml +++ b/.github/workflows/prestocpp-format-and-header-check.yml @@ -6,6 +6,17 @@ on: paths: - 'presto-native-execution/**' - '.github/workflows/prestocpp-format-and-header-check.yml' + push: + paths: + - 'presto-native-execution/**' + - '.github/workflows/prestocpp-format-and-header-check.yml' + +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" jobs: prestocpp-format-and-header-check: diff --git a/.github/workflows/prestocpp-linux-build-and-unit-test.yml b/.github/workflows/prestocpp-linux-build-and-unit-test.yml index 1746d28ddb465..ed3f0f026e5bd 100644 --- a/.github/workflows/prestocpp-linux-build-and-unit-test.yml +++ b/.github/workflows/prestocpp-linux-build-and-unit-test.yml @@ -8,11 +8,16 @@ on: - 'presto-native-sidecar-plugin/**' - '.github/workflows/prestocpp-linux-build-and-unit-test.yml' push: - branches: - - master paths-ignore: - 'presto-docs/**' +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: prestocpp-linux-build-for-test: runs-on: ubuntu-22.04 diff --git a/.github/workflows/prestocpp-linux-build.yml b/.github/workflows/prestocpp-linux-build.yml index c887a434344bf..758b387f333e8 100644 --- a/.github/workflows/prestocpp-linux-build.yml +++ b/.github/workflows/prestocpp-linux-build.yml @@ -27,6 +27,38 @@ on: - 'presto-iceberg/src/main/java/com/facebook/presto/iceberg/**' # tpch - 'presto-tpch/src/main/java/com/facebook/presto/tpch/**' + push: + paths: + - 'presto-native-execution/**' + - '.github/workflows/prestocpp-linux-build.yml' + # Build also changes to files that can change the protocol and are referenced in the protocol yaml: + # protocol_core + - 'presto-spi/src/main/java/com/facebook/presto/spi/**' + - 'presto-common/src/main/java/com/facebook/presto/**' + - 'presto-main/src/main/java/com/facebook/presto/**' + - 'presto-client/src/main/java/com/facebook/presto/client/**' + - 'presto-spark-base/src/main/java/com/facebook/presto/spark/execution/**' + - 'presto-native-sidecar-plugin/src/main/java/com/facebook/presto/sidecar/nativechecker/**' + - 'presto-function-namespace-managers-common/src/main/java/com/facebook/presto/functionNamespace/**' + - 'presto-hdfs-core/src/main/java/com/facebook/presto/hive/**' + - 'presto-verifier/src/main/java/com/facebook/presto/verifier/framework/**' + # arrow-flight + - 'presto-base-arrow-flight/src/main/java/com/facebook/plugin/arrow/**' + # hive + - 'presto-hive-metastore/src/main/java/com/facebook/presto/hive/**' + - 'presto-hive-common/src/main/java/com/facebook/presto/hive/**' + - 'presto-hive/src/main/java/com/facebook/presto/hive/**' + # iceberg + - 'presto-iceberg/src/main/java/com/facebook/presto/iceberg/**' + # tpch + - 'presto-tpch/src/main/java/com/facebook/presto/tpch/**' + +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" jobs: prestocpp-linux-build-engine: diff --git a/.github/workflows/prestocpp-macos-build.yml b/.github/workflows/prestocpp-macos-build.yml deleted file mode 100644 index 85a0b5b0351b9..0000000000000 --- a/.github/workflows/prestocpp-macos-build.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: prestocpp-macos-build - -on: - workflow_dispatch: - pull_request: - paths: - - 'presto-native-execution/**' - - '.github/workflows/prestocpp-macos-build.yml' - -jobs: - prestocpp-macos-build-engine: - runs-on: macos-13 - env: - CCACHE_DIR: "${{ github.workspace }}/ccache" - CMAKE_POLICY_VERSION_MINIMUM: "3.5" - steps: - - uses: actions/checkout@v4 - - - name: Fix git permissions - # Usually actions/checkout does this but as we run in a container - # it doesn't work - run: git config --global --add safe.directory ${GITHUB_WORKSPACE} - - - name: Update submodules - run: | - cd presto-native-execution - make submodules - - # The current Github runners for newer versions of macOS (14, 15) only provide 7GB memory while macOS 13 runners provide 14GB. - # Thus, we are installing XCode 15 on macOS 13 to build with Clang 15. - # https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories - - uses: maxim-lobanov/setup-xcode@v1.6.0 - with: - xcode-version: 15 - - - name: "Setup MacOS" - run: | - set -xu - mkdir ~/deps ~/deps-src - git clone --depth 1 https://github.com/Homebrew/brew ~/deps - PATH=~/deps/bin:${PATH} DEPENDENCY_DIR=~/deps-src INSTALL_PREFIX=~/deps PROMPT_ALWAYS_RESPOND=n ./presto-native-execution/scripts/setup-macos.sh - # Calculate the prefix path before we delete brew's repos and taps. - rm -rf ~/deps/.git ~/deps/Library/Taps/ # Reduce cache size by 70%. - rm -rf ~/deps-src - - - name: Install Github CLI for using apache/infrastructure-actions/stash - run: | - PATH=~/deps/bin:${PATH} - brew install gh - - - uses: apache/infrastructure-actions/stash/restore@4ab8682fbd4623d2b4fc1c98db38aba5091924c3 - with: - path: '${{ env.CCACHE_DIR }}' - key: ccache-prestocpp-macos-build-engine - - - name: Zero ccache statistics - run: ccache -sz - - - name: "Build presto_cpp on MacOS" - run: | - clang --version - export INSTALL_PREFIX=~/deps - export PATH=~/deps/bin:$(brew --prefix m4)/bin:$(brew --prefix bison)/bin:${PATH} - cd presto-native-execution - cmake -B _build/debug -GNinja -DTREAT_WARNINGS_AS_ERRORS=1 -DENABLE_ALL_WARNINGS=1 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - ninja -C _build/debug - - - name: Ccache after - run: ccache -s - - - uses: apache/infrastructure-actions/stash/save@4ab8682fbd4623d2b4fc1c98db38aba5091924c3 - with: - path: '${{ env.CCACHE_DIR }}' - key: ccache-macos-prestocpp diff --git a/.github/workflows/product-tests-basic-environment.yml b/.github/workflows/product-tests-basic-environment.yml index fbbfa2265ea64..67d12e44c5b29 100644 --- a/.github/workflows/product-tests-basic-environment.yml +++ b/.github/workflows/product-tests-basic-environment.yml @@ -2,6 +2,7 @@ name: product tests (basic) on: pull_request: + push: env: # An envar that signals to tests we are executing in the CI environment @@ -11,6 +12,13 @@ env: MAVEN_FAST_INSTALL: "-B -V --quiet -T 1C -DskipTests -Dair.check.skip-all --no-transfer-progress -Dmaven.javadoc.skip=true" RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: changes: runs-on: ubuntu-latest @@ -21,7 +29,9 @@ jobs: outputs: codechange: ${{ steps.filter.outputs.codechange }} steps: - # For pull requests it's not necessary to checkout the code + - uses: "actions/checkout@v4" + with: + submodules: "recursive" - uses: dorny/paths-filter@v2 id: filter with: @@ -36,9 +46,6 @@ jobs: runs-on: ubuntu-latest needs: changes timeout-minutes: 60 - concurrency: - group: ${{ github.workflow }}-product-tests-basic-environment-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: - name: Free Disk Space if: needs.changes.outputs.codechange == 'true' diff --git a/.github/workflows/product-tests-specific-environment.yml b/.github/workflows/product-tests-specific-environment.yml index 27218a7b2c28e..2b666049a06ca 100644 --- a/.github/workflows/product-tests-specific-environment.yml +++ b/.github/workflows/product-tests-specific-environment.yml @@ -2,6 +2,7 @@ name: ci on: pull_request: + push: env: # An envar that signals to tests we are executing in the CI environment @@ -11,6 +12,13 @@ env: MAVEN_FAST_INSTALL: "-B -V --quiet -T 1C -DskipTests -Dair.check.skip-all --no-transfer-progress -Dmaven.javadoc.skip=true" RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: changes: runs-on: ubuntu-latest @@ -21,7 +29,9 @@ jobs: outputs: codechange: ${{ steps.filter.outputs.codechange }} steps: - # For pull requests it's not necessary to checkout the code + - uses: "actions/checkout@v4" + with: + submodules: "recursive" - uses: dorny/paths-filter@v2 id: filter with: @@ -36,9 +46,6 @@ jobs: runs-on: ubuntu-latest needs: changes timeout-minutes: 60 - concurrency: - group: ${{ github.workflow }}-product-tests-specific-environment1-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: - name: Free Disk Space if: needs.changes.outputs.codechange == 'true' @@ -102,9 +109,6 @@ jobs: runs-on: ubuntu-latest needs: changes timeout-minutes: 60 - concurrency: - group: ${{ github.workflow }}-product-tests-specific-environment2-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: - name: Free Disk Space if: needs.changes.outputs.codechange == 'true' diff --git a/.github/workflows/release-notes-check.yml b/.github/workflows/release-notes-check.yml deleted file mode 100644 index 2d2ed1cf3b709..0000000000000 --- a/.github/workflows/release-notes-check.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: release-notes - -on: - pull_request: - types: [ opened, edited, reopened ] - -env: - RELEASE_TOOLS_VERSION: "0.11" - -jobs: - check_release_note: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: 8 - cache: 'maven' - - name: Get presto-release-tools - run: | - ./mvnw \ - -B \ - -DgroupId=com.facebook.presto \ - -DartifactId=presto-release-tools -Dversion=${RELEASE_TOOLS_VERSION} \ - -Dpackaging=jar \ - -Dclassifier=executable \ - dependency:get - - name: Get PR body from GraphQL API - id: graphql_query - env: - GH_TOKEN: ${{ github.token }} - run: | - echo "pr_bodytext<> $GITHUB_OUTPUT - gh api graphql -f query=' - query { - repository(owner: "prestodb", name: "presto") { - pullRequest(number: ${{ github.event.pull_request.number }}) { - bodyText - } - } - } - ' --jq '.data.repository.pullRequest.bodyText' >> $GITHUB_OUTPUT - echo 'EOF' >> $GITHUB_OUTPUT - - name: Echo PR Text - env: - PR_BODY: ${{ steps.graphql_query.outputs.pr_bodytext }} - run: echo "${PR_BODY}" - - name: Set presto-release-tools as executable - run: chmod +x ~/.m2/repository/com/facebook/presto/presto-release-tools/${RELEASE_TOOLS_VERSION}/presto-release-tools-${RELEASE_TOOLS_VERSION}-executable.jar - - name: Check release notes - env: - PR_BODY: ${{ steps.graphql_query.outputs.pr_bodytext }} - run: echo "${PR_BODY}" | ~/.m2/repository/com/facebook/presto/presto-release-tools/${RELEASE_TOOLS_VERSION}/presto-release-tools-${RELEASE_TOOLS_VERSION}-executable.jar check-release-notes diff --git a/.github/workflows/singlestore-tests.yml b/.github/workflows/singlestore-tests.yml index c3b06fe9afadb..7eabfbe9987d6 100644 --- a/.github/workflows/singlestore-tests.yml +++ b/.github/workflows/singlestore-tests.yml @@ -2,6 +2,7 @@ name: singlestore tests on: pull_request: + push: env: # An envar that signals to tests we are executing in the CI environment @@ -12,6 +13,13 @@ env: MAVEN_TEST: "-B -Dair.check.skip-all -Dmaven.javadoc.skip=true -DLogTestDurationListener.enabled=true --no-transfer-progress --fail-at-end" RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: changes: runs-on: ubuntu-latest @@ -22,7 +30,9 @@ jobs: outputs: codechange: ${{ steps.filter.outputs.codechange }} steps: - # For pull requests it's not necessary to checkout the code + - uses: "actions/checkout@v4" + with: + submodules: "recursive" - uses: dorny/paths-filter@v2 id: filter with: @@ -37,9 +47,6 @@ jobs: runs-on: ubuntu-latest needs: changes timeout-minutes: 30 - concurrency: - group: ${{ github.workflow }}-singlestore-dockerized-tests-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: - uses: actions/checkout@v4 if: needs.changes.outputs.codechange == 'true' diff --git a/.github/workflows/spark-integration.yml b/.github/workflows/spark-integration.yml index 08bcff6521791..8c10a45b50d36 100644 --- a/.github/workflows/spark-integration.yml +++ b/.github/workflows/spark-integration.yml @@ -2,6 +2,7 @@ name: spark integration on: pull_request: + push: env: # An envar that signals to tests we are executing in the CI environment @@ -12,6 +13,13 @@ env: MAVEN_TEST: "-B -Dair.check.skip-all -Dmaven.javadoc.skip=true -DLogTestDurationListener.enabled=true --no-transfer-progress --fail-at-end" RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: changes: runs-on: ubuntu-latest @@ -22,7 +30,9 @@ jobs: outputs: codechange: ${{ steps.filter.outputs.codechange }} steps: - # For pull requests it's not necessary to checkout the code + - uses: "actions/checkout@v4" + with: + submodules: "recursive" - uses: dorny/paths-filter@v2 id: filter with: @@ -37,9 +47,6 @@ jobs: runs-on: ubuntu-latest needs: changes timeout-minutes: 60 - concurrency: - group: ${{ github.workflow }}-spark-integration-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: - uses: actions/checkout@v4 if: needs.changes.outputs.codechange == 'true' diff --git a/.github/workflows/test-other-modules.yml b/.github/workflows/test-other-modules.yml index 1b7cac05e4c8a..ce932f1277206 100644 --- a/.github/workflows/test-other-modules.yml +++ b/.github/workflows/test-other-modules.yml @@ -2,6 +2,7 @@ name: test other modules on: pull_request: + push: env: # An envar that signals to tests we are executing in the CI environment @@ -12,6 +13,13 @@ env: MAVEN_TEST: "-B -Dair.check.skip-all -Dmaven.javadoc.skip=true -DLogTestDurationListener.enabled=true --no-transfer-progress --fail-at-end" RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: changes: runs-on: ubuntu-latest @@ -22,7 +30,9 @@ jobs: outputs: codechange: ${{ steps.filter.outputs.codechange }} steps: - # For pull requests it's not necessary to checkout the code + - uses: "actions/checkout@v4" + with: + submodules: "recursive" - uses: dorny/paths-filter@v2 id: filter with: @@ -37,9 +47,6 @@ jobs: runs-on: ubuntu-latest needs: changes timeout-minutes: 60 - concurrency: - group: ${{ github.workflow }}-test-other-modules-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: - uses: actions/checkout@v4 if: needs.changes.outputs.codechange == 'true' diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e4a9fb3f96385..9278db6dba0f7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,6 +2,7 @@ name: test on: pull_request: + push: env: # An envar that signals to tests we are executing in the CI environment @@ -12,6 +13,13 @@ env: MAVEN_TEST: "-B -Dair.check.skip-all -Dmaven.javadoc.skip=true -DLogTestDurationListener.enabled=true --no-transfer-progress --fail-at-end" RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: changes: runs-on: ubuntu-latest @@ -22,7 +30,9 @@ jobs: outputs: codechange: ${{ steps.filter.outputs.codechange }} steps: - # For pull requests it's not necessary to checkout the code + - uses: "actions/checkout@v4" + with: + submodules: "recursive" - uses: dorny/paths-filter@v2 id: filter with: @@ -69,9 +79,6 @@ jobs: - ":presto-spark-base -P presto-spark-tests-spill-queries" - ":presto-iceberg" timeout-minutes: 80 - concurrency: - group: ${{ github.workflow }}-test-${{ matrix.modules }}-${{ github.event.pull_request.number }}-${{ matrix.java }} - cancel-in-progress: true steps: - uses: actions/checkout@v4 if: needs.changes.outputs.codechange == 'true' diff --git a/.github/workflows/web-ui-checks.yml b/.github/workflows/web-ui-checks.yml index f1ba039507f74..a2584ef6c2183 100644 --- a/.github/workflows/web-ui-checks.yml +++ b/.github/workflows/web-ui-checks.yml @@ -2,12 +2,20 @@ name: web ui checks on: pull_request: + push: env: # An envar that signals to tests we are executing in the CI environment CONTINUOUS_INTEGRATION: true RETRY: .github/bin/retry +concurrency: + group: "${{github.workflow}}-${{github.ref}}" + + # Cancel in-progress jobs for efficiency. Exclude the `main` branch so that each commit to main is + # checked completely. + cancel-in-progress: "${{github.ref != 'refs/heads/main'}}" + jobs: changes: runs-on: ubuntu-latest @@ -18,7 +26,9 @@ jobs: outputs: codechange: ${{ steps.filter.outputs.codechange }} steps: - # For pull requests it's not necessary to checkout the code + - uses: "actions/checkout@v4" + with: + submodules: "recursive" - uses: dorny/paths-filter@v2 id: filter with: @@ -31,9 +41,6 @@ jobs: needs: changes if: needs.changes.outputs.codechange == 'true' timeout-minutes: 30 - concurrency: - group: ${{ github.workflow }}-web-ui-checks-${{ github.event.pull_request.number }} - cancel-in-progress: true steps: - uses: actions/checkout@v4 with: