Skip to content

Add feature flagged Build.latest.gitlab-ci.yml

What does this MR do?

This adds a Build.latest.gitlab-ci.yml with an updated auto-build-image v1.3.1, as a stepping stone towards updating the "stable" Build.gitlab-ci.yml template. We will use the feature flag

redirect_to_latest_template_jobs_build

for rolling out this change to users on GitLab.com. Once it has been on GitLab.com for a few days, the "stable" template will be updated and the "latest" template, and the feature flag, will be removed.

This is being done out of abundance of caution, as this version of auto-build-image uses docker buildx build to build container images, instead of a plain docker build. We do not expect this to be a breaking change, but to ensure a quick rollback, we are releasing this behind a feature flag.

Related to #337987 (closed)

Manual QA for Build.latest.gitlab-ci.yml

See pipeline https://gitlab.com/hfyngvason/minimal-ruby-app/-/pipelines/351828516, run with

# .gitlab-ci.yml

include:
  - file: lib/gitlab/ci/templates/Jobs/Build.latest.gitlab-ci.yml
    project: gitlab-org/gitlab
    ref: add-latest-build-template-for-safer-buildx-rollout

How to setup and validate locally (strongly suggested)

  1. Enable the feature flag
    Feature.enable(:redirect_to_latest_template_jobs_build)
  2. Run a pipeline in a project with Auto DevOps enabled, or you can use just the Build template:
    include:
      - template: Build.gitlab-ci.yml
  3. Verify that the build job is using auto-build-image:v1.3.1

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Edited by Marcel Amirault

Merge request reports