Skip to content

dev meeting 20201014

Nathan Rebours edited this page Oct 14, 2020 · 1 revision

Present at the meeting:

  • Guillaume Petiot (@gpetiot)
  • Sonja Heinze (@pitag-ha)
  • Nathan Rebours (@NathanReb)

Current plan

  • Nathan looks into Sonja's issue on linting and start devising a clear plan
  • Nathan reviews opened PR to clear the PR tracker
  • Guillaume finishes the draft release PR
  • Sonja make the tag push URL configurable between HTTPS/SSH by adding a new config field
  • Sonja addresses the deprecation module issues

Meeting notes

Guillaume worked on a couple PRs to improve the way we handle local packages and clean up the code in Pkg a bit. He also reviewed all the submodule support intermediate PRs and worked on improvements to the linting step. Unfortunately he hasn't had time to finish the draft release PR.

Sonja opened an issue with a summary of the state of our lint checks. The next step is to move forward with a clear plan for the 2.0.0 linting. She also spent some time reviewing @Julow's PR to allow skipping the tag push when unnecessary.

Nathan worked on adding support for submodules, i.e. to include git submodules to the distrib tarball. This is controlled by a --include-submodules flag. While working on this he also fixed a couple bugs regarding which files were included in the tarball and simplified the distrib tarball preparation steps by removing some deadcode. Kate already successfully released a package using this new feature, we're just awaiting feedback from Rudi to make sure ocaml-lsp can also be released with this and we can then merge it.

We briefly discussed linting again and identified 3 kinds of checks:

  • Tarball mandatory checks, i.e. whether the tarball content builds, passes the test and opam linting. If those checks fail there is no point in trying to release the tarball so they should be run when creating the tarball.
  • Project linting, i.e. whether the project is well maintained and documented, does it have a license, a changelog etc. None of this is strictly required to release a package so one might want to disable them. It's important that those live in their own standalone command (which will be run by default as part of a dune-release default command run) so they can also be run by users that have a workflow that diverge from the dune-release default at some point. Those lint rules should not be configurable and user would have to either stick to them or skip this step but we don't want to end up making it configurable or meaning less by turning everything into warnings.
  • Dune-release health check i.e. whether everything is configured correctly for the whole dune-release process to go smoothly. Those should be removed from the lint command as they might prevent users with alternative workflows from running the other lint checks but they have value to help regular users ensure they can proceed with the release. We're considering moving them to a separate command and eventually running it at the beginning of the default command.

Once Sonja fixed the deprecation warnings related code, we can cut a new release, hopefully with the draft release and submodules support. After that the goal is to aim at the 2.0.0 release, the main breaking changes we want to include as part of this release are:

  • Dropping support for opam 1.2
  • Dropping support for delegates
  • Improve linting (as described above)