Add trigger pipeline for MR pipelines against ruby:latest
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?