aboutsummaryrefslogtreecommitdiffstats
path: root/extra/HOWTO_release.md
blob: eb95679d4e0d75b46bc8836a527e89add7601c4e (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

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