RESEARCH: Do all components packaged with GitLab compile on arm64?
Work to support running the runners on arm64 is being done in gitlab-runner!725 (closed), which addresses many of the community requests for arm64 support. However, there are also some users wanting to run GitLab itself on arm64.
Some issues identified in #1625 have been resolved as a result of improvements made to our build process. However, we have since added additional components such as Grafana, Sentinel, and repmgr. Patroni will be added as an alternative to repmgr in GitLab 13.x and we will eventually deprecate repmgr. We need to test whether these additional components will compile on arm64. Refer to #1625 for work already done by the community.
- Timebox: 2 days
- In the Research results section below, list the components that were checked as part of the research, and the status of whether they compile on arm64
- For components that do not compile, indicate whether there is work that can be done by GitLab to support compiling them, and whether they are critical components required for core GitLab to work
- Create issues for each component that does not compile, describing the blockers if known
Open questions to address
- Which target OS should we use for testing? Check which OSes the AWS a1 instance supports. Choose 1-2 OSes that we expect to have the most demand for. @simon_mansfield and @simonwill checked with https://gitlab.my.salesforce.com/0016100001cESeL?srPos=0&srKp=001. Ubuntu 16.04 and RedHat 8 would be a good start.
To contribute to this research spike you will first need a build environment. (Can be VM or docker). See our debian 10 one as an example: https://gitlab.com/gitlab-org/gitlab-omnibus-builder/-/blob/master/docker/Dockerfile_debian_10. Once you have a build environment for arm64, the rest is documented in https://gitlab.com/gitlab-org/omnibus-gitlab/-/blob/master/doc/build/prepare-build-environment.md