etcd-io / etcd-io/etcd

Improve and automate releases

Open
#13,980 19 comments 3 reactions 1 assignee Claimed by @ivanvc View on GitHub
stage/tracked
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.