feat: Integrate a release automation tool into the scaffolding release workflow
Introduce release-plz or any other release automation tool into the release workflow. As well as keeping a changelog which will require enforcing conventional commits
AC:
- Work against a dummy repository first, let everyone experience what merging and releasing looks like. Meet other ACs for this ticket on the dummy repo and then upgrade the scaffolding repository.
- Enforce conventional commits
- Update allowed merges to rebase merge to preserve commits
- Add release-plz workflow, following their default recommendations for now
- Ensure releases are tagged
- Can do releases from
mainand release branches
Just an FYI that there's a spike in the Holochain repo to investigate some release tooling options. This is one is one of the options but it'd be super if we converged on a single piece of tooling so we don't have to keep thinking about different tooling each time we go to a different repo. If we experiment with some tools before we converge that is also fine with me :)
Yes, makes sense to use consistent release automation tooling. I suppose this is the issue you are currently using to track this? https://github.com/holochain/wind-tunnel/issues/116
That's part of it yes, where we think that doing changelogs without custom tooling is likely going to work nicely with conventional commits. Hopefully a release tool would also use that. But the issue against the Holochain repo is this one https://github.com/holochain/holochain/issues/4355. Not much detail yet, but the plan we've discussed verbally is to do a spike on tooling at some point
holochain-serialization, lair and kitsune2 are multi-crate repos that should be reasonably simple to introduce this to