Compare commits

...

3 Commits

Author SHA1 Message Date
woggioni 96a32e13a8 updated arch builder
CI / Build arch-builder docker images (push) Has been cancelled
2025-12-31 20:13:05 +08:00
woggioni 6708b8e3ec try to fix the build
CI / Build shadowsocks-rust docker images (push) Failing after 2m46s
2025-12-31 19:00:52 +08:00
woggioni 23608384c6 fixed shadowsocks image
CI / Build shadowsocks-rust docker images (push) Failing after 4m58s
2025-12-31 18:06:13 +08:00
6 changed files with 88 additions and 39 deletions
+30 -16
View File
@@ -7,13 +7,8 @@ on:
- '.gitea/workflows/build-arch-builder.yaml'
jobs:
"Build arch-builder docker images":
runs-on: hostinger
runs-on: woryzen
steps:
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker-container
-
name: Login to Gitea container registry
uses: docker/login-action@v3
@@ -25,64 +20,83 @@ jobs:
name: Build and push arch-builder base 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: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
-
name: Build and push arch-builder kernel 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: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
-
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"
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
-
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"
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
-
name: Build and push arch-builder rust sccache 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 sccache 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
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: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
+3 -15
View File
@@ -17,27 +17,15 @@ jobs:
username: woggioni
password: ${{ secrets.PUBLISHER_TOKEN }}
-
name: Build and push sserver-rust images amd64
uses: docker/build-push-action@v6
with:
context: "{{defaultContext}}:shadowsocks-rust"
platforms: |
linux/amd64
push: true
pull: false
ssh: default=/home/luser/.ssh/id_ed25519
tags: |
"gitea.woggioni.net/woggioni/sserver-rust:latest"
"gitea.woggioni.net/woggioni/sserver-rust:v1.24.0"
build-args: "VERSION=1.24.0"
-
name: Build and push sserver-rust images aarch64
name: Build and push sserver-rust images
uses: docker/build-push-action@v6
with:
builder: multiplatform-builder
context: "{{defaultContext}}:shadowsocks-rust"
platforms: |
linux/amd64
linux/arm64
linux/arm/v7
push: true
pull: false
ssh: default=/home/luser/.ssh/id_ed25519
+29 -1
View File
@@ -81,6 +81,34 @@ WORKDIR /home/luser
FROM base AS rust
RUN mkdir -p /etc/cargo
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
RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
rustup \
@@ -89,7 +117,7 @@ RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
llvm \
clang
FROM rust AS rust-full
FROM rust-sccache AS rust-full-sccache
RUN --mount=type=cache,target=/var/cache/pacman pacman -S --noconfirm --needed \
hidapi \
protobuf
+23
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"
-3
View File
@@ -18,6 +18,3 @@ git-fetch-with-cli = true
opt-level = 3
lto = true
strip = true
[build]
rustc-wrapper = "/usr/bin/sccache"
+3 -4
View File
@@ -1,10 +1,9 @@
FROM --platform=$BUILDPLATFORM gitea.woggioni.net/woggioni/arch-builder:rust-full AS base
ARG VERSION TARGETPLATFORM BUILDPLATFORM
WORKDIR /home/luser/shadowsocks-rust
ADD --chown=luser:luser git@github.com:shadowsocks/shadowsocks-rust.git#v${VERSION} .
#ADD --chown=luser:luser git@github.com:shadowsocks/shadowsocks-rust.git#v${VERSION} .
RUN git clone --depth 1 --branch "v${VERSION}" https://github.com/shadowsocks/shadowsocks-rust.git .
FROM base AS builder-linux_386
ENV RUST_TARGET="i686-unknown-linux-musl"
@@ -24,7 +23,7 @@ ENV RUST_TARGET="arm-unknown-linux-musleabihf"
ENV CC_armv7_unknown_linux_musleabihf=/opt/x-tools/arm-unknown-linux-musleabi/bin/arm-unknown-linux-musleabi-gcc
ENV CXX_armv7_unknown_linux_musleabihf=/opt/x-tools/arm-unknown-linux-musleabi/bin/arm-unknown-linux-musleabi-g++
FROM builder-${TARGETPLATFORM/\//_} AS builder
FROM builder-${TARGETPLATFORM//\//_} AS builder
RUN rustup target add $RUST_TARGET
RUN cargo +stable build --locked --target "$RUST_TARGET" --release --features "full,aead-cipher-extra,aead-cipher-2022-extra,security-replay-attack-detect" \
&& mv target/$RUST_TARGET/release/ss* target/release/