Can we create a full deployment experience for GitLab chart bumps?
We regularly bump the GitLab chart version to deploy new changes. Our current process sees a chart bump MR automatically created and assigned to Delivery SREs for a manual merge (example) This change was introduced by #2250 (closed) and is a big improvement from the previous process.
However, we still have two problems with the current approach:
- The chart bump is a manual step that only happens once a week
- We miss the deployment tracking that changes made by the auto-deploy pipeline receive for free. For example, if we need to know when a specific commit reached production we need to:
- Find when the commit was merged
- Check the k8s-workloads to find the chart bump that came after the merge time - https://gitlab.com/gitlab-com/gl-infra/k8s-workloads/gitlab-com/-/merge_requests?scope=all&search=Bump+to+Gitlab+chart&state=all
- Check the chart bump MR to find the versions changed - gitlab-com/gl-infra/k8s-workloads/gitlab-com!1579 (diffs)
- Check the compare page to see if the required commit was included - gitlab-org/charts/gitlab@d33f9185...24fcdf94
If we gave chart bumps a full deployment process we could add deployment environment labels to MRs and show deployment progress messages in Slack. Maybe this is something we could do with release-tools, or this could be a good time to think about deployments might work if we were designing the process from scratch.