mirror of
https://github.com/alexgo-io/stacks-puppet-node.git
synced 2026-04-28 19:55:20 +08:00
31 lines
1.2 KiB
Docker
31 lines
1.2 KiB
Docker
FROM rust:bullseye 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 OSXCROSS="https://github.com/hirosystems/docker-osxcross-rust/releases/download/MacOSX12.0.sdk/osxcross-d904031_MacOSX12.0.sdk.tar.zst"
|
|
ARG TARGET=aarch64-apple-darwin
|
|
WORKDIR /src
|
|
|
|
COPY . .
|
|
|
|
RUN apt-get update && apt-get install -y clang zstd
|
|
|
|
# Retrieve and install osxcross
|
|
RUN wget -nc -O /tmp/osxcross.tar.zst ${OSXCROSS} \
|
|
&& mkdir -p /opt/osxcross && tar -xaf /tmp/osxcross.tar.zst -C /opt/osxcross
|
|
|
|
# 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} \
|
|
&& . /opt/osxcross/env-macos-aarch64 \
|
|
&& 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 /
|
|
|