Skip to content

ci: Added platform architecture aarch64

What does this MR do and why?

Adding the new Arch type in order to support containerized GDK-in-a-box setup on an ARM-based system.

This MR extends the CI pipeline to also build and publish container image for linux-arm64 platform architecture. Currently, the openbao binary is built for darwin-arm64, linux-amd64 and darwin-amd64.

Why is this platform architecture type important?

This is one part for fixing a GDK-in-a-box issue described here

The containerized GDK-in-a-box is one of the recommended ways to contribute to GitLab. This setup is based on a Debian Linux image. When running the GDK-in-a-box container on an ARM-based system (e.g., M-series MacBook), the operating system (OS) and architecture pair is linux-aarch64 or linux-arm64. Currently, none of these OS-ARCH pairs exist.

Having a pre-built openbao binary for this OS-ARCH type is helpful when running tests in the GitLab monolith project. Without the pre-built openbao binary, the test runtime would need to clone and compile openbao locally, see here for more details. With an openbao binary for this OS-ARCH type, we could simply download the binary, thus reducing complexity.

References

Screenshots or screen recordings

Below is the error that occurs when running tests of the GitLab monotlith project on an ARM-based system without the proper architecture support:

bundle exec rspec spec/lib/gitlab/auth/oidc/step_up_auth_before_request_phase_spec.rb --format documentation
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}
==> Starting OpenBao (133afd922358b56c9c342703f33c3b01f5160737) set up...
Downloading binary `bao-linux-aarch64` from https://gitlab.com/gitlab-org/govern/secrets-management/openbao-internal.git
HTTP Code: 404 for https://gitlab.com/api/v4/projects/gitlab-org%2Fgovern%2Fsecrets-management%2Fopenbao-internal/packages/generic/openbao-internal/133afd922358b56c9c342703f33c3b01f5160737/bao-linux-aarch64
Checkout from https://gitlab.com/gitlab-org/govern/secrets-management/openbao-internal.git
OpenBao binary not yet built. Building...
[error details...]

For more information look in the GDK-in-a-box feedback issue

How to set up and validate locally

  1. Check if the CI pipeline is successful

🗒️ Note: In order to fix the GDK-in-a-box feedback issue, it is necessary to adjust the GitLab code as well. I will create an MR once this is merged.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Gerardo Navarro

Merge request reports

Loading