This PR adds, removes, or changes no functionality, it just aims at making the development process easier.
A new dev can just opam install . --deps-only --with-test and dune build will just work! Without warnings!
Rationale for things I didn't do:
Completely unify dune-project files. This can't be done because the pipeline and the worker boot their docker environments from their respective directories, and try to build in them. This requires a dune-project for both.
Completely unify .ocamlformat files. This follows from the previous constraint. OCamlformat detects projects with the dune-project files, hence we need a new one for the worker and the pipeline.
Unify dune (with dirs :standard...). This can't be done in a single dune file at the root as of dune 3.7.0, we need one at each level.
Add lower bounds to all dependencies. This would require a lot of effort to not break dependency chains, and the CI is happy as is.
This PR adds, removes, or changes no functionality, it just aims at making the development process easier. A new dev can just
opam install . --deps-only --with-test
anddune build
will just work! Without warnings!Rationale for things I didn't do:
dune-project
files. This can't be done because the pipeline and the worker boot their docker environments from their respective directories, and try to build in them. This requires adune-project
for both..ocamlformat
files. This follows from the previous constraint. OCamlformat detects projects with thedune-project
files, hence we need a new one for the worker and the pipeline.dune
(withdirs :standard...
). This can't be done in a singledune
file at the root as of dune 3.7.0, we need one at each level.