added trunk to gitea_act_runner image
All checks were successful
CI / Build arch-builder docker images (push) Successful in 51m6s

This commit is contained in:
2025-03-19 20:33:20 +08:00
parent f06729a944
commit 2cd390176f
4 changed files with 43 additions and 68 deletions

View File

@@ -32,7 +32,6 @@ jobs:
tags: | tags: |
"gitea.woggioni.net/woggioni/arch-builder:base" "gitea.woggioni.net/woggioni/arch-builder:base"
cache-from: type=registry,ref=gitea.woggioni.net/woggioni/arch-builder:buildx cache-from: type=registry,ref=gitea.woggioni.net/woggioni/arch-builder:buildx
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/arch-builder:buildx
target: base target: base
- -
name: Build and push arch-builder kernel images name: Build and push arch-builder kernel images
@@ -45,7 +44,6 @@ jobs:
tags: | tags: |
"gitea.woggioni.net/woggioni/arch-builder:kernel" "gitea.woggioni.net/woggioni/arch-builder:kernel"
cache-from: type=registry,ref=gitea.woggioni.net/woggioni/arch-builder:buildx cache-from: type=registry,ref=gitea.woggioni.net/woggioni/arch-builder:buildx
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/arch-builder:buildx
target: kernel target: kernel
- -
name: Build and push arch-builder rust images name: Build and push arch-builder rust images
@@ -58,7 +56,6 @@ jobs:
tags: | tags: |
"gitea.woggioni.net/woggioni/arch-builder:rust" "gitea.woggioni.net/woggioni/arch-builder:rust"
cache-from: type=registry,ref=gitea.woggioni.net/woggioni/arch-builder:buildx cache-from: type=registry,ref=gitea.woggioni.net/woggioni/arch-builder:buildx
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/arch-builder:buildx
target: rust target: rust
- -
name: Build and push arch-builder rust full images name: Build and push arch-builder rust full images
@@ -71,22 +68,7 @@ jobs:
tags: | tags: |
"gitea.woggioni.net/woggioni/arch-builder:rust-full" "gitea.woggioni.net/woggioni/arch-builder:rust-full"
cache-from: type=registry,ref=gitea.woggioni.net/woggioni/arch-builder:buildx cache-from: type=registry,ref=gitea.woggioni.net/woggioni/arch-builder:buildx
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/arch-builder:buildx
target: rust-full target: rust-full
-
name: Build and push arch-builder rust full rootless images
uses: docker/build-push-action@v6
with:
context: "{{defaultContext}}:arch-builder"
platforms: linux/amd64
push: true
pull: true
tags: |
"gitea.woggioni.net/woggioni/arch-builder:rust-full-rootless"
"gitea.woggioni.net/woggioni/arch-builder:latest"
cache-from: type=registry,ref=gitea.woggioni.net/woggioni/arch-builder:buildx
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/arch-builder:buildx
target: rust-full-rootless
- -
name: Build and push arch-builder gitea_act_runner images name: Build and push arch-builder gitea_act_runner images
uses: docker/build-push-action@v6 uses: docker/build-push-action@v6

View File

@@ -4,47 +4,42 @@ COPY mirrorlist /etc/pacman.d/mirrolist
RUN pacman-key --init RUN pacman-key --init
RUN pacman-key --refresh-keys RUN pacman-key --refresh-keys
RUN pacman -Syu --noconfirm
RUN pacman -S --noconfirm --needed curl rustup 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 \
curl \
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
RUN mkdir downloads RUN mkdir downloads
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/aarch64-unknown-linux-musl-gcc/13.2.0/aarch64-unknown-linux-musl-gcc-13.2.0-1-x86_64.pkg.tar.zst \
-o downloads/aarch64-unknown-linux-musl-gcc-13.2.0-1-x86_64.pkg.tar.zst
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/aarch64-unknown-linux-musl/bin/aarch64-unknown-linux-musl-gcc /usr/local/bin/aarch64-linux-musl-gcc
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/x86_64-unknown-linux-musl-gcc/14.2.0/x86_64-unknown-linux-musl-gcc-14.2.0-1-x86_64.pkg.tar.zst \
-o downloads/x86_64-unknown-linux-musl-gcc-14.2.0-1-x86_64.pkg.tar.zst
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/x86_64-unknown-linux-musl/bin/x86_64-unknown-linux-musl-gcc /usr/local/bin/x86_64-linux-musl-gcc
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/arm-unknown-linux-musleabihf-gcc/13.2.0/arm-unknown-linux-musleabihf-gcc-13.2.0-1-x86_64.pkg.tar.zst \
-o downloads/arm-unknown-linux-musleabihf-gcc-13.2.0-1-x86_64.pkg.tar.zst
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-musleabihf-gcc /usr/local/bin/arm-linux-musleabihf-gcc
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/arm-unknown-linux-musleabi-gcc/13.2.0/arm-unknown-linux-musleabi-gcc-13.2.0-1-x86_64.pkg.tar.zst \
-o downloads/arm-unknown-linux-musleabi-gcc-13.2.0-1-x86_64.pkg.tar.zst
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/arm-unknown-linux-musleabihf/bin/arm-unknown-linux-musleabi-gcc /usr/local/bin/arm-linux-musleabi-gcc
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/x86_64-w64-mingw32-gcc/13.2.0/x86_64-w64-mingw32-gcc-13.2.0-1-x86_64.pkg.tar.zst \
-o downloads/x86_64-w64-mingw32-gcc-13.2.0-1-x86_64.pkg.tar.zst
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 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 curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/arm-unknown-linux-musleabi-zlib/1.3.1/arm-unknown-linux-musleabi-zlib-1.3.1-1-x86_64.pkg.tar.zst \
-o downloads/arm-unknown-linux-musleabi-zlib-1.3.1-1-x86_64.pkg.tar.zst
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/aarch64-unknown-linux-musl-zlib/1.3.1/aarch64-unknown-linux-musl-zlib-1.3.1-1-x86_64.pkg.tar.zst \
-o downloads/aarch64-unknown-linux-musl-zlib-1.3.1-1-x86_64.pkg.tar.zst
RUN curl --retry 3 https://gitea.woggioni.net/api/packages/woggioni/generic/x86_64-unknown-linux-musl-zlib/1.3.1/x86_64-unknown-linux-musl-zlib-1.3.1-1-x86_64.pkg.tar.zst \
-o downloads/x86_64-unknown-linux-musl-zlib-1.3.1-1-x86_64.pkg.tar.zst
RUN pacman -U downloads/*.pkg.tar.* --noconfirm
RUN rm -rf downloads
COPY makepkg/* /etc/ COPY makepkg/* /etc/
RUN useradd luser -G users -u 1000 -s /bin/bash -m -d /home/luser RUN useradd luser -G users -u 1000 -s /bin/bash -m -d /home/luser
RUN pacman -S --noconfirm --needed \ RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
git \ git \
cmake \ cmake \
base-devel \ base-devel \
@@ -59,7 +54,7 @@ RUN pacman -S --noconfirm --needed \
upx upx
FROM base AS kernel FROM base AS kernel
RUN pacman -S --noconfirm --needed \ RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
jre21-openjdk \ jre21-openjdk \
bc \ bc \
cpio \ cpio \
@@ -84,41 +79,35 @@ WORKDIR /home/luser
FROM base AS rust FROM base AS rust
RUN mkdir -p /etc/cargo RUN mkdir -p /etc/cargo
COPY config.toml /.cargo/ COPY config.toml /.cargo/
RUN pacman -S --noconfirm --needed \ RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
rustup \ rustup \
llvm \ llvm \
clang clang
FROM rust AS rust-full FROM rust AS rust-full
RUN pacman -S --noconfirm --needed \ RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
hidapi \ hidapi \
protobuf protobuf
FROM rust-full AS rust-full-rootless
USER luser USER luser
WORKDIR /home/luser WORKDIR /home/luser
RUN mkdir .cargo RUN mkdir .cargo
RUN rustup toolchain install stable-x86_64-unknown-linux-gnu RUN rustup toolchain install stable-x86_64-unknown-linux-gnu --profile minimal
RUN rustup target add \ RUN rustup target add \
x86_64-unknown-linux-musl \ x86_64-unknown-linux-musl \
x86_64-unknown-linux-gnu \ x86_64-unknown-linux-gnu \
armv7-unknown-linux-musleabihf \ armv7-unknown-linux-musleabihf \
arm-unknown-linux-musleabi \ arm-unknown-linux-musleabi \
aarch64-unknown-linux-musl \ aarch64-unknown-linux-musl \
aarch64-unknown-linux-gnu aarch64-unknown-linux-gnu \
wasm32-unknown-unknown \
wasm32-wasip2
RUN --mount=type=cache,target=/home/luser/.cargo/registry/,uid=1000,gid=1000 cargo install --locked trunk
FROM rust-full AS gitea_act_runner FROM base AS gitea_act_runner
RUN pacman -S --noconfirm nodejs npm docker docker-buildx btrfs-progs RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed nodejs npm docker docker-buildx btrfs-progs hidapi protobuf rustup llvm clang
RUN mkdir /downloads RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed gitea-act-runner jdk21-graalvm-bin jdk23-graalvm-bin jdk21-graalvm-ce-bin jdk23-graalvm-ce-bin
WORKDIR /downloads
RUN curl --retry 3 -OJ https://gitea.woggioni.net/api/packages/woggioni/generic/gitea-act-runner/0.2.10/gitea-act-runner-0.2.10-1-x86_64.pkg.tar.zst
RUN curl --retry 3 -OJ https://gitea.woggioni.net/api/packages/woggioni/generic/jdk21-graalvm-bin/21.0.6/jdk21-graalvm-bin-21.0.6-1-x86_64.pkg.tar.zst
RUN curl --retry 3 -OJ https://gitea.woggioni.net/api/packages/woggioni/generic/jdk23-graalvm-bin/23.0.2/jdk23-graalvm-bin-23.0.2-1-x86_64.pkg.tar.zst
RUN curl --retry 3 -OJ https://gitea.woggioni.net/api/packages/woggioni/generic/jdk21-graalvm-ce-bin/21.0.2/jdk21-graalvm-ce-bin-21.0.2-1-x86_64.pkg.tar.zst
RUN curl --retry 3 -OJ https://gitea.woggioni.net/api/packages/woggioni/generic/jdk23-graalvm-ce-bin/23.0.2/jdk23-graalvm-ce-bin-23.0.2-1-x86_64.pkg.tar.zst
RUN pacman -U --noconfirm *.pkg.tar.*
WORKDIR /
RUN rm -rf /downloads
RUN --mount=type=bind,source=woggioni.net.ca.pem,target=/root.pem trust anchor root.pem RUN --mount=type=bind,source=woggioni.net.ca.pem,target=/root.pem trust anchor root.pem
USER luser USER luser
ENV PATH="/home/luser/.local/bin:/home/luser/.cargo/bin:${PATH}"
WORKDIR /home/luser WORKDIR /home/luser
CMD /usr/lib/gitea/act_runner/act_runner daemon --config /var/lib/gitea/act_runner.yaml CMD ["/usr/lib/gitea/act_runner/act_runner", "daemon", "--config", "/var/lib/gitea/act_runner.yaml"]

View File

@@ -1,7 +1,7 @@
[target.aarch64-unknown-linux-musl] [target.aarch64-unknown-linux-musl]
linker = "/opt/x-tools/aarch64-unknown-linux-musl/bin/aarch64-unknown-linux-musl-ld" linker = "/opt/x-tools/aarch64-unknown-linux-musl/bin/aarch64-unknown-linux-musl-ld"
[target.x86_64-unknown-linux-musl] [target.x86_64-unknown-linux-musl]
linker = "/opt/x-tools/x86_64-woggioni-linux-musl/bin/x86_64-woggioni-linux-musl-ld" linker = "/opt/x-tools/x86_64-unknown-linux-musl/bin/x86_64-unknown-linux-musl-ld"
[target.x86_64-pc-windows-gnu] [target.x86_64-pc-windows-gnu]
linker = "/opt/x-tools/x86_64-w64-mingw32/bin/x86_64-w64-mingw32-gcc" linker = "/opt/x-tools/x86_64-w64-mingw32/bin/x86_64-w64-mingw32-gcc"
[target.armv7-unknown-linux-musleabihf] [target.armv7-unknown-linux-musleabihf]

View File

@@ -0,0 +1,4 @@
[woggioni.gitea.woggioni.net]
SigLevel = Required
Server = https://gitea.woggioni.net/api/packages/woggioni/arch/default/x86_64