summaryrefslogtreecommitdiff
path: root/RELEASE.md
diff options
context:
space:
mode:
Diffstat (limited to 'RELEASE.md')
-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.