ci: Added platform architecture aarch64
-
Please check this box if this contribution uses AI-generated content (including content generated by GitLab Duo features) as outlined in the GitLab DCO & CLA. As a benefit of being a GitLab Community Contributor, you receive complimentary access to GitLab Duo.
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
- Related to containerized GDK-in-a-box setup: https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/support/gdk-in-a-box/container/README.md
- Addresses missing openbao package for aarch64 architecture
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
- Check if the CI pipeline is successful
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.