diff --git a/.gitea/workflows/build-shadowsocks-rust.yaml b/.gitea/workflows/build-shadowsocks-rust.yaml index 9925a26..ca83a06 100644 --- a/.gitea/workflows/build-shadowsocks-rust.yaml +++ b/.gitea/workflows/build-shadowsocks-rust.yaml @@ -25,6 +25,7 @@ jobs: platforms: | linux/amd64 linux/arm64 + linux/arm/v7 push: true pull: false ssh: default=/home/luser/.ssh/id_ed25519 diff --git a/shadowsocks-rust/Dockerfile b/shadowsocks-rust/Dockerfile index 800340b..19710be 100644 --- a/shadowsocks-rust/Dockerfile +++ b/shadowsocks-rust/Dockerfile @@ -9,22 +9,28 @@ ADD --chown=luser:luser git@github.com:shadowsocks/shadowsocks-rust.git#v${VERSI FROM base AS builder-linux_386 ENV RUST_TARGET="i686-unknown-linux-musl" -FROM base AS builder-linux_amd64 +FROM gitea.woggioni.net/woggioni/arch-builder:rust-full AS builder-linux_amd64 +WORKDIR /home/luser/shadowsocks-rust +ADD --chown=luser:luser git@github.com:shadowsocks/shadowsocks-rust.git#v${VERSION} . ENV RUST_TARGET="x86_64-unknown-linux-musl" ENV CC_x86_64-unknown-linux-musl=/opt/x-tools/x86_64-unknown-linux-musl/bin/x86_64-unknown-linux-musl-gcc ENV CXX_x86_64-unknown-linux-musl=/opt/x-tools/x86_64-unknown-linux-musl/bin/x86_64-unknown-linux-musl-g++ -FROM base AS builder-linux_arm64 +FROM gitea.woggioni.net/woggioni/arch-builder:rust-full AS builder-linux_arm64 +WORKDIR /home/luser/shadowsocks-rust +ADD --chown=luser:luser git@github.com:shadowsocks/shadowsocks-rust.git#v${VERSION} . ENV RUST_TARGET="aarch64-unknown-linux-musl" ENV CC_aarch64_unknown_linux_musl=/opt/x-tools/aarch64-unknown-linux-musl/bin/aarch64-unknown-linux-musl-gcc ENV CXX_aarch64_unknown_linux_musl=/opt/x-tools/aarch64-unknown-linux-musl/bin/aarch64-unknown-linux-musl-g++ -FROM base AS builder-linux_arm_v7 +FROM gitea.woggioni.net/woggioni/arch-builder:rust-full AS builder-linux_arm_v7 +WORKDIR /home/luser/shadowsocks-rust +ADD --chown=luser:luser git@github.com:shadowsocks/shadowsocks-rust.git#v${VERSION} . 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/