ocaml-docs-ci icon indicating copy to clipboard operation
ocaml-docs-ci copied to clipboard

Use the solver pool

Open tmattio opened this issue 2 years ago • 3 comments

This will allow us to scale down the machine used to generate the documentation since all the processing is for the solver.

tmattio avatar Jan 24 '23 08:01 tmattio

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.

TheLortex avatar Jan 24 '23 09:01 TheLortex

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.

tmcgilchrist avatar Jan 24 '23 22:01 tmcgilchrist

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.

moyodiallo avatar Nov 13 '23 11:11 moyodiallo