Repository navigation
Commit 49d4ff4
committed
ci: run aarch64 jobs on GitHub-hosted runners
The main idea behind this switch is to have less of our own
infrastructure to support.
We added our own aarch64 runners before GitHub started to provide them
natively [1] and, in fact, never wanted to spend time on them.
A big advantage of GitHub-hosted runners is that they're created per
job. Ours are long-lived machines, and a bad job may break the jobs
after it. This is a constant source of problems we have to work around:
the CodeQL workflow has to clean up the CodeQL bundles it downloads so
as not to fill the whole disk; the environment action kills test
processes left by earlier jobs and cleans up the git repository. We even
have the special `prepare-checkout` action that does some black magic,
so that `actions/checkout` works on a git repository left by a previous
job.
In fact, the runner-per-job approach can be implemented for self-hosted
runners too, see [2] and [3]. But that's the infrastructure work we want
to avoid.
I'd also note that there are providers of GitHub Actions runners besides
GitHub itself, including ones that offer aarch64 runners. So if we find
ourselves in need of more resources, we have options that don't require
managing our own Kubernetes cluster.
All of the above applies to the x86_64 runners too, and I hope we will
move them as well, just later.
Besides `debug_aarch64` and `packaging_build_test_deploy`, which run in
tarantool CI, this commit adjusts `luajit-integration`, which is called
from tarantool/luajit CI (as is `debug_aarch64`). This way we move part
of LuaJIT's CI to GitHub-hosted runners.
[1]: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/
[2]: https://github.blog/changelog/2021-09-20-github-actions-ephemeral-self-hosted-runners-new-webhooks-for-auto-scaling/
[3]: actions/actions-runner-controller#2174
Drafted by an LLM, conducted and corrected by the commit author.
NO_DOC=ci
NO_TEST=ci
NO_CHANGELOG=ci1 parent 2f0e52d commit 49d4ff4
4 files changed
Lines changed: 21 additions & 10 deletions
File tree
- .github
- actions/environment
- workflows
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
105 | 115 | | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
| 116 | + | |
| 117 | + | |
112 | 118 | | |
113 | 119 | | |
114 | 120 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
| 56 | + | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
53 | 56 | | |
54 | 57 | | |
55 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
74 | | - | |
| 75 | + | |
| 76 | + | |
75 | 77 | | |
76 | 78 | | |
77 | 79 | | |
| |||
0 commit comments