summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-03-13 11:44:43 +0200
committerLars Wirzenius <liw@liw.fi>2021-03-13 11:44:43 +0200
commitf42cecb9ac2d0b5b6f563e7a57f8d62cc5dca97d (patch)
tree2647bb39832af5929af9342e6477d86b5fd3b16c
parentbe4caf2233379b049d18266fe7dfedfbbe58355e (diff)
downloadvmadm-f42cecb9ac2d0b5b6f563e7a57f8d62cc5dca97d.tar.gz
doc: document release process
-rw-r--r--RELEASE.md27
1 files changed, 27 insertions, 0 deletions
diff --git a/RELEASE.md b/RELEASE.md
new file mode 100644
index 0000000..071ead3
--- /dev/null
+++ b/RELEASE.md
@@ -0,0 +1,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.