aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-06-21 01:48:39 +0200
committerGustav Sörnäs <gustav@sornas.net>2021-06-21 01:48:39 +0200
commit39483658faffd85a388bb505bc041246c4aa96a9 (patch)
treee9ea3919818a232fcb02c493019759d446344a4a
parent24b3b57000b60af21d19e65eba2234d2b38c61d1 (diff)
downloadmum-39483658faffd85a388bb505bc041246c4aa96a9.tar.gz
add release checklist
-rw-r--r--RELEASE-CHECKLIST.md56
1 files changed, 56 insertions, 0 deletions
diff --git a/RELEASE-CHECKLIST.md b/RELEASE-CHECKLIST.md
new file mode 100644
index 0000000..888147f
--- /dev/null
+++ b/RELEASE-CHECKLIST.md
@@ -0,0 +1,56 @@
+# Preparation
+
+- Create a new branch `x.y` and base all commits on it.
+
+# Getting the final binary
+
+- Run `$ cargo update`.
+- Check `$ cargo outdated`.
+- Build final version:
+ - `$ MUM_VERSION=x.y.z RUSTFLAGS="--remap-path-prefix=$(pwd)=" cargo build --release`
+ - `$ strip target/release/mum{ctl,d}`
+ - `$ cp target/release/mum{ctl,d}`
+- Basic test:
+ - Check `--version`.
+ - Connect to server.
+ - Connect with official mumble client.
+ - Mute mumd and check if sound can be received.
+ - Mute mumble and check if sound can be sent.
+ - Check status.
+ - Send a text message.
+ - Receive a text message.
+
+# Publish to Github
+
+- Set the version header and today's date in the changelog.
+- Create a new "Unreleased" header.
+- Final commits:
+ - Cargo.lock and Cargo.toml.
+ - Updated changelog.
+- Create a tag: `$ git tag vx.y.z`.
+- Merge into main: `$ git switch main && git merge --no-ff x.y`.
+- Push both branches and the tag.
+- Create a new release on Github targeting the pushed tag.
+ - Copy the changelog (change headers to `##`-headers).
+ - Copy the output of `$ git diff va.b.c..vx.y.z --stat=80` where a.b.c is the
+ previously released version.
+
+# Publish to the AUR (-git)
+
+- Clone the AUR repository.
+- Test `$ makepkg && sudo pacman -U <generated .tar.zst>`.
+- If any changes to the `MAKEPKG` have to be made:
+ - Make the change.
+ - Test again.
+ - Update the .SRCINFO with `$ makepkg --printsrcinfo > .SRCINFO`.
+ - Commit and push.
+- Don't commit and push if nothing but the release number changed..
+
+# Publish to crates.io
+
+Note that there might be a delay where crates.io catches up to the updated
+repository.
+
+- `$ (cd mumlib && cargo publish)`
+- `$ (cd mumd && cargo publish)`
+- `$ (cd mumctl && cargo publish)`