Weekly workflow to update oxcaml pin
Nobody has claimed this yet.
- Dominant language
- OCaml
- Stars
- 1.9k
- Forks
- 500
- Avg merge
- 15h 21m
- Merged PRs (30d)
- 277
Description
With the merge of https://github.com/ocaml/dune/pull/14248 we would like to maintain the following invariant in the nix flake.
The oxcaml input should match the compiler version in oxcaml-opam-repository.
oxcaml = {
url = "github:oxcaml/oxcaml";
};
oxcaml-opam-repository = {
url = "github:oxcaml/opam-repository";
flake = false;
};
The ox devShell in the flake is used in the CI job and contains a full dev shell for development with oxcaml and the ability to run the oxcaml tests. The shell works by using nix/opam-overlay.nix which constructs a package set from a given opam repository, in this case oxcaml's.
This means that oxcaml-opam-repository is the source of truth for the oxcaml compiler version. It therefore means we need to keep the oxcaml input in sync.
This does not affect the oxcaml-trunk job which uses the latest source version.
I've already started a workflow in .github/workflows/update-oxcaml.yml but it currently doesn't work due to trivial issues with DCO and CI. We need to have a GitHub personal access token and somebody to take responsibility for the commits. Then the bot would create the PR updating the flake and we will see if it is working in the PR.
Here are some previous runs:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with .github/workflows/update-oxcaml.yml and review the existing workflow runs, especially pull request 14264. Check how nix/opam-overlay.nix derives the compiler version from oxcaml-opam-repository and how the workflow handles DCO and CI. Done means the workflow can authenticate, create a commit and pull request updating the flake, and the relevant CI succeeds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, ocaml
- Domain
- build-system, ci-cd
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100