diff options
-rw-r--r-- | extra/HOWTO_release.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/extra/HOWTO_release.md b/extra/HOWTO_release.md new file mode 100644 index 0000000..eb95679 --- /dev/null +++ b/extra/HOWTO_release.md @@ -0,0 +1,27 @@ + +Reminder of release process (new tagged versions): + +final prep: +- consider running `cargo update` and checking that everything works +- `make lint` and fix anything +- `make fmt` and commit any fixes +- update CHANGELOG and increment version in `adenosine-*/Cargo.toml`. `make build` to + update `Cargo.lock`, then commit +- `make test`, `make deb` and ensure build works and is clean +- ensure working directory is *entirely* clean (no "Untracked files" or edits, + even if unrelated to code changes) + +push/tag/etc: +- when project is ready to share on crates.io, do: push to crates.io: `cargo publish -p adenosine-cli`, `cargo publish -p adenosine-pds` + => usually want to do this before git tag in case validation details come up +- create a git tag: `git tag vX.Y.Z -a -s -u bnewbold@archive.org -m "release X.Y.Z"` +- push git and tag: `git push`, `git push --tags` +- `cp ./target/release/adenosine adenosine_X.Y.Z_amd64_linux` +- `cp ./target/release/adenosine-pds adenosine-pds_X.Y.Z_amd64_linux` +- upload linux binary and deb package, eg: `ia upload adenosine-bin ./target/debian/*.deb adenosine*_amd64_linux` + +homebrew / OS X (TODO): +- pull project +- build, then build package (?) +- upload package (?) +- update homebrew-adenosine repository |