Skip to content

Explicitly set Omnibus and CNG Ruby version in CI

Stan Hu requested to merge sh-omnibus-cng-ruby-version into master

What does this MR do and why?

This commit adds OMNIBUS_RUBY_VERSION and CNG_RUBY_VERSION to define which versions are used in the Omnibus and CNG projects.

Previously the Ruby versions used in the child pipelines for building Omnibus and CNG was determined based on the image used in the respective CI jobs. When we bumped the CI image to 3.1.5 in gitlab-build-images!803 (merged), this quietly added a requirement to Omnibus that Ruby 3.1.5 had to be supported. At the same time, the build-cng image used Ruby 3.1.4, so https://gitlab.com/gitlab-org/build/CNG-mirror/-/jobs/6821715942 started to fail once CNG stopped building Ruby 3.1.4.

While the latter case needed gitlab-org/build/CNG!1828 (merged), we can at least avoid the first problem by explicitly setting the version needed. In an ideal world, these variables would be determined automatically from the upstream projects. However, setting these variables avoids surprise failures and opens the possibility up for automation to update these values.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

Edited by Stan Hu

Merge request reports