{"thread":{"id":"62132","subject":"[PATCH] gitlab-ci: upgrade machine type of Linux runners","startedAt":"2024-09-18T06:49:41Z","lastAt":"2024-09-18T06:49:41Z","messageCount":1,"participants":["Patrick Steinhardt"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"502983","messageId":"0dfcb4a7b38ca66ec50775928ecfb31c4bc2008b.1726642142.git.ps@pks.im","threadId":"62132","inReplyTo":null,"subject":"[PATCH] gitlab-ci: upgrade machine type of Linux runners","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2024-09-18T06:49:37Z","receivedAt":"2024-09-18T06:49:41Z","isPatch":true,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"With the recent effort to make the test suite free of memory leaks we\nnow run a lot more of test suites with the leak-sanitizer enabled. While\nwe were originally only executing around 23000 tests, we're now at 30000\ntests. Naturally, this has a significant impact on the runtime of such a\ntest run.\n\nNaturally, this impact can also be felt for our leak-checking CI jobs.\nWhile macOS used to be the slowest-executing job on GitLab CI with ~15\nminutes of runtime, nowadays it is our leak checks which take around 45\nto 55 minutes.\n\nOur Linux runners for GitLab CI are untagged, which means that they\ndefault to the \"small\" machine type with two CPU cores [1]. Upgrade\nthese to the \"medium\" runner, which provide four CPU cores and which\nshould thus provide a noticeable speedup.\n\nIn theory, we could upgrade to an ever larger machine than that. The\nofficial mirror [2] has an Ultimate license, so we could get up to 128\ncores. But anybody running a fork of the Git project without such a\nlicense wouldn't be able to use those beefier machines and thus their\npipelines would fail.\n\n[1]: https://docs.gitlab.com/ee/ci/runners/hosted_runners/linux.html\n[2]: https://gitlab.com/git-scm/git/\n\nSigned-off-by: Patrick Steinhardt <ps@pks.im>\n---\n\nA test run can be found at [1]. This change decreases the runtime by\nabout 20 minutes to 25 - 28 minutes in total. I'd be open to adjust this\nto use \"large\" runners, but as mentioned in the commit message that\nwould cause problems when somebody hosts their own Git repository at\nGitLab. Is this something we care about?\n\nPatrick\n\n[1]: https://gitlab.com/gitlab-org/git/-/merge_requests/215\n\n .gitlab-ci.yml | 2 ++\n 1 file changed, 2 insertions(+)\n\ndiff --git a/.gitlab-ci.yml b/.gitlab-ci.yml\nindex 80b1668ebe..4abfbc3e20 100644\n--- a/.gitlab-ci.yml\n+++ b/.gitlab-ci.yml\n@@ -9,6 +9,8 @@ workflow:\n \n test:linux:\n   image: $image\n+  tags:\n+    - saas-linux-medium-amd64\n   variables:\n     CUSTOM_PATH: \"/custom\"\n   before_script:\n\nbase-commit: 3fb745257b30a643ee78c9a7c52ab107c82e4745\n-- \n2.46.0.551.gc5ee8f2d1c.dirty\n\n"}]}