-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable cacheability of surefire and failsafe goals #35033
Enable cacheability of surefire and failsafe goals #35033
Conversation
9c14c3b
to
871a47b
Compare
native.image.path is used for all IT modules so we should handle it in the parent.
@jprinet could you have a look at the commit I added? The AWT config was needlessly verbose as everything should be handled by the parent. But, that being said, I think the configuration you added there should have been added to the parent as we are defining Let me know if this works for you and I'll merge once CI is green. |
Failing Jobs - Building 9f3ba19
Full information is available in the Build summary check run. Failures⚙️ JVM Tests - JDK 17 #- Failing: integration-tests/grpc-hibernate
📦 integration-tests/grpc-hibernate✖
|
Confirming that the outcome is identical 👍 Please check before merging that the following ignored
|
I'm not completely sure about |
Issue
Most of the maven-surefire-plugin and maven-failsafe-plugin test goal executions rely on
SystemPropertiesVariables
with paths as values, see here for an example.If not declared as inputs or ignored, the goal is marked as not cacheable.
The cost is 1h17mn of CPU time in my local experiment for surefire and 7mn42s for failsafe
Fix
Configure the test goal executions to ignore the SystemPropertiesVariables
maven.repo.local
. The local repository can't be identical across builds if runninginstall
goal, and fingerprinting it would lead to very large build scans (not even considering the time it would take).The same goes for
git.dir
which does not make sense to add as an input.To be discussed
Some other inputs have been ignored but could be added as inputs, this can be discussed case by case while reviewing the PR. The question being, is it ok to get a cache hit (meaning not re-execute the tests) if something changed in one of those folders:
vale.dir
org.jboss.cdi.tck.libraryDirectory
native.image.path
quarkus.kubernetes-service-binding.root
javax.net.ssl.trustStore
rest-client.trustStore
classpathEntriesRecordingFile