Skip to content

Release process

David Allsopp edited this page Jun 29, 2021 · 3 revisions

opam general release process

Note: this can be used as a template for specific release

Release Process Checks

  • The release checklist is committed in the repository (in the same spirit as the compiler one)
  • Check that release timing does not overlap with an OCaml compiler release
  • Branch created in repo (i.e. feature freeze)
    • Tell opam CI maintainers to rebuild containers
  • New features are tested
    • 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; important bug reports have not been forgotten; 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

  • list

Manual (and website)

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

To Beta

CI infrastructure for opam repository is running the alpha.

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

  • Docker containers rebuilding with the alpha?

  • ocaml/opam2

  • ocurrent/opam

  • Does this impact camelus?

Manual (and website)

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

To Release Candidate

More large testing, users test and report issues

  • All reported error fixed or moved to outgoing queue

Users have manually verified their requested features work in beta

Users of opam-lib to make sure they work

  • opam-publish
  • dune-release
  • camelus
  • orb

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

#### Manual (and website)

  • 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.

Misc

Clone this wiki locally