FIX: URGENT: Changes in Gradle 9 results into non-execution of custom test tasks.#3653
FIX: URGENT: Changes in Gradle 9 results into non-execution of custom test tasks.#3653
Conversation
c921ac7 to
aa71510
Compare
|
Recently, we spent more time fixing refactorings that made it to the master. It seems that we should be more restrictive with refactoring PRs and test them a lot more thoroughly before they enter the main branch. In this case: Why did we upgrade to gradle 9 without this being noticed? Why did our review culture not catch this? |
|
To be fair, the only way this was caught is that @unp1 noticed that the test times were suspiciously short. That is not something you would typically catch. |
|
Nice catch, Richard :-) What was the reason to upgrade to Gradle 9? If it is necessary to update the setup: Perhaps such an infrastructural change should be a PR on its own where the submitter and the reviewer check that the infrastructure still behaves as expected? |
|
We need to keep up with the Gradle version. The main reason is support/recognition of new JDK version, closing of vulnerabilities. Normally, nothing bad happens. The changes are conservative, and breaking stuff is announced during the run. Breaking stuff, especially for plugin developers, is one of the largest complaints about Gradle. I also read the changelog for Gradle 9, because I expected some breaking changes, but this breaking change is not mentioned. Therefore, I am happy that Richard and I independently noticed it (and this rather quickly). A countermeasure is installed, so no regression should happen. Also note that not finding test cases using the IntelliJ UI or |
URGENT: Test results are not trustworthy anymore. Test classes are not executed for custom test tasks.
Gradle 9 changed the default configuration for test tasks. No prominent clue on the changelog was given. The Gradle wrapper is on version 9 since the last version bump.
The result is that custom test tasks like
testProveRules,testRunAllProofs, ... are unable to find test classes anymore. Therefore, execution succeeds w/o error and w/o execution of the test cases. Hence, the PR checks are useless now.This fix needs to be on
mainfast:Manually tested.