Status: experimental
This is an OCurrent pipeline that provides CI for OCaml projects hosted on GitHub.
The pipeline is defined in pipeline.ml. It:
- Gets the list of installations of its GitHub app.
- For each installation, gets the list of repositories to check.
- For each repository, gets the branches and PRs to check.
- For each target, it fetches the head commit, generates a Dockerfile and builds it.
The generated Dockerfile first adds all the *.opam
files found in the project,
then uses opam
to install all the dependencies, then adds the rest of the source
files. This means that rebuilds are often very fast, because Docker will reuse the
previously cached build step as long as the opam files don't change.
To add the CI to your own project:
- Go to https://github.com/apps/ocaml-ci and install the app for your GitHub user.
- Configure just the repositories you want to test (start with one!).
- Ask us to add you to the alpha-testers list by submitting a PR against this
repository adding yourself to
--github-account-whitelist
instack.yml
. - Report bugs :-)