Automated release for multiple hdk versions
harlantwood opened this issue · 1 comments
harlantwood commented
Example Version:
0.3.3-pre+hdk-0.0.122
The +… part is valid semver:
https://semver.org/#spec-item-10
Implementation:
- when ready to release a new version, cut a branch eg:
release/0.3.4 - push branch to GitHub
- on CI, we detect this new branch (release/x.x.x) and:
- Run tests and checks
- If anything fails, try clearing .cargo and target and try again
- Read the current hdk version in use from cargo.toml (eg 0.0.122)
- Bump version in cargo.toml to 0.3.4-pre+hdk-0.0.122
- Git tag that version number
- Push to GitHub
- Push to crates.io
- Repeat this process for all higher hdk versions that exist (eg 0.0.123, etc)
- Repeat this process for up to 10 hdk versions total, including those lower than the starting hdk version
notes:
- All of this happens on the release/0.3.4 branch
- Only release versions when all checks pass
- Stop trying to go up if a version fails
- Stop trying to go down if a version fails
harlantwood commented
Hopefully not needed now that hdk is stabilizing