Internal releases: Ensure stable branches are green before starting the release process

Context

Before merging backports for an internal release process, we need to make sure the stable branches are in a green state. Similar to the security_release_prepare:check_component_branch_pipeline_status job on a patch release pipeline (example), we need a job that checks for the stable branch status for the applicable internal release versions

Add a job to the internal release pipeline to check for the stable branches

Before merging the security backports, a job in the release pipeline should check for the stable branches of the internal release versions. This job should:

  • Be under the internal_release:prepare stage
  • For the internal release versions the job needs to check the branches of the GitLab Managed Versioned projects. For example if the internal release versions are 17.7 and 17.6, the 17.7 and 17.6 stable branches for GitLab, Omnibus, Pages, and so on, should be reviewed. With some refactoring, we can likely re-use the BranchesStatusService logic here).
  • Send a notification to Slack with the status (success or fail)