* [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; 5+ 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] 5+ 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-02 13:18 ` Sergey Bronnikov 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, 1 reply; 5+ 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] 5+ messages in thread
* Re: [Tarantool-patches] [PATCH 1/2] ci: use sudo to install packages if not root 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-02 13:18 ` Sergey Bronnikov via Tarantool-patches 0 siblings, 0 replies; 5+ messages in thread From: Sergey Bronnikov via Tarantool-patches @ 2026-10-02 13:18 UTC (permalink / raw) To: Alexander Turenko, Sergey Kaplun; +Cc: tarantool-patches Hi, Alexander! thanks for the patch! LGTM Sergey On 10/1/26 04:06, Alexander Turenko wrote: > 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 ^ permalink raw reply [flat|nested] 5+ 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 2026-10-02 13:24 ` Sergey Bronnikov via Tarantool-patches 1 sibling, 1 reply; 5+ 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] 5+ messages in thread
* Re: [Tarantool-patches] [PATCH 2/2] ci: run ARM64 jobs on GitHub-hosted runners 2026-10-01 1:06 ` [Tarantool-patches] [PATCH 2/2] ci: run ARM64 jobs on GitHub-hosted runners Alexander Turenko via Tarantool-patches @ 2026-10-02 13:24 ` Sergey Bronnikov via Tarantool-patches 0 siblings, 0 replies; 5+ messages in thread From: Sergey Bronnikov via Tarantool-patches @ 2026-10-02 13:24 UTC (permalink / raw) To: Alexander Turenko, Sergey Kaplun; +Cc: tarantool-patches [-- Attachment #1: Type: text/plain, Size: 3510 bytes --] Hi, Alexander, thanks for the patch! LGTM with minor comment Sergey On 10/1/26 04:06, Alexander Turenko wrote: > 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"]') }} after the patch we will use github runners and it is worth set a timeout for jobs, otherwise we might run out of time on the runners (AFAIK it is limited there). > 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 }}) [-- Attachment #2: Type: text/html, Size: 4154 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-10-02 13:24 UTC | newest] Thread overview: 5+ 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-02 13:18 ` Sergey Bronnikov 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 2026-10-02 13:24 ` Sergey Bronnikov 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