From 7a9aebba7d0d24f4771713bb9b418bc873c85963 Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Sun, 21 Jun 2026 21:57:29 +0800 Subject: [PATCH] added archlinux image for gitea action runner --- .gitea/workflows/build-gitea-runner.yaml | 15 +++++++++- gitea-runner/Dockerfile | 35 +++++++++++++++++++++++ gitea-runner/mirrorlist | 15 ++++++++++ gitea-runner/pacman-gitea-repository.conf | 4 +++ 4 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 gitea-runner/mirrorlist create mode 100644 gitea-runner/pacman-gitea-repository.conf diff --git a/.gitea/workflows/build-gitea-runner.yaml b/.gitea/workflows/build-gitea-runner.yaml index c70dc11..199e89b 100644 --- a/.gitea/workflows/build-gitea-runner.yaml +++ b/.gitea/workflows/build-gitea-runner.yaml @@ -7,7 +7,7 @@ on: - '.gitea/workflows/build-gitea-runner.yaml' jobs: "Build Gitea runner docker images": - runs-on: woryzen + runs-on: hostinger steps: - name: Login to Gitea container registry @@ -45,4 +45,17 @@ jobs: pull: true tags: | "gitea.woggioni.net/woggioni/gitea-runner/debian:latest" + - + name: Build and push archlinux image + uses: docker/build-push-action@v6 + with: + builder: multiplatform-builder + context: "{{defaultContext}}:gitea-runner" + target: archlinux + platforms: | + linux/amd64 + push: true + pull: true + tags: | + "gitea.woggioni.net/woggioni/gitea-runner/archlinux:latest" diff --git a/gitea-runner/Dockerfile b/gitea-runner/Dockerfile index 15ca1ab..8298e61 100644 --- a/gitea-runner/Dockerfile +++ b/gitea-runner/Dockerfile @@ -17,3 +17,38 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ RUN useradd gitea-runner -d /var/lib/gitea-runner -u 555 -r USER gitea-runner WORKDIR /var/lib/gitea-runner + +FROM archlinux:latest AS archlinux + +COPY mirrorlist /etc/pacman.d/mirrolist +RUN pacman-key --init +#RUN pacman-key --refresh-keys + +RUN curl --retry 3 -OJ https://gitea.woggioni.net/api/packages/woggioni/arch/repository.key + +RUN pacman-key --add repository.key +RUN pacman-key --lsign-key 0D28BF66FDB45D18D8EBEE5D4C91DADCD00B3F77 +RUN --mount=type=bind,source=pacman-gitea-repository.conf,target=pacman-gitea-repository.conf cat pacman-gitea-repository.conf >> /etc/pacman.conf + +RUN rm repository.key +RUN --mount=type=cache,target=/var/cache/pacman pacman -Syu --noconfirm +RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \ + nodejs \ + git \ + aarch64-unknown-linux-musl-gcc x86_64-unknown-linux-musl-gcc \ + arm-unknown-linux-musleabihf-gcc \ + arm-unknown-linux-musleabi-gcc \ + x86_64-unknown-linux-musl-gcc \ + x86_64-w64-mingw32-gcc \ + aarch64-unknown-linux-musl-gcc x86_64-unknown-linux-musl-zlib \ + arm-unknown-linux-musleabihf-zlib \ + arm-unknown-linux-musleabi-zlib \ + x86_64-unknown-linux-musl-zlib \ + x86_64-w64-mingw32-zlib \ + upx +RUN ln -s /opt/x-tools/aarch64-unknown-linux-musl/bin/aarch64-unknown-linux-musl-gcc /usr/local/bin/aarch64-linux-musl-gcc +RUN ln -s /opt/x-tools/x86_64-unknown-linux-musl/bin/x86_64-unknown-linux-musl-gcc /usr/local/bin/x86_64-linux-musl-gcc +RUN ln -s /opt/x-tools/arm-unknown-linux-musleabihf/bin/arm-unknown-linux-musleabihf-gcc /usr/local/bin/arm-linux-musleabihf-gcc +RUN ln -s /opt/x-tools/arm-unknown-linux-musleabihf/bin/arm-unknown-linux-musleabi-gcc /usr/local/bin/arm-linux-musleabi-gcc +RUN ln -s /opt/x-tools/x86_64-w64-mingw32/bin/x86_64-w64-mingw32-gcc /usr/local/bin/x86_64-pc-windows-gnu-gcc +RUN useradd gitea-runner -u 555 -s /bin/bash -m -d /var/lib/gitea-runner diff --git a/gitea-runner/mirrorlist b/gitea-runner/mirrorlist new file mode 100644 index 0000000..a2cfe4d --- /dev/null +++ b/gitea-runner/mirrorlist @@ -0,0 +1,15 @@ +################################################################################ +################# Arch Linux mirrorlist generated by Reflector ################# +################################################################################ + +# With: reflector @/etc/xdg/reflector/reflector.conf +# When: 2024-07-09 04:16:31 UTC +# From: https://archlinux.org/mirrors/status/json/ +# Retrieved: 2024-07-09 04:16:31 UTC +# Last Check: 2024-07-09 03:46:09 UTC + +Server = https://archlinux.thaller.ws/$repo/os/$arch +Server = https://mirror.ubrco.de/archlinux/$repo/os/$arch +Server = https://mirror.qctronics.com/archlinux/$repo/os/$arch +Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch +Server = https://arch.phinau.de/$repo/os/$arch diff --git a/gitea-runner/pacman-gitea-repository.conf b/gitea-runner/pacman-gitea-repository.conf new file mode 100644 index 0000000..b1f7379 --- /dev/null +++ b/gitea-runner/pacman-gitea-repository.conf @@ -0,0 +1,4 @@ + +[woggioni.gitea.woggioni.net] +SigLevel = Required +Server = https://gitea.woggioni.net/api/packages/woggioni/arch/default/x86_64