-
Notifications
You must be signed in to change notification settings - Fork 156
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
Use a separate job for each test suite in GitHub CI #4276
Conversation
395bf93
to
987737b
Compare
This still does some unnecessary rebuilding, but it's relatively minor so I think we should merge it as it is now, and follow up with an improvement to stop the rebuilding. |
I am not 100% sure about this, but from the looks of it occasionally test suites are not being rebuild, however during restoration of artifacts permissions are probably not restored correctly, which leads to prebuild executable not having an executable permission for the use and leading to Permission denied error. This is just my hypothesis.
Besides that I love the Haskell script in this PR and overall approach looks great. |
If this was the case, I wouldn't expect those tests to have succeeded for ghc 8.10.7 and 9.2.8. Also, I've had everything green on a previous test run that used the artifacts approach. I'll retry those tests and see if they pass. That doesn't mean there isn't a problem, of course, but it will shed more light on the problem.
Thanks! |
Not necessarily. See the build for those ghc versions and you will see that the test suite is being recompiled, eg for ghc-9.2.8:
|
This is working better now that I'm using a |
24d80fe
to
eeee2de
Compare
eeee2de
to
b9e3229
Compare
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.
This was a long awaited improvement to our CI.
Thank you for getting it done!
A discussed in meetings, the tests now wait for all of the builds to finish instead of starting when the one with the same ghc version finishes. If we ever want to improve on this, there's a solution here. (Max pointed me to this discussion.) |
Closes #4039
Checklist
.cabal
andCHANGELOG.md
files according to theversioning process.
.cabal
files for all affected packages are updated. If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)CHANGELOG.md
for the affected packages. New section is never added with the code changes. (See RELEASING.md)fourmolu
(usescripts/fourmolize.sh
)scripts/cabal-format.sh
)hie.yaml
has been updated (usescripts/gen-hie.sh
)