summaryrefslogtreecommitdiffstats
path: root/doc/release-checklist.md
blob: e4e65138c32d8e0f03229ac967e5f1008fef524e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
This is a checklist for doing Sequoia releases.

  1. Starting from origin/main, create a branch XXX for the release.
  1. For all 'Cargo.toml's: Bump version = "XXX".
       - Only do this for non-released crates and those with changes
         relative to the last released version.
  1. For all 'Cargo.toml's: Bump documentation = "https://.../XXX/...".
  1. For all 'Cargo.toml's: Bump intra-workspace dependencies.
  1. Update dependencies and run tests.
       - Run 'cargo update' to update the dependencies.  If some
         dependency is updated and breaks due to our MSRV, find a good
         version of that dependency and select it using e.g. 'cargo
         update -p backtrace --precise  -3.46'.
       - Run 'make check'.
       - Run 'cargo run -p sequoia-openpgp --example statistics
         --release -- ../sks-dump-*.pgp' and update
         https://sequoia-pgp.org/tmp/stats.txt .
  1. Update manpage for sqv and sq:
      - Clone https://gitlab.com/sequoia-pgp/manpage-maker to a
        separate location.
      - Add symlinks and run as described in the manpage-maker's readme
      - Copy man-sqv/sqv.1 to sequoia/sqv/man-sqv/sqv.1
      - Copy man-sq*/*.1 to sequoia/sq/man-sq*
      - Make a commit with the message "sq, sqv: Update manpage."
  1. Make a commit with the message "Release XXX.".
       - Push this to gitlab, and create a merge request.
  1. Make a tag vXXX with the message "Release XXX." signed with an
    offline-key.
  1. Make a clean clone of the repository.
  1. For the following crates, cd into the directory, and do 'cargo
    publish':
       - buffered-reader
       - openpgp
       - sqv
  1. In case of errors, correct them, and go back to the step creating
    the release commit.
  1. Merge the branch to main by merging the merge request created in
    step 6, push the tag.
  1. Make a source distribution, put it on
    https://sequoia-pgp.org/dist/, collect and merge signatures.
  1. Regenerate docs.sequoia-pgp.org.
  1. Announce the release.
       - IRC
       - mailing list
       - web site