cortexproject / cortex

A horizontally scalable, highly available, multi-tenant, long term Prometheus.
https://cortexmetrics.io/
Apache License 2.0
5.47k stars 795 forks source link

Automate releases via github actions #6038

Open friedrichg opened 4 months ago

friedrichg commented 4 months ago

Is your feature request related to a problem? Please describe. Release process is very manual and requires building cortex locally

Describe the solution you'd like Release candidates and releases should be automated via actions and not require us to build the container locally We should update docs and simplify the release process so it is all done in github actions

If we do these, we can remove maintainers access to docker registries like https://hub.docker.com/orgs/cortexproject/members

rapphil commented 3 months ago

I can help with this item. I have experience with automation of release workflows using github actions.

What do you have in mind?

In prev projects we had the following workflow:

  1. On every merge to the main branch, create a new image tagged with the commit id of the repo and publish to a staging repository. Test this image with end to end tests.
  2. When you are ready to release, create a release branch, do all the preparations for the release via commits etc.
  3. Release the version. This is a manually triggered workflow that will copy the image from the staging repository and publish to the official repository with the tagged version.