Make omnibus-gitlab build with Ruby 3
We currently build with Ruby 2.7. We should add a parallel CI job that also builds with Ruby 3 before we can safely switch over.
With omnibus there are two different Rubies to consider:
- The Ruby we use to perform chef runs. This is the Ruby installed in the container image.
- The Ruby we use to run the application. This is the Ruby defined as an omnibus software dependency.
Updating the container Ruby will be much harder, since we are using old versions of chef and chef/omnibus (15.x and 7.x respectively) and which have not received Ruby 3 compat patches yet.
Suggested approach:
- Ensure that
gitlab
operates correctly under Ruby 3. This is happening in gitlab#336754 (closed). - Update Ruby software version to 3, but keep container Ruby at 2.7 for now.
- Test application config, start-up, scripts, etc. and see what breaks.
- If everything OK -- we're done. Otherwise look into updating container Ruby to 3, which will likely be a ton of work, since it puts chef and omnibus on that path.
Edited by Matthias Käppler