Skip to content

dev meeting 20200805

Nathan Rebours edited this page Aug 5, 2020 · 1 revision

Present at the meeting:

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

Current plan

  • Sonja deprecates delegates
  • Sonja adds a Deprecated module to help us keep track of deprecated features
  • Sonja writes down all the checks that are run in the lint phase and open an issue so we can decide a clear policy regarding when to run them and whether they should be fatal or not.
  • Guillaume looks into removing the distrib_uri field from Pkg.t
  • Guillaume finishes the draft workflow
  • Nathan looks into using dune's cram tests instead of mdx
  • Nathan fixes #244

Meeting notes

Guillaume worked some more on the draft workflow PR but writing the tests proved challenging because of some limitations of the dry-run mode. He's been working on fixing that first by improving the dry-run mode and on making the tool's output more deterministic, in particular the order in which it displays the packages name. He also worked on the github URI mgmt PR. It's almost ready to merge but we'd like to get rid of the old distrib_uri function in the process so he'll work on improving how we override the distrib_uri value computed in Pkg.

Sonja didn't have much time to work on dune-release since the last meeting but she did some reviews and recently started working on the depecration of delegates. We discussed how this should be done and thought it would be a good idea to go through a dedicated module so that we can easily track down all the deprecation warning and remove the corresponding features before releasing 2.0.

Nathan wrote some more specification for the undraft command and realized that there were some more specification needed for the flags behaviour in publish and opam submit. Guillaume's working on adding a test for those! Nathan also added a working changelog check so our changelog won't ever fall out of sync again!

We quickly covered two other topics:

  1. The way the Pkg.t record is used to overwrite the values usually computed by dune-release is a bit confusing at times. It adds a lot of indirection and makes it hard to follow what value the functions in this module will return. We'd like to move to something more explicit, starting with the distrib_uri field, which has already led to a bug. We should try to get rid of this behaviour moving forward. It made sense for topkg because all of those fields were configurable but most of them aren't anymore in dune-release.
  2. The linting phase. Atm it's automatically run after the distribution tarball is built unless --skip-lint is passed. This can be annoying to some users that don't release to github but rather want to use dune-release in their own script to build the tarball and publish it themselves. We need to better specify what are the checks that must always be run (like opam linting, building and testing the content of the tarball) and the rest. We're thinking of removing those other checks from the distrib subcommand and just run them as part of the lint subcommand in 2.0.0. The lint phase will then automatically run as part of the default command and can be disabled using --skip-lint. Furthermore we need to better specify what in this linting phase is a failure and what is a warning. Sonja will look into this and open an issue with a summary of the checks so we can start specifying the behaviour we want.