-
Notifications
You must be signed in to change notification settings - Fork 27
dev meeting 20220120
Present at the meeting:
- Marek Kubica (@Leonidas-from-XIV)
- Nathan Rebours (@NathanReb)
- Marek keeps working on opam-overlays CI
- Marek creates a temporary github actions with the lint checks for opam-overlays
- Nathan finishes the work on explicit repo list for opam-monorepo solver
- Nathan finishes building tezos with opam-monorepo
- Nathan starts upstreaming patches to tezos and packages maintained by tezos
Nathan worked on building Tezos with opam-monorepo. The first lockfile was not working because of a remaining exact constraint on lwt-watcher
. The solver was happy as lwt-watcher
builds with dune but does not build in a duniverse. Craig had already fixed that but the equal constraint prevented the solver from picking the fixed version. We'll need to upstream this, which according to Raphael from Tezos shouldn't be a problem.
Past that he was able to run a build with the new lockfile. There are a few problems still:
-
js_of_ocaml
is looking up thestdlib
through findlib and this fails - different parts of the tezos repo depend on different
bls12-381
libraries, one of which isbls12-381-legacy
. All those libraries come from the same repo. opam-monorepo has to pick the latest version of the repo required by tezos, in which the-legacy
library doesn't exist anymore. The easy fix for this would be to get Tezos to upgrade to the latestbls12-381
library but that might not be possible for them. The other solution is quite technically involved and would require source trimming based on packages. We can probably implement this in dune but it will take a bit of time. - The hacl-star port doesn't quite work as expected so we need to look into it
While working on this, Nathan triggered a serious memory leak in dune, or at least some code path taking up huge amount of memory. We'll need to investigate this.
Nathan also is almost done on the repository list feature. It just works with local filesystem URLs at the moment but that's already extremely useful as it allows us to write integration tests for lock
. We'll merge this first as it will prove quite helpful for working on any other feature.
We had some good discussion on the follow ups for the feature and decided it might make sense to just support vcs URLs for the first release of this feature as it's better for ensuring reproducible lock
. We also need some mechanism to reliably work on local filesystem URLs as those can only be absolute path so we'll bake in a feature to rewrite some watermarks in the file://
URLs.
Marek and Nathan worked on improving error messages in a very specific cases but this lead to interesting experimentation on how to interpret solver error output which is going to be handy for improving error messages in the general case.
Marek mainly focused on duniverse-lint
for opam-overlays
's CI. He's working on the temprorary github action and while doing so realized the tool need some fixes first. Hopefully we should have a lint github action in there soon!