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]
