Skip to content
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

Closed
wants to merge 7 commits into from
Closed

Rework the CI #551

wants to merge 7 commits into from

Conversation

andreabedini
Copy link
Contributor

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

Opening as draft to see if it works.

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
# include:
# - name: ghc96/cardano-node/8.5.0
# ...
matrix: ${{ fromJSON(needs.generate-smoke-tests.outputs.matrix) }}
Copy link
Contributor

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.

Copy link
Contributor

@michaelpj michaelpj left a 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.

@andreabedini andreabedini deleted the andrea/rework-ci branch July 24, 2024 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants