kit-ty-kate / opam-repo-ci

An OCurrent pipeline for testing submissions to opam-repository

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

opam-ci

Status: experimental

This is an OCurrent pipeline that tests submissions to opam-repository.

To test locally you will need:

  1. A personal access token from GitHub.
  2. A submission.cap for an OCluster build cluster.

Run the opam-repo-ci-local command (you might need to increase the limit on the number of open files):

ulimit -n 102400
dune exec -- opam-repo-ci-local \
  --confirm harmless \
  --submission-service submission.cap \
  --github-token-file token \
  --capnp-address tcp:127.0.0.1:5001

Browse to http://localhost:8080 to see the web UI. You can either set the confirm threshold (at the bottom of the web page) to allow all builds to start, or just click on a yellow box and then on the Start now button to start one step manually.

The analysis step will detect which packages have been changed. Then, for each supported platform it will try to install the package. If that succeeds, it will run the package's tests, and in parallel it will find other packages that depend on this one and test them too.

Web UI

The public web front-end is a separate process. It needs a .cap file to connect to the engine. If you have the file for the real service, you can use that. If you're testing the engine locally (as shown above), you can use the ./capnp-secrets/opam-repo-ci-admin.cap that it writes out.

dune exec -- opam-repo-ci-web --backend ./capnp-secrets/opam-repo-ci-admin.cap

Then browse to http://localhost:8090/github to see the public UI.

About

An OCurrent pipeline for testing submissions to opam-repository


Languages

Language:OCaml 95.9%Language:Cap'n Proto 2.0%Language:Dockerfile 1.6%Language:Makefile 0.2%Language:Shell 0.2%Language:Standard ML 0.1%