Skip to content

Add trigger pipeline for MR pipelines against ruby:latest

Steve Abrams requested to merge ruby3-spec-job into master

What does this MR do and why?

As we work to upgrade release-tools to Ruby 3, we want to be sure no new incompatible changes are added to the code along the way.

This MR introduces a new job that will build an image using ruby:alpine which will use the latest version of ruby. This job will only run when relevant files are changed or when the BUILD_IMAGE environment variable is set to true.

Then, using this new image, we add a second run of the specs job against that image that is allowed to fail.

Here is an example of a pipeline with a failure on the ruby-latest track: https://gitlab.com/gitlab-org/release-tools/-/pipelines/845047636. The specs [ruby-latest] job has failed due to a test being incompatible with the latest version of Ruby (Ruby 3 in this case), but it has not failed the pipeline.

Here is an example of the pipeline passing once the fixes have been made: https://gitlab.com/gitlab-org/release-tools/-/pipelines/845047406

The 2nd commit in this MR fixes all of the specs that currently fail on the ruby-latest image (since these are allowed to fail, I'm happy to move this commit to a separate MR).

Author Check-list

  • [-] Has documentation been updated?
Edited by Steve Abrams

Merge request reports