16
Dockerfile
16
Dockerfile
@@ -1,22 +1,22 @@
|
||||
FROM --platform=$BUILDPLATFORM alpine:latest AS base
|
||||
FROM --platform=$BUILDPLATFORM gitea.woggioni.net/woggioni/arch-builder:rust-full AS base
|
||||
|
||||
ARG TARGETPLATFORM
|
||||
|
||||
FROM base AS builder-linux_amd64
|
||||
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
|
||||
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 builder-${TARGETPLATFORM/\//_} AS build
|
||||
RUN --mount=type=cache,target=/var/cache/apk apk update
|
||||
RUN --mount=type=cache,target=/var/cache/apk apk add rustup binutils gcc musl-dev linux-headers
|
||||
RUN adduser -D luser
|
||||
USER luser
|
||||
WORKDIR /home/luser
|
||||
RUN rustup-init -y --profile minimal --target "$RUST_TARGET"
|
||||
RUN rustup target add $RUST_TARGET
|
||||
ADD --chown=luser:users . .
|
||||
RUN source $HOME/.cargo/env && cargo build --release --target "$RUST_TARGET"
|
||||
RUN cargo build --locked --release --target "$RUST_TARGET"
|
||||
RUN cp "target/${RUST_TARGET}/release/intrasys" "./intrasys.x"
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user