* [Tarantool-patches] [PATCH 1/2] ci: use sudo to install packages if not root
2026-10-01 1:06 [Tarantool-patches] [PATCH 0/2] Use GitHub-hosted runners for Linux/ARM64 jobs Alexander Turenko via Tarantool-patches
@ 2026-10-01 1:06 ` Alexander Turenko via Tarantool-patches
2026-10-01 1:06 ` [Tarantool-patches] [PATCH 2/2] ci: run ARM64 jobs on GitHub-hosted runners Alexander Turenko via Tarantool-patches
1 sibling, 0 replies; 3+ messages in thread
From: Alexander Turenko via Tarantool-patches @ 2026-10-01 1:06 UTC (permalink / raw)
To: Sergey Kaplun, Sergey Bronnikov; +Cc: tarantool-patches, Alexander Turenko
The setup-linux and setup-debuggers actions call `apt` without `sudo`,
which works on our self-hosted runners: the jobs run there as root. The
next commit moves the ARM64 jobs to GitHub-hosted runners, where the
steps run as the runner's regular user, so we have to call `sudo` there.
If the current user is already `root`, `sudo` is not called: this way we
don't depend on its presence when we don't need it.
Drafted by an LLM, conducted and corrected by the commit author.
---
.github/actions/setup-debuggers/action.yml | 6 ++++--
.github/actions/setup-linux/action.yml | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/.github/actions/setup-debuggers/action.yml b/.github/actions/setup-debuggers/action.yml
index c34d4502..e2ac09db 100644
--- a/.github/actions/setup-debuggers/action.yml
+++ b/.github/actions/setup-debuggers/action.yml
@@ -7,6 +7,8 @@ runs:
uses: ./.github/actions/setup-linux
- name: Install dependencies for the tests
run: |
- apt -y update
- apt install -y python3 gdb lldb
+ # GitHub-hosted runners run the steps as a regular user.
+ SUDO=$([ "$(id -u)" = 0 ] || echo sudo)
+ ${SUDO} apt -y update
+ ${SUDO} apt install -y python3 gdb lldb
shell: bash
diff --git a/.github/actions/setup-linux/action.yml b/.github/actions/setup-linux/action.yml
index f0171b83..8f13940a 100644
--- a/.github/actions/setup-linux/action.yml
+++ b/.github/actions/setup-linux/action.yml
@@ -14,6 +14,8 @@ runs:
shell: bash
- name: Install build and test dependencies
run: |
- apt -y update
- apt -y install cmake gcc make ninja-build perl
+ # GitHub-hosted runners run the steps as a regular user.
+ SUDO=$([ "$(id -u)" = 0 ] || echo sudo)
+ ${SUDO} apt -y update
+ ${SUDO} apt -y install cmake gcc make ninja-build perl
shell: bash
--
2.55.0
^ permalink raw reply [flat|nested] 3+ messages in thread* [Tarantool-patches] [PATCH 2/2] ci: run ARM64 jobs on GitHub-hosted runners
2026-10-01 1:06 [Tarantool-patches] [PATCH 0/2] Use GitHub-hosted runners for Linux/ARM64 jobs Alexander Turenko via Tarantool-patches
2026-10-01 1:06 ` [Tarantool-patches] [PATCH 1/2] ci: use sudo to install packages if not root Alexander Turenko via Tarantool-patches
@ 2026-10-01 1:06 ` Alexander Turenko via Tarantool-patches
1 sibling, 0 replies; 3+ messages in thread
From: Alexander Turenko via Tarantool-patches @ 2026-10-01 1:06 UTC (permalink / raw)
To: Sergey Kaplun, Sergey Bronnikov; +Cc: tarantool-patches, Alexander Turenko
The main idea behind the switch is to have less of our own
infrastructure to support, see tarantool/tarantool#13278 for details.
Drafted by an LLM, conducted and corrected by the commit author.
---
.github/workflows/debuggers.yml | 3 ++-
.github/workflows/exotic-builds-testing.yml | 3 ++-
.github/workflows/gnumake-builds-testing.yml | 5 ++++-
.github/workflows/testing.yml | 5 ++++-
4 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/debuggers.yml b/.github/workflows/debuggers.yml
index 489c2bed..d8b53fda 100644
--- a/.github/workflows/debuggers.yml
+++ b/.github/workflows/debuggers.yml
@@ -36,7 +36,8 @@ jobs:
exclude:
- ARCH: ARM64
GC64: OFF
- runs-on: [self-hosted, regular, Linux, '${{ matrix.ARCH }}']
+ runs-on: ${{ matrix.ARCH == 'ARM64' && 'ubuntu-26.04-arm' ||
+ fromJSON('["self-hosted", "regular", "Linux", "x86_64"]') }}
name: >
LuaJIT
(${{ matrix.ARCH }})
diff --git a/.github/workflows/exotic-builds-testing.yml b/.github/workflows/exotic-builds-testing.yml
index 0c575404..568d6be3 100644
--- a/.github/workflows/exotic-builds-testing.yml
+++ b/.github/workflows/exotic-builds-testing.yml
@@ -76,7 +76,8 @@ jobs:
# (`DASM_S_RANGE_I`).
- FLAVOR: tablebump
ARCH: ARM64
- runs-on: [self-hosted, regular, Linux, '${{ matrix.ARCH }}']
+ runs-on: ${{ matrix.ARCH == 'ARM64' && 'ubuntu-26.04-arm' ||
+ fromJSON('["self-hosted", "regular", "Linux", "x86_64"]') }}
name: >
LuaJIT ${{ matrix.FLAVOR }}
(Linux/${{ matrix.ARCH }})
diff --git a/.github/workflows/gnumake-builds-testing.yml b/.github/workflows/gnumake-builds-testing.yml
index 1b64b040..56dae7f8 100644
--- a/.github/workflows/gnumake-builds-testing.yml
+++ b/.github/workflows/gnumake-builds-testing.yml
@@ -52,7 +52,10 @@ jobs:
GC64: OFF
- OS: macOS
GC64: OFF
- runs-on: [self-hosted, regular, '${{ matrix.OS }}', '${{ matrix.ARCH }}']
+ runs-on: ${{ matrix.OS == 'Linux' && matrix.ARCH == 'ARM64' &&
+ 'ubuntu-26.04-arm' ||
+ fromJSON(format('["self-hosted", "regular", "{0}", "{1}"]',
+ matrix.OS, matrix.ARCH)) }}
name: >
LuaJIT
(${{ matrix.OS }}/${{ matrix.ARCH }})
diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml
index e39e2ec7..5448247f 100644
--- a/.github/workflows/testing.yml
+++ b/.github/workflows/testing.yml
@@ -59,7 +59,10 @@ jobs:
- ARCH: ARM64
OS: Linux
CC: clang
- runs-on: [self-hosted, regular, '${{ matrix.OS }}', '${{ matrix.ARCH }}']
+ runs-on: ${{ matrix.OS == 'Linux' && matrix.ARCH == 'ARM64' &&
+ 'ubuntu-26.04-arm' ||
+ fromJSON(format('["self-hosted", "regular", "{0}", "{1}"]',
+ matrix.OS, matrix.ARCH)) }}
name: >
LuaJIT
(${{ matrix.OS }}/${{ matrix.ARCH }})
--
2.55.0
^ permalink raw reply [flat|nested] 3+ messages in thread