summaryrefslogtreecommitdiffstats
path: root/doc/release-checklist.md
blob: 6d92119d308f85c9e78a3e2bff78ba41c713ac20 (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
This is a checklist for doing Sequoia releases.

  - Starting from origin/main, create a branch XXX for the release.
  - 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.
  - For all 'Cargo.toml's: Bump documentation = "https://.../XXX/...".
  - For all 'Cargo.toml's: Bump intra-workspace dependencies.
  - Run 'make sanity-check-versions'.
       - This simple check fails if not all versions are in sync.
  - 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 .
  - Make a commit with the message "Release XXX.".
       - Push this to gitlab, and create a merge request.
  - Make a tag vXXX with the message "Release XXX." signed with an
    offline-key.
  - Make a clean clone of the repository.
  - For the following crates, cd into the directory, and do 'cargo
    publish':
       - buffered-reader
       - openpgp
       - sqv
  - In case of errors, correct them, and go back to the step creating
    the release commit.
  - Merge the branch to main by merging the merge request created in
    step 6, push the tag.
  - Make a source distribution, put it on
    https://sequoia-pgp.org/dist/, collect and merge signatures.
  - Regenerate docs.sequoia-pgp.org.
  - Announce the release.
       - IRC
       - mailing list
       - web site