summaryrefslogtreecommitdiff
path: root/RELEASE.md
blob: 071ead37b30d4b89f86238ae9e050be8105bd13c (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
# Release process for vmadm

* Land any changes that are in progress.
* Make sure `./check` runs successfully.
* Create a branch for making changes during release.
* Update `NEWS` to cover all user-visible changes.
* Choose new version number and update it in the relevant places.
  - `NEWS`
  - `Cargo.toml`
  - `debian/changelog`
* Commit version number changes.
* Create a release tag: `git tag -sam "Release X.Y.Z of vmadm" vX.Y.Z`
* Update the version number by appending `+git` to it, in all the same
  places, except `Cargo.toml`.
* Commit version number changes.
* Push release branch to `gitlab.com`, create a merge request, merge it.
* Change to the `main` branch locally, pull from `gitlab.com`.
* Push `main` branch to `git.liw.fi` so that CI builds things.
  - wait for that to happen
* Push tags to `git.liw.fi` so that CI builds release.
  - verify that it does
* Push tags to `gitlab.com` so they're there.
* Publish to `crates.io` with `cargo publish` after CI has built release.

If there's a problem after the push of the release branch to
`gitlab.com`, fix it, and then re-start release process from the
beginning.