-
Notifications
You must be signed in to change notification settings - Fork 36
Parallelize CI #889
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
base: master
Are you sure you want to change the base?
Parallelize CI #889
Conversation
…ithin the docker container
This reverts commit 5a7fcbd.
|
before we move on with merging this, it would be cool to understand what problems we get when enabling parallel tests in sbt and see if there's a way to fix them. That might be the simplest solution |
|
@jcp19 I've tried using the |
This PR splits up the one big CI job we have into 7 (example) and executes 4 of them in parallel to speed up our CI runs (~16 vs. 22 min).
The main change is that this PR splits
sbt testinto executing GobraTests for each subdirectory inregressionand executing all remaining test classes. I.e., we currently have the following jobs:regressions/examplesregressions/featuresregressions/issuesTo achieve this behavior, I've introduced a tag
GobraTestsTag, which unfortunately has to be Java code. This tag allows us to run only test classes either with or without this tag.Furthermore, the CI automatically detects the subfolders in
regressionsand spawns jobs accordingly such that we do not miss test cases if someone adds further subdirectories.I've marked this PR as a draft as we can discuss the following points / decisions:
sbt testand use nowsbt testOnlyto execute the test cases (instead of using a precompiled JAR file) which involves compiling the test classes in each of the 4 jobs mentioned above, which adds some overhead. Do we want to stick to this? I'm currently testing the alternative on this branchregression/features?sbtto do so?