chore(CI): add CI jobs for package dependency specification and lower bounds#13844
Merged
shonfeder merged 4 commits intoocaml:mainfrom Mar 25, 2026
Merged
chore(CI): add CI jobs for package dependency specification and lower bounds#13844shonfeder merged 4 commits intoocaml:mainfrom
shonfeder merged 4 commits intoocaml:mainfrom
Conversation
Collaborator
Author
|
There's a failing job for I suspect because |
Alizter
reviewed
Mar 19, 2026
shonfeder
requested changes
Mar 20, 2026
b509cac to
8013372
Compare
shonfeder
reviewed
Mar 21, 2026
Member
shonfeder
left a comment
There was a problem hiding this comment.
Looking good! I'm very happy to see the actions passing :D Have you been able to test that it can identify packaging errors? (E.g., perhaps by reversing the csexp lower bound added in https://github.com/ocaml/dune/pull/13730/changes ?)
87e9135 to
3416857
Compare
Collaborator
Author
|
Here's reversing #13730 in a test branch and it reproduces the lower bounds failure: https://github.com/Sudha247/dune/actions/runs/23433560103/job/68165835580?pr=3 |
Collaborator
Author
|
I'm not sure the Windows CI failure is related - this PR is not touching any related code. |
shonfeder
approved these changes
Mar 24, 2026
Signed-off-by: Sudha Parimala <sudharg247@gmail.com>
…ds check Signed-off-by: Sudha Parimala <sudharg247@gmail.com>
Minor typo fixes and use the previously computed packages list for pinning packages. Mark the package versions as dev Signed-off-by: Sudha Parimala <sudharg247@gmail.com>
Run the workflow only on merges to the main branch and provide an option for manually running it with workflow dispatch. Signed-off-by: Sudha Parimala <sudharg247@gmail.com>
3416857 to
6a4a9eb
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.
Fixes #13731.
This is to catch any packaging errors early. This tries to replicate the
opam-repo-cijob, which does this (one instance here: https://opam.ci.ocaml.org/github/ocaml/opam-repository/commit/a95df9014bc79103fde668cf2adbe6680fd2f9cf/variant/compilers,5.0,fs-io.3.21.0~alpha3,tests), but within source.The
opam-repo-cijob clones the wholeopam-repositoryand adds the PR as its overlay and tries to install a particular package. We do something similar here by installing dependencies of a specific package and building only that package. I tried to do it without pinning other packages within Dune, but that proved to be tricky; Most packages in the dev repo require the development version of Dune and sibling packages (where there are dependencies on sibling packages). So, I resorted to only pinning the packages and not installing them, thus making them available to the solver, but the packages themselves don't influence the solver.Note: This matrix creates an independent job for every package. I haven't yet figured out how to make it less noisy in GitHub Actions.