Skip to content

HOWTORELEASE

Pierre Roux edited this page Nov 5, 2024 · 26 revisions

How to release

Publish a release

  1. Check that the milestone is complete

  2. Announce on Zulip

  • "We are preparing the X.Y.Z version of mathcomp-analysis, please do not merge into master until further notice."
  1. Edit the changelogs
  • git checkout -b changelogXYZ
  • Commit message: "changelog for version X.Y.Z"
  1. Update INSTALL.md if necessary (version numbers, dependencies, etc.)

  2. Check the opam files if necessary (tags, authors, description, etc.)

  1. Generate the HTML documentation and PR to the MathComp website
  • update the link to the last version of the doc in README.md
  1. Close the milestone

  2. Draft the release

  3. Just after the release, download the github assets (.zip and .tar.gz files) and add them back manually as assets to the release. (This is to freeze the archives for use with opam, because assets generated by github are not guaranteed to have a stable hash.)

  4. Announce to Zulip:

Publish the packages

  1. Submit a new opam package to https://github.com/coq/opam-coq-archive
  • you can generate the files with etc/packager X.Y.Z
  • all package go to opam released, except coq-mathcomp-experimental-reals.opam
  • Karl Palmskog (when releasing MathComp-Analysis 1.3.1): to make opam archive CI go faster, you can put this in the PR message:
    ci-skip: coq-mathcomp-classical coq-mathcomp-reals coq-mathcomp-analysis coq-mathcomp-reals-stdlib
    
    basically, if two packages are added, they are both tested separately, even if they depend on each other, which makes everything take longer. The ci-skip thing can be used for dependencies of other packages, but it must use exactly the added package name
  1. Add the new version on nixpkgs, this can be done following the procedure at https://github.com/coq-community/coq-nix-toolbox?tab=readme-ov-file#testing-coqpackages-updates-in-nixpkgs taking for instance example on https://github.com/NixOS/nixpkgs/pull/318007/files

  2. Annouce on Zulip: