2727 required : false
2828 default : false
2929 type : boolean
30+ run_spark_matrix_tests :
31+ description : " Run Spark big data matrix tests"
32+ required : false
33+ default : true
34+ type : boolean
35+ run_spring_gradle_plugin_smoke :
36+ description : " Run Spring Gradle plugin bootRunLocal API smoke test"
37+ required : false
38+ default : true
39+ type : boolean
40+ run_release_task_tests :
41+ description : " Allow tests to run inside the Gradle release task"
42+ required : false
43+ default : true
44+ type : boolean
3045 publish_github_packages :
3146 description : " Also publish artifacts to GitHub Packages. Disabled by default because GitHub Packages can return checksum upload conflicts."
3247 required : false
7085 EXTRA_GRADLE_ARGS : ${{ github.event.inputs.gradle_args || '' }}
7186 GRADLE_LOG_LEVEL : ${{ github.event.inputs.gradle_log_level || 'info' }}
7287 SKIP_TESTS : ${{ github.event.inputs.skip_tests || 'false' }}
88+ RUN_SPARK_MATRIX_TESTS : ${{ github.event_name != 'workflow_dispatch' || inputs.run_spark_matrix_tests }}
89+ RUN_SPRING_GRADLE_PLUGIN_SMOKE : ${{ github.event_name != 'workflow_dispatch' || inputs.run_spring_gradle_plugin_smoke }}
90+ RUN_RELEASE_TASK_TESTS : ${{ github.event_name != 'workflow_dispatch' || inputs.run_release_task_tests }}
7391 PUBLISH_GITHUB_PACKAGES : ${{ github.event.inputs.publish_github_packages || 'false' }}
7492 ENABLE_DOCKER_IMAGE_CACHE : ${{ github.event.inputs.enable_docker_image_cache || 'false' }}
7593 TESTCONTAINERS_RYUK_DISABLED : " true"
@@ -100,13 +118,19 @@ jobs:
100118 git config user.email "github-actions[bot]@users.noreply.github.com"
101119
102120 - name : Verify Docker environment
103- if : env.SKIP_TESTS != 'true'
121+ if : >-
122+ env.SKIP_TESTS != 'true' &&
123+ (
124+ env.RUN_SPARK_MATRIX_TESTS == 'true' ||
125+ env.RUN_SPRING_GRADLE_PLUGIN_SMOKE == 'true' ||
126+ env.RUN_RELEASE_TASK_TESTS == 'true'
127+ )
104128 run : |
105129 docker version
106130 docker info
107131
108132 - name : Cache Spark matrix Docker images
109- if : env.SKIP_TESTS != 'true' && env.ENABLE_DOCKER_IMAGE_CACHE == 'true'
133+ if : env.SKIP_TESTS != 'true' && env.RUN_SPARK_MATRIX_TESTS == 'true' && env. ENABLE_DOCKER_IMAGE_CACHE == 'true'
110134 id : docker-image-cache
111135 uses : actions/cache@v4
112136 with :
@@ -116,7 +140,7 @@ jobs:
116140 ${{ runner.os }}-spark-matrix-docker-images-v1-
117141
118142 - name : Load cached Spark matrix Docker images
119- if : env.SKIP_TESTS != 'true' && env.ENABLE_DOCKER_IMAGE_CACHE == 'true'
143+ if : env.SKIP_TESTS != 'true' && env.RUN_SPARK_MATRIX_TESTS == 'true' && env. ENABLE_DOCKER_IMAGE_CACHE == 'true'
120144 run : |
121145 if [ -s "$DOCKER_IMAGE_CACHE_FILE" ]; then
122146 docker load --input "$DOCKER_IMAGE_CACHE_FILE"
@@ -126,7 +150,7 @@ jobs:
126150 fi
127151
128152 - name : Pull Spark matrix Docker images
129- if : env.SKIP_TESTS != 'true'
153+ if : env.SKIP_TESTS != 'true' && env.RUN_SPARK_MATRIX_TESTS == 'true'
130154 run : |
131155 set -euo pipefail
132156
@@ -161,7 +185,7 @@ jobs:
161185 done
162186
163187 - name : Save Spark matrix Docker images
164- if : env.SKIP_TESTS != 'true' && env.ENABLE_DOCKER_IMAGE_CACHE == 'true'
188+ if : env.SKIP_TESTS != 'true' && env.RUN_SPARK_MATRIX_TESTS == 'true' && env. ENABLE_DOCKER_IMAGE_CACHE == 'true'
165189 run : |
166190 set -euo pipefail
167191 mkdir -p "$DOCKER_IMAGE_CACHE_DIR"
@@ -178,17 +202,17 @@ jobs:
178202 ls -lh "$DOCKER_IMAGE_CACHE_FILE"
179203
180204 - name : Run Spark big data matrix tests
181- if : env.SKIP_TESTS != 'true'
205+ if : env.SKIP_TESTS != 'true' && env.RUN_SPARK_MATRIX_TESTS == 'true'
182206 run : |
183207 ./gradlew --no-configuration-cache :example:spark:sparkBigDataMatrixTest --stacktrace "--$GRADLE_LOG_LEVEL"
184208
185209 - name : Publish local artifacts for standalone examples
186- if : env.SKIP_TESTS != 'true'
210+ if : env.SKIP_TESTS != 'true' && env.RUN_SPRING_GRADLE_PLUGIN_SMOKE == 'true'
187211 run : |
188212 ./gradlew --no-configuration-cache publishToMavenLocal -x test -x sparkBigDataMatrixTest --stacktrace "--$GRADLE_LOG_LEVEL"
189213
190214 - name : Run Spring Gradle plugin API smoke test
191- if : env.SKIP_TESTS != 'true'
215+ if : env.SKIP_TESTS != 'true' && env.RUN_SPRING_GRADLE_PLUGIN_SMOKE == 'true'
192216 run : |
193217 set -euo pipefail
194218 release_version="$(awk -F= '/^[[:space:]]*version[[:space:]]*=/{gsub(/^[[:space:]]+|[[:space:]]+$/, "", $2); print $2; exit}' gradle.properties)"
@@ -242,7 +266,7 @@ jobs:
242266 grep -F '"deleted":true' /tmp/spring-gradle-plugin-delete.json
243267
244268 - name : Collect and print Spark diagnostics on failure
245- if : failure() && env.SKIP_TESTS != 'true'
269+ if : failure() && env.SKIP_TESTS != 'true' && env.RUN_SPARK_MATRIX_TESTS == 'true'
246270 run : |
247271 set +e
248272 diagnostics_dir="build/github-diagnostics"
@@ -304,7 +328,14 @@ jobs:
304328 cp -a example/spark/build/reports/tests "${diagnostics_dir}/spark/test-reports" 2>/dev/null || true
305329
306330 - name : Upload test reports and container logs
307- if : failure() && env.SKIP_TESTS != 'true'
331+ if : >-
332+ failure() &&
333+ env.SKIP_TESTS != 'true' &&
334+ (
335+ env.RUN_SPARK_MATRIX_TESTS == 'true' ||
336+ env.RUN_SPRING_GRADLE_PLUGIN_SMOKE == 'true' ||
337+ env.RUN_RELEASE_TASK_TESTS == 'true'
338+ )
308339 uses : actions/upload-artifact@v4
309340 with :
310341 name : test-diagnostics-${{ github.run_id }}-${{ github.run_attempt }}
@@ -346,11 +377,24 @@ jobs:
346377 SIGNING_KEY_FILE : ${{ runner.temp }}/signing-key.asc
347378 SIGNING_KEY_PASSWORD : ${{ secrets.SIGNING_KEY_PASSWORD }}
348379 run : |
349- skip_test_args=""
350- if [ "$SKIP_TESTS" = "true" ]; then
351- skip_test_args="-x test -x sparkBigDataMatrixTest -x sparkApacheDepsApacheHmsTest -x sparkApacheDepsApacheHmsKerberosTest -x sparkApacheDepsClouderaHmsTest -x sparkApacheDepsClouderaHmsKerberosTest -x sparkClouderaDepsApacheHmsTest -x sparkClouderaDepsApacheHmsKerberosTest -x sparkClouderaDepsClouderaHmsTest -x sparkClouderaDepsClouderaHmsKerberosTest"
380+ skip_test_args=()
381+ spark_test_excludes=(
382+ -x sparkBigDataMatrixTest
383+ -x sparkApacheDepsApacheHmsTest
384+ -x sparkApacheDepsApacheHmsKerberosTest
385+ -x sparkApacheDepsClouderaHmsTest
386+ -x sparkApacheDepsClouderaHmsKerberosTest
387+ -x sparkClouderaDepsApacheHmsTest
388+ -x sparkClouderaDepsApacheHmsKerberosTest
389+ -x sparkClouderaDepsClouderaHmsTest
390+ -x sparkClouderaDepsClouderaHmsKerberosTest
391+ )
392+ if [ "$SKIP_TESTS" = "true" ] || [ "$RUN_RELEASE_TASK_TESTS" != "true" ]; then
393+ skip_test_args=(-x test "${spark_test_excludes[@]}")
394+ elif [ "$RUN_SPARK_MATRIX_TESTS" != "true" ]; then
395+ skip_test_args=("${spark_test_excludes[@]}")
352396 fi
353- ./gradlew --no-configuration-cache release --stacktrace "--$GRADLE_LOG_LEVEL" $ skip_test_args $EXTRA_GRADLE_ARGS
397+ ./gradlew --no-configuration-cache release --stacktrace "--$GRADLE_LOG_LEVEL" "${ skip_test_args[@]}" $EXTRA_GRADLE_ARGS
354398
355399 - name : Write release publish summary
356400 if : always() && env.RELEASE_VERSION != ''
0 commit comments