Improve and automate releases
- Dominant language
- Go
- Stars
- 52.3k
- Forks
- 10.5k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 42
Description
As mentioned on v3.5.3 release issue it took me 4 hours to run the release script. It required a lot of desperate patches to run and I don't expect anyone sane to do the same.
Some of the issues encountered when running release script:
* Path from local machine included in binaries. Requires a lot of manual steps to setup an environment to avoid leaking.
* Release sources/execute scripts from different branches in hard to predict way. There are a lot of bugs present in scripts from old release branches and incompatible changes done.
Changes that I needed to do to release v3.5.3 and v3.5.4 https://github.com/etcd-io/etcd/pull/13979
Proposed improvements:
* [x] Release scripts are tested in dry mode on main branch
* [x] Release scripts are tested in dry mode on supported branches (release-3.5, release-3.4).
* [x] Release scripts are tested on release-3.5
* [x] Release scripts are tested on release-3.4
* [ ] Process of building docker images is reproducible as it builds artifacts within docker image.
* [ ] Merging commit runs release process that pushes development artifacts.
* [ ] Tagging git repo starts automatic release process that uploads (most/all artifacts).
* [ ] Release process qualifies the release artifacts (runs e2e and functional tests)
cc @ptabor @spzala @ahrtr
Contributor guide
Assessment
This issue has not been assessed yet.