Automate Zoekt Release Process

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

Background

The Global Search team currently maintains Zoekt, which requires a complex release process involving multiple manual merge requests (MRs) across various repositories and environments. Currently, updating Zoekt involves creating separate MRs for:

  1. Container Native GitLab (CNG) image bump
  2. CI Zoekt image bump
  3. GSTG (Staging) environment bump
  4. GPRD (Production) environment bump
  5. Zoekt helm chart bump
  6. Main helm chart bump

This process is inefficient and time-consuming as each MR must be created sequentially after the previous one is merged. The manual nature of this process introduces the potential for human error and takes valuable engineering time away from other tasks.

Proposal

This issue proposes to automate the Zoekt MR creation process to significantly reduce manual effort and streamline releases.

Automate Zoekt MR Creation Process

Develop an automation tool/script that can:

  • Create and manage the sequence of required MRs
  • Automatically create each subsequent MR after the previous one is merged
  • Handle the entire pipeline from start to finish:
    • CNG image bump
    • CI Zoekt image bump
    • GSTG bump
    • GPRD bump
    • Zoekt helm chart bump
    • Main helm chart bump

This automation will:

  • Reduce manual work for the Global Search team
  • Decrease the time needed to complete a full Zoekt release
  • Minimize potential for human error in the release process
  • Allow engineers to focus on higher-value tasks
  • Provide better predictability for release timelines

The implementation could potentially leverage the housekeeper gem

Edited by 🤖 GitLab Bot 🤖