Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH 0/2] Use GitHub-hosted runners for Linux/ARM64 jobs
@ 2026-10-01  1:06 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 ` [Tarantool-patches] [PATCH 2/2] ci: run ARM64 jobs on GitHub-hosted runners Alexander Turenko via Tarantool-patches
  0 siblings, 2 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 idea is simple: reduce effort to support of our own runners. I wrote
it in more details in https://github.com/tarantool/tarantool/pull/13278.
Here I propose the same change for tarantool/luajit.

As far as I can see, the changes should apply cleanly to the release
branches.

Technically the commits are written by an LLM, but I looked over it
carefully (mostly during work on tarantool's series, and this one
repeats the same changes).

Branch: Totktonada/arm64-jobs-on-github-hosted-runners
CI: https://github.com/tarantool/luajit/tree/Totktonada/arm64-jobs-on-github-hosted-runners

Alexander Turenko (2):
  ci: use sudo to install packages if not root
  ci: run ARM64 jobs on GitHub-hosted runners

 .github/actions/setup-debuggers/action.yml   | 6 ++++--
 .github/actions/setup-linux/action.yml       | 6 ++++--
 .github/workflows/debuggers.yml              | 3 ++-
 .github/workflows/exotic-builds-testing.yml  | 3 ++-
 .github/workflows/gnumake-builds-testing.yml | 5 ++++-
 .github/workflows/testing.yml                | 5 ++++-
 6 files changed, 20 insertions(+), 8 deletions(-)

-- 
2.55.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [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

end of thread, other threads:[~2026-10-01  1:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 ` [Tarantool-patches] [PATCH 2/2] ci: run ARM64 jobs on GitHub-hosted runners Alexander Turenko via Tarantool-patches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox