Skip to content

dev meeting 20220428

Nathan Rebours edited this page Apr 29, 2022 · 1 revision

Present at the meeting:

  • Marek Kubica (@Leonidas-from-XIV)
  • Thibaut Mattio (@tmattio)
  • Etienne Millon (@emillon)
  • Nathan Rebours (@NathanReb)

Current plan

  • Nathan release current ctypes dune port as 0.20.1+dune to opam-overlays
  • Marek keeps working on fixing the hacl-star dune port
  • Etienne works on the default ocamlpath fix for ocamlfind in dune
  • Etienne works on fixing the last bits
  • Nathan prepares the opam-monorepo PR for tezos and submit to the rest of the team for review

Meeting notes

Etienne has been working on the upstream ctypes dune port. The last remaining blockers are still related to the test suite. The first is a test that makes an assumption on the size of long doubles that do not hold on arm/macos and therefore the test fail. This has no impact outside the test suite and the solution is likely to disable that test on the relevant platforms. The second is a bit more of a concern as it's a problem with dll handling on windows that causes a test to fail. It's still hard to tell if fixing this test will reveal problems on windows or not.

We'll use Etienne's work and release it as 0.20.1+dune as windows is not our highest priority right now and we don't really care about the whole test suite passing for our dune port. We've been trying it on tezos and it seems to work so far. We'll go ahead and release and can always adjust the port and release +dune2 and so forth if required.

Following Nathan clarification of the jsoo/findlib bug, Etienne revived an old PR that was fixing an issue with how OCAMLPATH was set in dune that caused problem when using a vendored findlib. The fix works in tezos but when the PR was originally opened, Jeremie suggested a better fix. Etienne is looking into it at the moment. We'll keep using a pin for now to test tezos and will come back to this once we have sorted out all the other blockers. We will need a dune release in the end though.

Thibaut followed up on the ometrics and merlin situation. There's no merlin release yet but this should not be a problem. Nathan got in touch with Valentin who's maintaining ometrics for Nomadic Labs. The original removal of the dot-merlin-reader dependency did not work out as ometrics does depend on it at runtime. Thomas had mentioned that ometrics might not need to use merlin at all. After looking into it, Valentin confirmed that they were simply using it to extract doc comments, which they should be able to do simply by processing the AST, looking for [@@ocaml.doc ...] attributes. They are looking into using ppxlib for this so all should fall in order very soon. Valentin also said that they would simply remove ometrics temporarily if it became a blocker for opam-monorepo adoption.

Marek worked on the last features for the 0.3 release. In particular he implemented the CI for 0.3 and that went pretty smoothly. We were able to test it before releasing the tool itself which has been quite helpful. After the failed first attempt to releasing the tool, Marek worked on a bunch of last minute fixes.

He then started looking into properly applying opam patches when pulling sources but went on to look into fixing our dune port for hacl-star which has been quite time consuming. Etienne recently suggested a simpler and faster fix which Marek will look into as a quickfix to get the Tezos work going. We'll look into a proper fix when trying to upstream the port.

Nathan has been taking care of the 0.3.0 release. The first attempt failed because of the integration tests. They can't run in the opam sandbox so we disabled them for the second release attempt. Nathan reported the issues to the opam team so we can work out a solution for the next release. The integration tests were only disabled in the released opam file.

Nathan has also been working on maintaining the opam-monorepo branch of tezos, fixing opam constraints and porting new dependencies to dune here in there.

We're very close to fixing the last bits and should aim for opening a first PR with a switch to opam-monorepo as a next step. The PR will contain an initial lockfile, makefile targets to smooth the basic operations which still require passing a few extra options at the moment. In the future will improve both the tool and tezos repo layout so using opam-monorepo directly is simple and viable enough. The PR will also come with extended documentation on how opam-monorpeo works, how to update the lockfile, the common errors etc...

Nathan will work on a draft for this PR next and submit it to the rest of the team for review before opening it as a draft on Tezos so the devs can start trying it out.