FrankChen021 commented on code in PR #20297:
URL: https://github.com/apache/druid/pull/20297#discussion_r3968310642


##########
.github/scripts/run_docker-tests:
##########
@@ -35,4 +35,7 @@ fi
 
 # No snapshot updates
 OPTS+=" -nsu"
-mvn -B -pl embedded-tests -am $OPTS verify -Pdocker-tests,skip-static-checks 
-DskipUTs -D$DRUID_IMAGE_SYS_PROPERTY=$DRUID_IMAGE_NAME 
"-DjfrProfilerArgLine=$JFR_PROFILER_ARG_LINE" "$@"
+# build-dist has already installed every reactor module into the local Maven
+# repository in this job, so only embedded-tests needs to be built here.
+# Building with -am would re-run the whole reactor (including web-console) 
again.
+mvn -B -pl embedded-tests $OPTS verify -Pdocker-tests,skip-static-checks 
-DskipUTs -D$DRUID_IMAGE_SYS_PROPERTY=$DRUID_IMAGE_NAME 
"-DjfrProfilerArgLine=$JFR_PROFILER_ARG_LINE" "$@"

Review Comment:
   [P1] Restore reactor dependency availability after cached build
   
   On a Maven build-cache hit, `build-dist` can restore `web-console` outputs 
and skip its normal lifecycle, including `maven-install-plugin`; the restored 
artifact remains under `web-console/target` instead of being published as 
`org.apache.druid:web-console:39.0.0-SNAPSHOT` in `~/.m2/repository`. This is a 
new Maven invocation containing only `embedded-tests`, whose POM has an 
unconditional test-scoped dependency on that snapshot. Therefore a fresh runner 
or a runner whose setup-java repository cache misses can fail dependency 
resolution before the Docker tests even though `build-dist` succeeded. Keep 
`-am` here or explicitly install/restore the web-console artifact before this 
invocation.



##########
.github/scripts/packaging-check.sh:
##########
@@ -19,7 +19,15 @@ set -e
 set -x
 
 ./.github/scripts/setup_generate_license.sh
-mvn -B clean install -Prat --fail-at-end \
-  -pl '!benchmarks, !distribution' -P skip-tests -Dweb.console.skip=false -T1C
-mvn -B install -Prat -Pdist -Pbundle-contrib-exts --fail-at-end \
-  -pl 'distribution' -P skip-tests -Dweb.console.skip=false -T1C
+# This job is the single place in CI that validates everything a release build
+# produces: RAT license headers, javadoc and source jars, the binary and source
+# distribution assemblies, and the license dependency reports. The 
apache-release
+# profile is enabled here so that the Docker test job only needs to build the
+# binary tarball. GPG signing and the OWASP dependency check are skipped as 
they
+# are not meaningful in CI.
+mvn -B clean install -Prat -Papache-release --fail-at-end \
+  -pl '!benchmarks, !distribution' -P skip-tests -Dweb.console.skip=false -T1C 
\

Review Comment:
   [P2] Restore RAT coverage for benchmarks
   
   The removed `license_checks_script.sh` was the repo-wide `mvn 
apache-rat:check -Prat` pass. This replacement runs the RAT-bound reactor while 
explicitly excluding `benchmarks`, and the second command selects only 
`distribution`; with RAT's default root-project subproject exclusion, files 
under `benchmarks` no longer receive license-header validation. A newly added 
unlicensed benchmark file can therefore pass both static-check jobs. Retain a 
repo-wide RAT invocation or add `benchmarks` to a RAT-only check.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to