Add LTSC2025-arm64 based gitlab-runner-helper images for windows

What does this MR do?

This MR enables the creation of windows arm64 variants of the gitlab-runner helper container image. It utilises the windows arm64 base-images, which are added as part of gitlab-org/ci-cd/runner-tools/base-images!88 (merged).

Note that this MR does the bare minimum to create arm64 helper image, and as such the gitlab-runner-helper executable is still amd64. This is fine as the amd64 executable can work via Windows emulation. It is proposed that a future MR adds the creation of the arm64 gitlab-runner-helper executable (and gitlab-runner executable itself) for better performance.

Will be filled out once changes are proven to work. See #39182 for context.

Why was this MR needed?

This MR fixes the issues described in #39182. Gitlab runners that run as a docker-executor on windows arm64 cannot load the gitlab-runner helper container image because the default image used (and only image available) is amd64/x86_64 based. This MR adds an arm64 variant of the image to the container registry so that users can override the helper image with the arm64 variant, thereby allowing the user to have a working gitlab-runner docker-executor instance on windows arm64 machines/servers.

It is proposed that a future MR can enable the automatic selection of the arm64 variant when on arm64 machine. However I believe this requires gitlab-runner and gitlab-runner-helper to also be of arm64 architecture.

What's the best way to test this MR?

The CI pipeline has been updated to add equivalent jobs for the new arm64 variant.

To test locally, one can:

  • Prepare a Windows ARM64 device with container runtime installed.
  • Install gitlab-runner on the device, making sure to:
    • set the executor as docker-windows
    • set the helper_image to the arm64 image that is available as a result of this MR

What are the relevant issue numbers?

#39182

Edited by Shanush Prema Thasarathan

Merge request reports

Loading