diff --git a/.github/actions/dockerfiles/Dockerfile.alpine-binary b/.github/actions/dockerfiles/Dockerfile.alpine-binary index 8c450a67f..2388ffa03 100644 --- a/.github/actions/dockerfiles/Dockerfile.alpine-binary +++ b/.github/actions/dockerfiles/Dockerfile.alpine-binary @@ -7,11 +7,12 @@ ARG TARGETPLATFORM ARG BUILDPLATFORM ARG TARGETARCH ARG TARGETVARIANT -ARG REPO=stacks-network/stacks-blockchain +ARG REPO=stacks-network/stacks-core RUN case ${TARGETARCH} in \ "amd64") BIN_ARCH=linux-musl-x64 ;; \ "arm64") BIN_ARCH=linux-musl-arm64 ;; \ + "arm") BIN_ARCH=linux-musl-armv7 ;; \ "*") exit 1 ;; \ esac \ && echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \ diff --git a/.github/actions/dockerfiles/Dockerfile.debian-binary b/.github/actions/dockerfiles/Dockerfile.debian-binary index cf1380361..1cc5341d2 100644 --- a/.github/actions/dockerfiles/Dockerfile.debian-binary +++ b/.github/actions/dockerfiles/Dockerfile.debian-binary @@ -7,11 +7,12 @@ ARG TARGETPLATFORM ARG BUILDPLATFORM ARG TARGETARCH ARG TARGETVARIANT -ARG REPO=stacks-network/stacks-blockchain +ARG REPO=stacks-network/stacks-core RUN case ${TARGETARCH} in \ "amd64") BIN_ARCH=linux-musl-x64 ;; \ "arm64") BIN_ARCH=linux-musl-arm64 ;; \ + "arm") BIN_ARCH=linux-musl-armv7 ;; \ "*") exit 1 ;; \ esac \ && echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \ diff --git a/build-scripts/Dockerfile.linux-glibc-arm64 b/build-scripts/Dockerfile.linux-glibc-arm64 index 7ce50b6a6..61ff5f4a0 100644 --- a/build-scripts/Dockerfile.linux-glibc-arm64 +++ b/build-scripts/Dockerfile.linux-glibc-arm64 @@ -24,3 +24,4 @@ RUN --mount=type=tmpfs,target=${BUILD_DIR} cp -R /src/. ${BUILD_DIR}/ \ FROM scratch AS export-stage COPY --from=build /out/stacks-inspect /out/blockstack-cli /out/clarity-cli /out/stacks-node / +## comment diff --git a/build-scripts/Dockerfile.linux-glibc-armv7 b/build-scripts/Dockerfile.linux-glibc-armv7 new file mode 100644 index 000000000..eb893baeb --- /dev/null +++ b/build-scripts/Dockerfile.linux-glibc-armv7 @@ -0,0 +1,26 @@ +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 TARGET=armv7-unknown-linux-gnueabihf +WORKDIR /src + +COPY . . + +RUN apt-get update && apt-get install -y git gcc-arm-linux-gnueabihf + +# 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} \ + && CC=arm-linux-gnueabihf-gcc \ + CC_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc \ + CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \ + cargo build --features monitoring_prom,slog_json --release --workspace --target ${TARGET} \ + && 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 / \ No newline at end of file diff --git a/build-scripts/Dockerfile.linux-glibc-x64 b/build-scripts/Dockerfile.linux-glibc-x64 index 2db13cb51..9c68c58af 100644 --- a/build-scripts/Dockerfile.linux-glibc-x64 +++ b/build-scripts/Dockerfile.linux-glibc-x64 @@ -21,3 +21,4 @@ RUN --mount=type=tmpfs,target=${BUILD_DIR} cp -R /src/. ${BUILD_DIR}/ \ FROM scratch AS export-stage COPY --from=build /out/stacks-inspect /out/blockstack-cli /out/clarity-cli /out/stacks-node / +## comment diff --git a/build-scripts/Dockerfile.linux-musl-armv7 b/build-scripts/Dockerfile.linux-musl-armv7 new file mode 100644 index 000000000..57b93b47e --- /dev/null +++ b/build-scripts/Dockerfile.linux-musl-armv7 @@ -0,0 +1,21 @@ +FROM messense/rust-musl-cross:armv7-musleabihf 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=armv7-unknown-linux-musleabihf +WORKDIR /src + +COPY . . + +# 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} \ + && cargo build --features monitoring_prom,slog_json --release --workspace --target ${TARGET} \ + && 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 / \ No newline at end of file diff --git a/build-scripts/build-dist.sh b/build-scripts/build-dist.sh index ac2c8bcd5..8be8f4f8a 100755 --- a/build-scripts/build-dist.sh +++ b/build-scripts/build-dist.sh @@ -17,8 +17,10 @@ case $DIST_TARGET_FILTER in case $DIST_TARGET_FILTER in linux-glibc-x64) build_platform linux-glibc-x64 ;; linux-glibc-arm64) build_platform linux-glibc-arm64 ;; + linux-glibc-armv7) build_platform linux-glibc-armv7 ;; linux-musl-x64) build_platform linux-musl-x64 ;; linux-musl-arm64) build_platform linux-musl-arm64 ;; + linux-musl-armv7) build_platform linux-musl-armv7 ;; windows-x64) build_platform windows-x64 ;; macos-x64) build_platform macos-x64 ;; macos-arm64) build_platform macos-arm64 ;; @@ -32,8 +34,10 @@ case $DIST_TARGET_FILTER in echo "Building distrubtions for all targets." build_platform linux-glibc-x64 build_platform linux-glibc-arm64 + build_platform linux-glibc-armv7 build_platform linux-musl-x64 build_platform linux-musl-arm64 + build_platform linux-musl-armv7 build_platform windows-x64 build_platform macos-x64 build_platform macos-arm64