For each variant, only build compatible packages #447
Merged
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 checks each local .opam file for an explicit constraint on the version of
ocaml
. If it doesn't match the platform, the package is skipped.This is useful when different packages in a repository work on different versions of OCaml. For example,
prometheus
works on OCaml 4.03, butprometheus-app
requires 4.08. Previously, this prevented testing on 4.03 at all.The opam build uses
dune --only-packages
to build just the compatible subset.Fixes #297. I tried testing this on the prometheus repository, but hit ocaml/dune#5621, so I don't know how easy it will be to support this.
It should be fairly easy to extend this to match
base-domains
too, which would allow merging eio support packages in existing libraries without preventing testing the other packages on older compilers (/cc @bikallem).