Skip to content

Release 2.1.0

David Allsopp edited this page Jan 26, 2021 · 7 revisions

Opam 2.1.0 release

Release Process Checks

  • The release checklist is committed in the repository (in the same spirit as the compiler one)
  • Branch created in repo (i.e. feature freeze)
  • New features are tested (using mdx/dune-cram or whatever)
    • We have 4 different test suites in opam
      • Legacy in opam tests/ directory (make test)
      • Opam-rt (updated with some new features)
      • unit/crowbar tests
      • Cram tests (ftm, used for error message check)
  • The list of issues in the bugtracker is triaged to make sure that 1/ important bug reports have not been forgotten 2/ new feature requests are either scheduled for the next release(s) or dropped.
  • What testing remains manual, and how can automate it?

Per-release checklist

To Alpha

Priority features requested by users are present

  • depext
  • opam-lock
  • subdir pins
  • Switch invariants
    • System compiler upgrades work.
    • Compiler upgrades should work for minor versions.
    • Opam switch create is more expressive.
  • Update repo loading: more performant
  • Interleaving fetch & install
  • Better switch creation local compiler handling

Outbound priority queue for 2.2:

  • dune opam file generation
  • opam supporting multiple archive mirrors

New options/commands

  • opam install --check <pkg>
  • opam install <pkg> --ignore-conflicts --deps-only
  • opam show --just-file <file>
  • opam show --all-versions <pkg>
  • opam show --sort <pkg>
  • opam lint --check-upstream
  • opam list xxx --silent
  • opam env --check
  • opam switch export --freeze
  • opam switch export --full

Noteworthy fixes/updates

  • Several working-dir fixes
  • New lint checks

Doc & manual

  • Are the new features documented in the manual
  • Blog post introducing new features

To Alpha2

  • Write specs
    • depext
    • opam-lock
    • subdir pins
    • compiler

Issues/PR

To Beta

Issues/PR

CI infrastructure for opam repository is running the alpha.

  • Do the ocaml-ci-scripts work against it?

    • opam-repository testing:
    • rebuild containers to have both 2.0 and 2.1 branch binaries
    • run most builds on 2.1, but do a basic installation on 2.0
    • does new opam depext work
  • Docker containers rebuilding with the alpha?

  • ocaml/opam2

  • ocurrent/opam

  • Does this impact camelus?

Doc & manual

  • Are the new features documented in the manual
  • Blog post introducing new features

To Release Candidate

  • Instructions include escape hatch back to opam 2.0

More large testing, users test and report issues

  • All reported error fixed or moved to outbound queue
  • @altgr - regenerate graph of users, verify that opam 1.2.2 is fully EOL

Users have manually verified their requested features work in beta

  • @rjbou - draft in discuss format+ github issue (simpler navigation on issue/pr)

Users of opam-lib to make sure they work

  • opam-publish
  • dune-release
  • test depext doesn’t regress alongside builtin depext (@altgr)
  • camelus

Applications calling opam work

  • merlin
  • ocp-browser
  • tuareg

Opam dependencies up-to-date

  • opam-file-format
  • ocaml-mccs

Src_ext

  • Are we definitely on the latest versions of them all
  • Check make cold for the OCaml version used for bootstrap

Doc & manual

  • Are the new features documented in the manual
  • Blog post introducing new features

To Final Release

Manual tests on platforms for which we do not have CI (e.g. *BSD)

Package distributors ack

To Future

  • Is anything required for future upgrade compatibility? Especially with respect to bumping the opam-version in files.
Clone this wiki locally