Draft
Conversation
Contributor
|
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 |
Member
Author
|
@jcp19 I've tried using the |
…ithin the docker container
This reverts commit 5a7fcbd.
3b95012 to
3c43cc9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 branchedit: test classes are now compiled once and for all 4 jobs
regression/features?sbtto do so?