diff --git a/.gitea/workflows/build-gitea-runner.yaml b/.gitea/workflows/build-gitea-runner.yaml index 32c0743..46ad490 100644 --- a/.gitea/workflows/build-gitea-runner.yaml +++ b/.gitea/workflows/build-gitea-runner.yaml @@ -23,6 +23,7 @@ jobs: builder: multiplatform-builder context: "{{defaultContext}}:gitea-runner" target: runner + build-args: "ALPINE_VERSION=3.24" platforms: | linux/amd64 linux/arm64 @@ -38,13 +39,31 @@ jobs: builder: multiplatform-builder context: "{{defaultContext}}:gitea-runner" target: debian + build-args: "DEBIAN_VERSION=13" platforms: | linux/amd64 linux/arm64 push: true pull: true tags: | + "gitea.woggioni.net/woggioni/gitea-runner/debian:13" "gitea.woggioni.net/woggioni/gitea-runner/debian:latest" + - + name: Build and push ubuntu image + uses: docker/build-push-action@v6 + with: + builder: multiplatform-builder + context: "{{defaultContext}}:gitea-runner" + target: ubuntu + build-args: "UBUNTU_VERSION=26.04" + platforms: | + linux/amd64 + linux/arm64 + push: true + pull: true + tags: | + "gitea.woggioni.net/woggioni/gitea-runner/ubuntu:26.04" + "gitea.woggioni.net/woggioni/gitea-runner/ubuntu:latest" - name: Build and push archlinux image uses: docker/build-push-action@v6 @@ -65,6 +84,7 @@ jobs: builder: multiplatform-builder context: "{{defaultContext}}:gitea-runner" target: pnpm + build-args: "ALPINE_VERSION=3.24" platforms: | linux/amd64 push: true diff --git a/gitea-runner/Dockerfile b/gitea-runner/Dockerfile index 0210517..9afca77 100644 --- a/gitea-runner/Dockerfile +++ b/gitea-runner/Dockerfile @@ -1,4 +1,5 @@ -FROM alpine:3.24 AS runner +ARG ALPINE_VERSION=3.24 +FROM alpine:${ALPINE_VERSION} AS runner RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories RUN --mount=type=cache,target=/var/cache/apk apk update RUN --mount=type=cache,target=/var/cache/apk apk add gitea-runner@testing nodejs docker shadow @@ -9,7 +10,18 @@ USER gitea-runner WORKDIR /var/lib/gitea-runner CMD ["/usr/bin/gitea-runner", "daemon", "--config", "/etc/gitea-runner/config.yaml"] -FROM debian:stable-slim AS debian +ARG DEBIAN_VERSION=13 +FROM debian:${DEBIAN_VERSION}-slim AS debian +RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ + --mount=type=cache,target=/var/lib/apt,sharing=locked \ + apt update &&\ + apt install -y nodejs unzip git +RUN useradd gitea-runner -d /var/lib/gitea-runner -u 555 -r +USER gitea-runner +WORKDIR /var/lib/gitea-runner + +ARG UBUNTU_VERSION=26.04 +FROM ubuntu:${UBUNTU_VERSION} AS ubuntu RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ apt update &&\ @@ -53,7 +65,8 @@ RUN ln -s /opt/x-tools/arm-unknown-linux-musleabihf/bin/arm-unknown-linux-muslea 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 -FROM alpine:3.24 AS pnpm +ARG ALPINE_VERSION=3.24 +FROM alpine:${ALPINE_VERSION} AS pnpm RUN --mount=type=cache,target=/var/cache/apk apk update RUN --mount=type=cache,target=/var/cache/apk apk add nodejs shadow git pnpm RUN adduser -S -u 555 -h /var/lib/gitea-runner gitea-runner