-
Notifications
You must be signed in to change notification settings - Fork 29
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
Rework the CI #551
Rework the CI #551
Conversation
This reworks the CI to give more control to GitHub Actions. - The flake exposes the list of smoke-test derivations that GHA load and execute. - The repositories for base (available only for PRs) and head are built concurrently - Built repositories are cached by their commit hash, we should not need to build them more than once. We can always delete the specific cache in case of issues. Minor changes: - haskellPackages -> chapPackages - Consistent camelCase - chapPackagesLatestVersion maps to a single version rather than a list with a single element Bump flake
9d2f4a1
to
79fad13
Compare
# include: | ||
# - name: ghc96/cardano-node/8.5.0 | ||
# ... | ||
matrix: ${{ fromJSON(needs.generate-smoke-tests.outputs.matrix) }} |
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 is not a good idea, I'm afraid. The reason is that there is a cap on the maximum number of jobs that a matrix can generate :( I ran into this trying to do something like this for HLS. I think we would hit the cap quite fast (it's ~500). We could potentially do one job per GHC version I guess.
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.
Just a comment on the main approach. Also, we did something like this in the past, I think, and I moved it to just build the smoke test packages derivation because we wanted to do less in GHA. But I do think it can be nice to do more in GHA if we get a better UI from it.
This reworks the CI to give more control to GitHub Actions.
Minor changes:
Opening as draft to see if it works.