Compare commits
2 Commits
96a32e13a8
...
735fd1b674
| Author | SHA1 | Date | |
|---|---|---|---|
|
735fd1b674
|
|||
|
7c1725427b
|
@@ -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
|
||||
|
||||
@@ -17,26 +17,13 @@ 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
|
||||
push: true
|
||||
pull: false
|
||||
|
||||
+29
-1
@@ -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
|
||||
|
||||
@@ -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"
|
||||
@@ -18,6 +18,3 @@ git-fetch-with-cli = true
|
||||
opt-level = 3
|
||||
lto = true
|
||||
strip = true
|
||||
|
||||
[build]
|
||||
rustc-wrapper = "/usr/bin/sccache"
|
||||
|
||||
@@ -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/
|
||||
|
||||
Reference in New Issue
Block a user