Skip to content

Commit 8b6de4b

Browse files
committed
improvement(ci): route maintenance tests in backend IT
1 parent d7ca344 commit 8b6de4b

File tree

2 files changed

+83
-17
lines changed

2 files changed

+83
-17
lines changed

.github/workflows/backend-integration-test-action.yml

Lines changed: 53 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ on:
2525
description: 'space-separated changed catalogs-contrib module names, or __all__'
2626
type: string
2727
default: ''
28+
maintenance_only:
29+
required: false
30+
description: 'run only maintenance integration tests'
31+
type: boolean
32+
default: false
2833

2934
jobs:
3035
start-runner:
@@ -66,26 +71,57 @@ jobs:
6671
- name: Backend Integration Test (JDK${{ inputs.java-version }}-${{ inputs.test-mode }}-${{ inputs.backend }})
6772
id: integrationTest
6873
run: |
69-
ALL_CONTRIB_MODULES="$(find catalogs-contrib -mindepth 1 -maxdepth 1 -type d -name 'catalog-*' -exec basename {} \; | sort)"
70-
CHANGED_CONTRIB_MODULES="${{ inputs.changed-catalogs-contrib-modules }}"
74+
gradle_args=(
75+
-PskipTests
76+
-PtestMode=${{ inputs.test-mode }}
77+
-PjdbcBackend=${{ inputs.backend }}
78+
-PskipDockerTests=false
79+
)
80+
81+
if [ "${{ inputs.maintenance_only }}" = "true" ]; then
82+
gradle_args+=(
83+
:maintenance:optimizer:test
84+
:maintenance:jobs:test
85+
)
86+
else
87+
ALL_CONTRIB_MODULES="$(find catalogs-contrib -mindepth 1 -maxdepth 1 -type d -name 'catalog-*' -exec basename {} \; | sort)"
88+
CHANGED_CONTRIB_MODULES="${{ inputs.changed-catalogs-contrib-modules }}"
89+
90+
gradle_args+=(
91+
test
92+
-x :web:web:test
93+
-x :web:integration-test:test
94+
-x :web-v2:web:test
95+
-x :web-v2:integration-test:test
96+
-x :clients:client-python:test
97+
-x :flink-connector:flink:test
98+
-x :spark-connector:spark-common:test
99+
-x :spark-connector:spark-3.3:test
100+
-x :spark-connector:spark-3.4:test
101+
-x :spark-connector:spark-3.5:test
102+
-x :spark-connector:spark-runtime-3.3:test
103+
-x :spark-connector:spark-runtime-3.4:test
104+
-x :spark-connector:spark-runtime-3.5:test
105+
-x :trino-connector:integration-test:test
106+
-x :trino-connector:trino-connector:test
107+
-x :authorizations:authorization-chain:test
108+
-x :authorizations:authorization-ranger:test
109+
-x :clients:cli:test
110+
)
71111
72-
EXCLUDE_CONTRIB_TESTS=""
73-
if [ "$CHANGED_CONTRIB_MODULES" != "__all__" ]; then
74-
for module in $ALL_CONTRIB_MODULES; do
75-
if [[ " $CHANGED_CONTRIB_MODULES " != *" $module "* ]]; then
76-
EXCLUDE_CONTRIB_TESTS="$EXCLUDE_CONTRIB_TESTS -x :catalogs-contrib:$module:test"
77-
fi
78-
done
112+
if [ "$CHANGED_CONTRIB_MODULES" != "__all__" ]; then
113+
for module in $ALL_CONTRIB_MODULES; do
114+
if [[ " $CHANGED_CONTRIB_MODULES " != *" $module "* ]]; then
115+
gradle_args+=("-x" ":catalogs-contrib:$module:test")
116+
fi
117+
done
118+
fi
79119
fi
80120
81-
./gradlew test -PskipTests -PtestMode=${{ inputs.test-mode }} -PjdbcBackend=${{ inputs.backend }} -PskipDockerTests=false \
82-
-x :web:web:test -x :web:integration-test:test -x :web-v2:web:test -x :web-v2:integration-test:test -x :clients:client-python:test -x :flink-connector:flink:test -x :spark-connector:spark-common:test \
83-
-x :spark-connector:spark-3.3:test -x :spark-connector:spark-3.4:test -x :spark-connector:spark-3.5:test \
84-
-x :spark-connector:spark-runtime-3.3:test -x :spark-connector:spark-runtime-3.4:test -x :spark-connector:spark-runtime-3.5:test \
85-
-x :trino-connector:integration-test:test -x :trino-connector:trino-connector:test \
86-
-x :authorizations:authorization-chain:test -x :authorizations:authorization-ranger:test \
87-
-x :clients:cli:test -x :maintenance:jobs:test -x :maintenance:optimizer:test \
88-
$EXCLUDE_CONTRIB_TESTS
121+
printf './gradlew'
122+
printf ' %q' "${gradle_args[@]}"
123+
printf '\n'
124+
./gradlew "${gradle_args[@]}"
89125
90126
- name: Upload integrate tests reports
91127
uses: actions/upload-artifact@v7

.github/workflows/backend-integration-test.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ jobs:
2121
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36
2222
id: filter
2323
with:
24+
list-files: shell
2425
filters: |
2526
source_changes:
2627
- .github/**
@@ -40,6 +41,7 @@ jobs:
4041
- gradle/**
4142
- iceberg/**
4243
- integration-test-common/**
44+
- maintenance/**
4345
- meta/**
4446
- scripts/**
4547
- server/**
@@ -49,6 +51,31 @@ jobs:
4951
- gradle.properties
5052
- gradlew
5153
- settings.gradle.kts
54+
- name: Determine maintenance-module-only changes
55+
id: maintenance_module_only
56+
env:
57+
SOURCE_CHANGE_FILES: ${{ steps.filter.outputs.source_changes_files }}
58+
run: |
59+
source_files=()
60+
if [ -n "${SOURCE_CHANGE_FILES}" ]; then
61+
eval "source_files=(${SOURCE_CHANGE_FILES})"
62+
fi
63+
64+
maintenance_module_only=false
65+
if [ "${#source_files[@]}" -gt 0 ]; then
66+
maintenance_module_only=true
67+
for path in "${source_files[@]}"; do
68+
case "$path" in
69+
maintenance/*) ;;
70+
*)
71+
maintenance_module_only=false
72+
break
73+
;;
74+
esac
75+
done
76+
fi
77+
78+
echo "maintenance_module_only_changes=${maintenance_module_only}" >> "${GITHUB_OUTPUT}"
5279
- name: Detect changed catalogs-contrib modules
5380
id: contrib
5481
run: |
@@ -80,6 +107,7 @@ jobs:
80107
echo "changed_catalogs_contrib_modules=$CHANGED_MODULES" >> "$GITHUB_OUTPUT"
81108
outputs:
82109
source_changes: ${{ steps.filter.outputs.source_changes }}
110+
maintenance_module_only_changes: ${{ steps.maintenance_module_only.outputs.maintenance_module_only_changes }}
83111
changed_catalogs_contrib_modules: ${{ steps.contrib.outputs.changed_catalogs_contrib_modules }}
84112

85113
BackendIT-on-push:
@@ -104,6 +132,7 @@ jobs:
104132
java-version: ${{ matrix.java-version }}
105133
backend: ${{ matrix.backend }}
106134
test-mode: ${{ matrix.test-mode }}
135+
maintenance_only: ${{ needs.changes.outputs.maintenance_module_only_changes == 'true' }}
107136
changed-catalogs-contrib-modules: ${{ needs.changes.outputs.changed_catalogs_contrib_modules }}
108137

109138
BackendIT-on-pr:
@@ -128,4 +157,5 @@ jobs:
128157
java-version: ${{ matrix.java-version }}
129158
backend: ${{ matrix.backend }}
130159
test-mode: ${{ matrix.test-mode }}
160+
maintenance_only: ${{ needs.changes.outputs.maintenance_module_only_changes == 'true' }}
131161
changed-catalogs-contrib-modules: ${{ needs.changes.outputs.changed_catalogs_contrib_modules }}

0 commit comments

Comments
 (0)