ci: use cross-rs image with Rust for proper sysroot, cache builder image
All checks were successful
Build MIPS Binary / build (push) Successful in 7m39s
All checks were successful
Build MIPS Binary / build (push) Successful in 7m39s
This commit is contained in:
@@ -33,27 +33,28 @@ jobs:
|
|||||||
npm install
|
npm install
|
||||||
trunk build --release
|
trunk build --release
|
||||||
|
|
||||||
- name: Install Cross
|
- name: Build MIPS Builder Image
|
||||||
run: |
|
run: |
|
||||||
if ! command -v cross &> /dev/null; then
|
if ! docker image inspect vibetorrent-mips-builder >/dev/null 2>&1; then
|
||||||
cargo install cross --locked
|
docker build --platform linux/amd64 -t vibetorrent-mips-builder -f - . <<'DOCKERFILE'
|
||||||
|
FROM ghcr.io/cross-rs/mips-unknown-linux-musl:main
|
||||||
|
RUN apt-get update -qq && \
|
||||||
|
apt-get install -y -qq curl ca-certificates && \
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly --component rust-src && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||||
|
DOCKERFILE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Build Backend (MIPS)
|
- name: Build Backend (MIPS)
|
||||||
run: |
|
run: |
|
||||||
docker run --rm --platform linux/amd64 \
|
docker run --rm \
|
||||||
-v "$PWD":/project \
|
-v "$PWD":/project \
|
||||||
-v cargo-cache:/usr/local/cargo/registry \
|
-v cargo-mips-registry:/root/.cargo/registry \
|
||||||
-w /project \
|
-w /project/backend \
|
||||||
rust:latest \
|
vibetorrent-mips-builder \
|
||||||
bash -c '
|
bash -c '
|
||||||
rustup toolchain install nightly --component rust-src &&
|
cargo build --target mips-unknown-linux-musl --release -Z build-std=std,panic_abort &&
|
||||||
apt-get update -qq && apt-get install -y -qq musl-tools wget >/dev/null 2>&1 &&
|
|
||||||
wget -qO- https://musl.cc/mips-linux-musl-cross.tgz | tar xz -C /opt/ &&
|
|
||||||
export PATH="/opt/mips-linux-musl-cross/bin:$PATH" &&
|
|
||||||
export CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_LINKER=mips-linux-musl-gcc &&
|
|
||||||
cd backend &&
|
|
||||||
cargo +nightly build --target mips-unknown-linux-musl --release -Z build-std=std,panic_abort &&
|
|
||||||
file /project/target/mips-unknown-linux-musl/release/backend
|
file /project/target/mips-unknown-linux-musl/release/backend
|
||||||
'
|
'
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user