trustgraph/trustgraph-holochain

Automated release for multiple hdk versions

harlantwood opened this issue · 1 comments

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

Hopefully not needed now that hdk is stabilizing