ocaml-docs-ci
ocaml-docs-ci copied to clipboard
Use the solver pool
This will allow us to scale down the machine used to generate the documentation since all the processing is for the solver.
I can take a look at the solver pool API to make sure it fits what docs CI needed. I remember tweaking from what OCaml-CI does in the solver step.
The Solver as a Service (SAAS) application should be available for any ocurrent hosted application to use for running solves. This would allow for more efficient use of existing hardware resources and centralise the knowledge/code for performing solving.
There is a capnp API in https://github.com/ocurrent/solver-service that applications like docs-ci would use to submit solves. We know that API needs to evolve to support more features like caching and multiple opam-repos. Extending it's use to docs-ci would give us another motivating example.
There's some difference between the 2 API:
A generalization on the solver-service
side about constraints is needed:
module Solve_request = struct
...
constraints : (string * rel * string) list; (** Version locks *)
...
end
https://github.com/ocurrent/ocaml-docs-ci/blob/a134b6c3da854deb4da4f78522799a08b4074087/src/api/solver/worker.ml#L33C5-L33C16
And adaptation of ocaml-docs-ci
API to match solver-service
.