Skip to content
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

Only run Gradle compatibility tests against minimum and maximum release #898

Merged
merged 1 commit into from
Jan 22, 2025

Conversation

bioball
Copy link
Contributor

@bioball bioball commented Jan 22, 2025

Currently, we run against every release version, which is taking 20 minutes to run in CI, and this will grow as Gradle creates more releases.

This limits the amount of Gradle versions being tested against; theoretically, only testing against the minimum version and the maximum version should ensure that we are compatible with every version in the range.

@StefMa
Copy link
Contributor

StefMa commented Jan 22, 2025

What about introducing parallelism instead of hoping (?) that each Gradle version in between works?

This would also be scalable. No need to worry that this goes out of hand in the future...

@bioball
Copy link
Contributor Author

bioball commented Jan 22, 2025

@StefMa from what I can tell, Gradle is actually kind of bad at executing multiple tasks within a single project in parallel.

It can run multiple test classes in parallel (by setting org.gradle.api.tasks.testing.Test#setMaxParallelForks), and multiple tasks of different subprojects (via the --parallel flag).
But if you want multiple tasks of the same project to be run in parallel, you need to use the worker api.

This PR implements a simple workaround, but I'd be happy to accept a follow-up PR that parallelizes these :)

Currently, we run against every release version, which is taking 20
minutes to run in CI, and this will grow as Gradle creates more
releases.

This limits the amount of Gradle versions being tested against;
theoretically, only testing against the minimum version and the maximum
version should ensure that we are compatible with every version in the
range.
@bioball bioball force-pushed the prune-compatibility-tests branch from 19273b5 to 8303436 Compare January 22, 2025 21:07
@bioball bioball merged commit cdd6d52 into apple:main Jan 22, 2025
5 checks passed
@bioball bioball deleted the prune-compatibility-tests branch January 22, 2025 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants