Draft: Introduce opam lock files a predictable package set
Introduce lock files so that make build-deps
(and especially it's dev counterpart make build-dev-deps
) fetches the exact package versions everytime, unless expected otherwise.
Context
We often run into solver issues where it is either having difficulty find a solution (Eg when dev dependencies like ocamlformat are installed) or that new versions are pulled in (possibly untested on the CI) which lead to tarball cache missed and possible build failures.
Introducing lockfiles make it a) reliable b) speed up time to interaction by saving some time for the solver and fetch more packages tarballs from the opam cache.
Manually testing the MR
No change in the development workflow or the artifact behaviour - when new packages are introduced, lockfiles would be generated to accomodate incoming packages.
Checklist (N/A)
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rst
for the protocol and the environment, theDevelopment Version
section ofCHANGES.md
for everything else). -
Select suitable reviewers using the Reviewers
field below. -
Select as Assignee
the next person who should take action on that MR