updated arch builder
Some checks failed
CI / Build arch-builder docker images (push) Has been cancelled

This commit is contained in:
2025-12-31 19:34:11 +08:00
parent 6708b8e3ec
commit 9836ca4ccc
4 changed files with 81 additions and 19 deletions

View File

@@ -9,11 +9,6 @@ jobs:
"Build arch-builder docker images": "Build arch-builder docker images":
runs-on: hostinger runs-on: hostinger
steps: steps:
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker-container
- -
name: Login to Gitea container registry name: Login to Gitea container registry
uses: docker/login-action@v3 uses: docker/login-action@v3
@@ -25,64 +20,83 @@ jobs:
name: Build and push arch-builder base images name: Build and push arch-builder base images
uses: docker/build-push-action@v6 uses: docker/build-push-action@v6
with: with:
builder: multiplatform-builder
context: "{{defaultContext}}:arch-builder" context: "{{defaultContext}}:arch-builder"
platforms: linux/amd64 platforms: linux/amd64
push: true push: true
pull: true pull: true
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:base-buildx
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/arch-builder:base-buildx
target: base target: base
- -
name: Build and push arch-builder kernel images name: Build and push arch-builder kernel images
uses: docker/build-push-action@v6 uses: docker/build-push-action@v6
with: with:
builder: multiplatform-builder
context: "{{defaultContext}}:arch-builder" context: "{{defaultContext}}:arch-builder"
platforms: linux/amd64 platforms: linux/amd64
push: true push: true
pull: true pull: true
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:kernel-buildx
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/arch-builder:kernel-buildx
target: kernel target: kernel
- -
name: Build and push arch-builder rust images name: Build and push arch-builder rust images
uses: docker/build-push-action@v6 uses: docker/build-push-action@v6
with: with:
builder: multiplatform-builder
context: "{{defaultContext}}:arch-builder" context: "{{defaultContext}}:arch-builder"
platforms: linux/amd64 platforms: linux/amd64
push: true push: true
pull: true pull: true
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:rust-buildx
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/arch-builder:rust-buildx
target: rust target: rust
- -
name: Build and push arch-builder rust full images name: Build and push arch-builder rust full images
uses: docker/build-push-action@v6 uses: docker/build-push-action@v6
with: with:
builder: multiplatform-builder
context: "{{defaultContext}}:arch-builder" context: "{{defaultContext}}:arch-builder"
platforms: linux/amd64 platforms: linux/amd64
push: true push: true
pull: true pull: true
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:rust-full-buildx
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/arch-builder:rust-full-buildx
target: rust-full target: rust-full
-
name: Build and push arch-builder rust images
uses: docker/build-push-action@v6
with:
builder: multiplatform-builder
context: "{{defaultContext}}:arch-builder"
platforms: linux/amd64
push: true
pull: true
tags: |
"gitea.woggioni.net/woggioni/arch-builder:rust-sccache"
target: rust-sccache
-
name: Build and push arch-builder rust full images
uses: docker/build-push-action@v6
with:
builder: multiplatform-builder
context: "{{defaultContext}}:arch-builder"
platforms: linux/amd64
push: true
pull: true
tags: |
"gitea.woggioni.net/woggioni/arch-builder:rust-full-sccache"
target: rust-full-sccache
- -
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
with: with:
builder: multiplatform-builder
context: "{{defaultContext}}:arch-builder" context: "{{defaultContext}}:arch-builder"
platforms: linux/amd64 platforms: linux/amd64
push: true push: true
pull: true pull: true
tags: | tags: |
"gitea.woggioni.net/woggioni/arch-builder:gitea_act_runner" "gitea.woggioni.net/woggioni/arch-builder:gitea_act_runner"
cache-from: type=registry,ref=gitea.woggioni.net/woggioni/arch-builder:gitea-buildx
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/arch-builder:gitea-buildx
target: gitea_act_runner target: gitea_act_runner

View File

@@ -81,6 +81,34 @@ WORKDIR /home/luser
FROM base AS rust FROM base AS rust
RUN mkdir -p /etc/cargo RUN mkdir -p /etc/cargo
COPY --chown=1000:1000 config.toml /home/luser/.cargo/config.toml COPY --chown=1000:1000 config.toml /home/luser/.cargo/config.toml
RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
rustup \
trunk \
llvm \
clang
FROM rust AS rust-full
RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
hidapi \
protobuf
USER luser
WORKDIR /home/luser
RUN rustup update
RUN rustup toolchain install stable-x86_64-unknown-linux-gnu --profile minimal
RUN rustup component add rustfmt
RUN rustup target add \
x86_64-unknown-linux-musl \
x86_64-unknown-linux-gnu \
armv7-unknown-linux-musleabihf \
arm-unknown-linux-musleabi \
aarch64-unknown-linux-musl \
aarch64-unknown-linux-gnu \
wasm32-unknown-unknown \
wasm32-wasip2
FROM base AS rust-sccache
RUN mkdir -p /etc/cargo
COPY --chown=1000:1000 config-sccache.toml /home/luser/.cargo/config.toml
COPY --chown=1000:1000 sccache_config.toml /home/luser/.config/sccache/config COPY --chown=1000:1000 sccache_config.toml /home/luser/.config/sccache/config
RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \ RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
rustup \ rustup \
@@ -89,7 +117,7 @@ RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
llvm \ llvm \
clang clang
FROM rust AS rust-full FROM rust-sccache AS rust-full-scache
RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \ RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
hidapi \ hidapi \
protobuf protobuf

View File

@@ -0,0 +1,23 @@
[target.aarch64-unknown-linux-musl]
linker = "/opt/x-tools/aarch64-unknown-linux-musl/bin/aarch64-unknown-linux-musl-ld"
[target.x86_64-unknown-linux-musl]
linker = "/opt/x-tools/x86_64-unknown-linux-musl/bin/x86_64-unknown-linux-musl-ld"
[target.x86_64-pc-windows-gnu]
linker = "/opt/x-tools/x86_64-w64-mingw32/bin/x86_64-w64-mingw32-gcc"
[target.armv7-unknown-linux-musleabihf]
linker = "/opt/x-tools/arm-unknown-linux-musleabihf/bin/arm-unknown-linux-musleabihf-ld"
[registries.gitea]
global-credential-providers = ["cargo:token"]
index = "sparse+https://gitea.woggioni.net/api/packages/woggioni/cargo/"
[net]
git-fetch-with-cli = true
[profile.release]
opt-level = 3
lto = true
strip = true
[build]
rustc-wrapper = "/usr/bin/sccache"

View File

@@ -18,6 +18,3 @@ git-fetch-with-cli = true
opt-level = 3 opt-level = 3
lto = true lto = true
strip = true strip = true
[build]
rustc-wrapper = "/usr/bin/sccache"