-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Segregate scala2-interop-tests and add to CI #9990
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
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.
Hello, and thank you for opening this PR! 🎉
All contributors have signed the CLA, thank you! ❤️
Have an awesome day! ☀️
I feel like we already have too many projects in our build which is getting overwhelming (and we're not even done adding more: #9925). If we were to move scripted tests somewhere, I would rather move them to the
That can be done by running
Even if we remove sbt-dotty, we should still keep all the scripted tests in the dotty repo since they're integration tests for dotty.
That seems useful indeed, but could be done by adding To recap, if we were to move the scripted tests I would rather move all of them (because we want to keep them all, and because having them spread across multiple projects would be confusing I think) and move them to an existing project. But doing that is orthogonal to how we want to split things up in our CI. |
Fair points. I still feel that it would be valuable to run the tests during Also, having dotty compiler integration tests in the How would you suggest I proceed with this PR? |
I propose not moving anything for now, and instead tweaking the CI config to run the scala2 tests in test_bootstrapped. Also, to avoid any unnecessary slowdown of test_bootstrapped, I think the eff and akka tests should be combined in just one project, since each sbt scripted test requires restarting sbt that would shave off a bit of time. |
The good news is that even with five separate sbt scripted test projects (akka, eff, plus three new ones for 9916), it only added 107 seconds to the run time of |
Some informal testing on my local workstation indicates that the per-test This overhead does dominate the total runtime of the scripted tests, and the standard project-per-test strategy scales poorly. However, merging the tests comes with a cost of loss of information. A unified test project means that testing halts at the first failure. Also, if there are multiple test items in Given that the total number of scripted tests is currently low (2 + whatever is introduced for #9916), and the total runtime for I would prefer a solution that avoids |
In an ideal world, this wouldn't use sbt at all, indeed. It should be orchestrated by Vulpix (even with Vulpix forking for scalac compilation, it would still be a huge improvement to the status quo). |
Closed in favor of #10000 |
This PR moves the Scala 2 interop tests currently located in the
sbt-dotty
project to a standalonescala2-interop-tests
project, and includes these tests in thetest_bootstrapped
job in CI.Separating these tests allows them to be run independently from the
sbt-dotty
test suite, which is slow and only runs during the nightly scheduled CI. It also gives them a home for when/ifsbt-dotty
ceases to exist.Adding the tests to the
test_bootstrapped
job means any regressions are noticed sooner, and CI configuration overrides should not be needed when fixing Scala 2 interop issues such as #9916, #6484, and #3100.