Zoekt Indexer: Add (semi) automatic releases

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Background

Currently, we need to perform several manual steps to release the new indexer version. I think we can automate almost the entire process.

Proposal

Versioning

We can follow https://gitlab.com/gitlab-org/container-registry approach. Here's a rough plan:

  1. Enable conventional commits for the renovate bot (example: gitlab-org/frontend/renovate-gitlab-bot!736 (merged))
  2. Add commitlint to CI and Lefthook to start enforcing conventional commits (example: gitlab-elasticsearch-indexer!283 (merged))
  3. Add make release command that releases a new tag and pushes it (example)

Automatic MR creation

Later, with the housekeeper gem we can start creating MR's to update the indexer version:

  1. CNG MR (example)
  2. GSTG MR (example)
  3. GPRD MR (example)
  4. gitlab-zoekt helm chart MR (example)
  5. main helm chart MR (example)
Edited by 🤖 GitLab Bot 🤖