Skip to content

Requirements

Kate edited this page Feb 10, 2020 · 22 revisions

This page documents the infrastructure requirements of the OCaml open-source tooling, in an effort to ease allocation of the available resources.

Continuous Integration

  • docker-base-images.

    • OCurrent orchestrator (toxis)
    • AMD64 builder (amd64)
    • ARM32 builder (arm32-1, arm32-2)
    • PPC64 builder (ppc64)
    • Nix builder (TODO)
  • ocaml-ci.

    • Production.
      • Web front-end and OCurrent scheduler. (toxis, but could/should be a separate, smaller machine)
      • Build fleet (toxis, laodoke, phoebe)
    • Staging. A similar environment to production, but with a smaller build fleet (e.g. web front-end, scheduler, debian build machine). (TODO)
  • ocaml-cb

    • Currently one dedicated machine that runs both as ocurrent orchestrator and benchmark machine (autumn). In the future we have to move the scheduler/web frontend to a separate machine to not interfere with the benchmarks. This machine can be shared.
  • opam-health-check.

    • Production. A beefy server hosting frontend/build server for check.ocamllabs.io (hipp)
    • Testing. A server half (or even a quarter) the size of the production server would be enough to test several improvements such as new versions of opam-health-check, new opam solver, opam optimizations, new releases of the compiler, custom tests for opam-repository PRs (sometimes the CI environment is not enough and requires custom tests such as for revdeps, or custom dependencies/distributions) (TODO)
  • opam-ci.

    • Web front-end and OCurrent scheduler. This would be at first a testing server. A normal size server would be enough, no need for crazy specs if the build fleet of ocaml-ci (see above) is accessible. If not, its size would be to be discussed, possibly a normal size for testing and taking what currently drives ci.ocaml.org instead. (TODO)
  • mirage-ci (opam-repository CI).

    • Production. A big server hosting frontend/build server for ci.ocaml.org (pima)