This is an automated email from the ASF dual-hosted git repository.
singhpk234 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/main by this push:
new 12f3ad2a2 Split CI jobs, improve overall CI duration (#2733)
12f3ad2a2 is described below
commit 12f3ad2a28b96cb616b574722a6e4e93b5e3166b
Author: Robert Stupp <[email protected]>
AuthorDate: Wed Oct 1 04:35:57 2025 +0200
Split CI jobs, improve overall CI duration (#2733)
* `Quarkus Integration Tests` removes 15 minutes from `Integration Tests`
(leaving 16 minutes total test task runtime)
* `Quarkus Admin Tests` removes 6 minutes from `Quarkus Tests` (leaving 20
minutes total test task runtime)
Intentionally not changing the name of `Quarkus Tests` as it's a required
check, changing it would render this change in unmergeable.
Note that the time refer to the test _task_ runtimes. Test task execution
overlaps with other tasks.
---
.asf.yaml | 2 +
.github/workflows/gradle.yml | 95 ++++++++++++++++++++++++++++++++++++++++----
2 files changed, 89 insertions(+), 8 deletions(-)
diff --git a/.asf.yaml b/.asf.yaml
index d54614216..075d6ca00 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -56,6 +56,8 @@ github:
- markdown-link-check
- "Unit Tests"
- "Quarkus Tests"
+ - "Quarkus Integration Tests"
+ - "Quarkus Admin Tests"
- "Integration Tests"
- regtest
- spark-plugin-regtest
diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
index 0e2765620..2fc2a813f 100644
--- a/.github/workflows/gradle.yml
+++ b/.github/workflows/gradle.yml
@@ -39,6 +39,8 @@ env:
jobs:
+ # Durations (approximates from GH CI):
+ # (all):test 16m
unit-tests:
name: Unit Tests
runs-on: ubuntu-latest
@@ -77,6 +79,8 @@ jobs:
**/build/test-results/**
**/build/reports/tests/**
+ # Durations (approximates from GH CI):
+ # - :polaris-runtime-service:test 22m
quarkus-tests:
name: Quarkus Tests
runs-on: ubuntu-latest
@@ -91,28 +95,99 @@ jobs:
distribution: 'temurin'
- name: Prepare Gradle build cache
uses: ./.github/actions/ci-incr-build-cache-prepare
- - name: Run Quarkus tests
+ - name: Run Quarkus runtime tests
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
run: |
- ./gradlew \
- :polaris-runtime-service:test \
- :polaris-admin:test \
- --continue
+ ./gradlew :polaris-runtime-service:test --continue
+ - name: Save partial Gradle build cache
+ uses: ./.github/actions/ci-incr-build-cache-save
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
+ with:
+ job-name: 'quarkus-runtime-tests'
+ - name: Archive test results
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
# v4
+ if: always()
+ with:
+ name: upload-quarkus-runtime-test-artifacts
+ path: |
+ **/build/test-results/**
+ **/build/reports/tests/**
+
+ # Durations (approximates from GH CI):
+ # - :polaris-runtime-service:intTest 15m
+ quarkus-int-tests:
+ name: Quarkus Integration Tests
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ steps:
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
+ - name: Set up JDK 21
+ uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5
+ with:
+ java-version: '21'
+ distribution: 'temurin'
+ - name: Prepare Gradle build cache
+ uses: ./.github/actions/ci-incr-build-cache-prepare
+ - name: Run Quarkus runtime tests
+ env:
+ DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
+ run: |
+ ./gradlew :polaris-runtime-service:intTest --continue
- name: Save partial Gradle build cache
uses: ./.github/actions/ci-incr-build-cache-save
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
with:
- job-name: 'quarkus-tests'
+ job-name: 'quarkus-runtime-inttests'
- name: Archive test results
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
# v4
if: always()
with:
- name: upload-quarkus-test-artifacts
+ name: upload-quarkus-runtime-inttest-artifacts
path: |
**/build/test-results/**
**/build/reports/tests/**
+ # Durations (approximates from GH CI):
+ # - :polaris-admin:test 6m
+ quarkus-admin-tests:
+ name: Quarkus Admin Tests
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ steps:
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
+ - name: Set up JDK 21
+ uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5
+ with:
+ java-version: '21'
+ distribution: 'temurin'
+ - name: Prepare Gradle build cache
+ uses: ./.github/actions/ci-incr-build-cache-prepare
+ - name: Run Quarkus admin tests
+ env:
+ DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
+ run: |
+ ./gradlew :polaris-admin:test --continue
+ - name: Save partial Gradle build cache
+ uses: ./.github/actions/ci-incr-build-cache-save
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
+ with:
+ job-name: 'quarkus-admin-tests'
+ - name: Archive test results
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
# v4
+ if: always()
+ with:
+ name: upload-quarkus-admin-test-artifacts
+ path: |
+ **/build/test-results/**
+ **/build/reports/tests/**
+
+ # Durations (approximates from GH CI):
+ # - :polaris-spark-integration-*:intTest 6m (2x)
+ # - :polaris-runtime-spark-tests:intTest 4m
+ # - :polaris-persistence-nosql-mongodb:intTest 1m
integration-tests:
name: Integration Tests
runs-on: ubuntu-latest
@@ -128,7 +203,11 @@ jobs:
- name: Prepare Gradle build cache
uses: ./.github/actions/ci-incr-build-cache-prepare
- name: Run integration tests
- run: ./gradlew intTest --continue
+ run: |
+ ./gradlew \
+ intTest \
+ -x :polaris-runtime-service:intTest \
+ --continue
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: Save partial Gradle build cache