-
Notifications
You must be signed in to change notification settings - Fork 679
use Dev Publish plugin to test Kotest plugin #4174
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
Conversation
- Avoid discouraged Gradle practices (cross-project configuration). - Improve Build Cache and Config Cache compatibility.
What does this do? |
The Dev Publish plugin publishes subprojects to a project-local directory, sort of like Maven Local. This avoids the downsides of the current approach (cross-project configuration is a discouraged Gradle practice, because it negatively impacts parallelisation and caching), and also the negatives of Maven Local itself (which can be 'polluted' with other artifacts, and it's not practical to fingerprint and cache it). My expectation is that using Dev Publish will improve the speed of running tests in general, but specifically on CI. I'm looking generally improving the Kotest plugin test because it takes significantly longer than other modules, despite only having a handful of tests. That will probably always be the case, but I think some of the time can be cut-down. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks all very plausible and well written! Full disclosure: I only had a cursory look at dev-publish-plugin
and I do not consider myself an expert on publishing.
One step of many to improve test performance. Using a separate test directory will permit running the tests in parallel (to be done in a future PR, once the tests are more cache friendly.) Depends on #4174. --------- Co-authored-by: Sam <sam@sksamuel.com>
Instead the test-project using
includedBuild()
to depend on Kotest, instead, publish Kotest to a project-local directory.This will improve test performance, because it will allow running the Gradle Plugin tests in parallel.
It also improves the Kotest build's stability:
Additional changes: