Skip to content

Add alpine 3.15 as new runner/helper-image flavor

What does this MR do?

Partially related to !3184 (closed). This commit adds alpine 3.15 as new runner/helper-image flavor option in addition to the existing alpine 3.12, 3.13 and 3.14 ones. Alpine 3.15 is the latest stable release from November 2021 and the only one which still actively receives bug-fixes: https://alpinelinux.org/posts/Alpine-3.15.0-released.html

This release also contains a new Git version (from 2.32.0 to 2.34.1) as well as a new Git-LFS version (from 2.13.1 to 3.0.2) when comparing to alpine 3.14, containing various new features and bug-fixes.

Why was this MR needed?

Git-LFS versions prior to 3.0.0 had an issue with improperly handling GitLab's rate-limit header (see the upstream PR addressing this topic). MR !3184 (closed) already tries to address this partially yet based on the gitlab-runner helper image's Dockerfile (see here), it seems that the installed Git-LFS version is not derived from the global version configuration (like it's done for the runner image itself, see here) but taken directly from alpine's package feed. The alpine 3.15 package feed already includes updated versions and hence resolves the issue.

Besides that, the currently supported alpine 3.12 version will be deprecated on the 1st of May 2022 and hence no longer receive any security updates. Having the latest stable alpine version available as an option allows users to already validate the new release and jump to it directly instead of using an in-between version.

What's the best way to test this MR?

  1. Run a new CI pipeline using this MR and open the helper images: [alpine3.15] artefacts page.
  2. Download the correct Docker image for your local platform (e.g. prebuilt-alpine3.15-x86_64.tar.xz)
  3. Use docker import to import the packaged image and make it available locally, e.g: docker import ./prebuilt-alpine3.15-x86_64.tar.xz gitlab-runner-helper:alpine3.15-v14.6.0.
  4. Configure a local GitLab-Runner with the Docker executor to use the previously imported image as helper image, e.g: helper_image = "gitlab-runner-helper:alpine3.15-v14.6.0".
  5. Trigger various GitLab-CI pipelines with Git/Git-LFS objects to run on this local GitLab-Runner instance.
  6. Observe that the builds are successful and that the right helper image (see jobs logs) is used.

What are the relevant issue numbers?

N.a.

Merge request reports