Files
stacks-puppet-node/build-scripts/Dockerfile.linux-musl-x64

28 lines
989 B
Docker

FROM rust:alpine as build
ARG STACKS_NODE_VERSION="No Version Info"
ARG GIT_BRANCH='No Branch Info'
ARG GIT_COMMIT='No Commit Info'
ARG BUILD_DIR=/build
ARG TARGET=x86_64-unknown-linux-musl
# Allow us to override the default `--target-cpu` for the given target triplet
ARG TARGET_CPU
WORKDIR /src
COPY . .
RUN apk update && apk add git musl-dev
# Run all the build steps in ramdisk in an attempt to speed things up
RUN --mount=type=tmpfs,target=${BUILD_DIR} cp -R /src/. ${BUILD_DIR}/ \
&& cd ${BUILD_DIR} \
&& rustup target add ${TARGET} \
${TARGET_CPU:+RUSTFLAGS="$RUSTFLAGS $TARGET_CPU"} \
cargo build --features monitoring_prom,slog_json --release --workspace --target ${TARGET} --bin stacks-node --bin stacks-inspect --bin clarity-cli --bin blockstack-cli \
&& mkdir -p /out \
&& cp -R ${BUILD_DIR}/target/${TARGET}/release/. /out
FROM scratch AS export-stage
COPY --from=build /out/stacks-inspect /out/blockstack-cli /out/clarity-cli /out/stacks-node /