Offer small hosted runner on Linux Arm for GitLab.com for all Tiers
Release notes
We are excited to introduce the small hosted runner on Linux Arm for GitLab.com available for the Free tier. The now available 2 vCPUs Arm runner is fully integrated with GitLab CI/CD, and will allow you to build and test your application for the ARM architecture.
We are determined to provide the industry’s fastest CI/CD build speed and look forward to seeing teams achieve even shorter feedback cycles and ultimately deliver software faster.
Problem to solve
Free users want to cost-effectively build and test natively on the Arm architecture, without requiring them to setup their own self-managed runners.
Proposal
Introduce small
hosted runner on Linux Arm for GitLab.com with the following specs
Runner Tag | vCPUs | Memory | Storage |
---|---|---|---|
saas-linux-small-arm64 | 2 | 8 GB | 30 GB |
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
-
Add new CIDRs for new shard (here) 👉 gitlab-com/runbooks!8178 (merged) -
Create a GCP project -
feat(Hosted Runners): create new environment (example) 👉 https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9712 -
feat(Hosted Runners): create the new GCP project (example) 👉 https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9713 -
feat(Hosted Runners): define the new environment folder (example) 👉 https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9714 -
Request quota increase in GCP. -
add new projects to the CI Project Cleaner. -
Append the GCP project ID to gcp_projects
(example)👉 https://ops.gitlab.net/gitlab-com/gl-infra/ci-project-cleaner/-/merge_requests/22 -
Add the GCP project ID to vault-production
GCP projects. (example)👉 https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9715 -
Add the GCP project ID to infra-mgmt
impersonated accounts. (example)👉 https://gitlab.com/gitlab-com/gl-infra/infra-mgmt/-/merge_requests/1292
-
-
-
Create Chef roles {chef-repo MR} (ensure concurrent = 0) (example) 👉 https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5312+s -
Create runner-manager VMs (example) 👉 https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9716 -
Fix networking -
Use dedicated network to the arm64-small shard 👉 https://ops.gitlab.net/gitlab-com/gl-infra/config-mgmt/-/merge_requests/9754. -
Document the network change 👉 gitlab-com/runbooks!8205 (merged).
-
-
Register new runner managers and add tokens to Vault (6 tokens for each VM, that is 6x4 = 24 - automate?) [x] gitlab.com/gitlab-org group runner[x] gitlab.com/gitlab-com group runner[x] gitlab.com/charts group runner-
default gitlab.com instance runner -
dev.gitlab.org instance runner -
ops.gitlab.net instance runner -
staging.gitlab.com instance runner
-
Add non-prod configs to chef 👉 https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5329+s -
Set concurrent = 1 (example) 👉 https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5328+s -
Add shard to the deployer 👉 feat(CI ARM64 Small): add shard to run deploy o... (gitlab-com/gl-infra/ci-runners/deployer!39 - merged) -
Run deployer & verify runner-manager can create VMs. -
Increase concurrent = 100 (example) 👉 -
Verify jobs are succeeding (example) 👉 -
Increase concurrent = 1200 (example) 👉 https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5365+s -
Update scaling options (scaling is very slow) 👉 https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5398+s -
Update scaling and concurrent to fit quota constraints 👉 https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5399+s -
Further restrict scaling and remove extraneous configs 👉 https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/5409+s -
Inform EOC of the change