mirror of
https://github.com/alexgo-io/stacks-puppet-node.git
synced 2026-01-12 22:43:42 +08:00
Merge branch 'next' into feat/vote-for-key-burnop
This commit is contained in:
@@ -7,16 +7,19 @@ ARG TARGETPLATFORM
|
||||
ARG BUILDPLATFORM
|
||||
ARG TARGETARCH
|
||||
ARG TARGETVARIANT
|
||||
ARG REPO=stacks-network/stacks-core
|
||||
ARG REPO
|
||||
|
||||
RUN case ${TARGETARCH} in \
|
||||
"amd64") BIN_ARCH=linux-musl-x64 ;; \
|
||||
"arm64") BIN_ARCH=linux-musl-arm64 ;; \
|
||||
"arm") BIN_ARCH=linux-musl-armv7 ;; \
|
||||
"*") exit 1 ;; \
|
||||
RUN case ${TARGETPLATFORM} in \
|
||||
linux/amd64/v2) BIN_ARCH=linux-glibc-x64-v2 ;; \
|
||||
linux/amd64*) BIN_ARCH=linux-glibc-x64 ;; \
|
||||
linux/arm64*) BIN_ARCH=linux-glibc-arm64 ;; \
|
||||
linux/arm/v7) BIN_ARCH=linux-glibc-armv7 ;; \
|
||||
*) exit 1 ;; \
|
||||
esac \
|
||||
&& echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \
|
||||
&& wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip \
|
||||
&& echo "TARGETPLATFORM: $TARGETPLATFORM" \
|
||||
&& echo "BIN_ARCH: $BIN_ARCH" \
|
||||
&& echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \
|
||||
&& wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip \
|
||||
&& unzip ${BIN_ARCH}.zip -d /out
|
||||
|
||||
FROM --platform=${TARGETPLATFORM} alpine
|
||||
|
||||
@@ -7,16 +7,19 @@ ARG TARGETPLATFORM
|
||||
ARG BUILDPLATFORM
|
||||
ARG TARGETARCH
|
||||
ARG TARGETVARIANT
|
||||
ARG REPO=stacks-network/stacks-core
|
||||
ARG REPO
|
||||
|
||||
RUN case ${TARGETARCH} in \
|
||||
"amd64") BIN_ARCH=linux-musl-x64 ;; \
|
||||
"arm64") BIN_ARCH=linux-musl-arm64 ;; \
|
||||
"arm") BIN_ARCH=linux-musl-armv7 ;; \
|
||||
"*") exit 1 ;; \
|
||||
RUN case ${TARGETPLATFORM} in \
|
||||
linux/amd64/v2) BIN_ARCH=linux-glibc-x64-v2 ;; \
|
||||
linux/amd64*) BIN_ARCH=linux-glibc-x64 ;; \
|
||||
linux/arm64*) BIN_ARCH=linux-glibc-arm64 ;; \
|
||||
linux/arm/v7) BIN_ARCH=linux-glibc-armv7 ;; \
|
||||
*) exit 1 ;; \
|
||||
esac \
|
||||
&& echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \
|
||||
&& wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip \
|
||||
&& echo "TARGETPLATFORM: $TARGETPLATFORM" \
|
||||
&& echo "BIN_ARCH: $BIN_ARCH" \
|
||||
&& echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \
|
||||
&& wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip \
|
||||
&& unzip ${BIN_ARCH}.zip -d /out
|
||||
|
||||
FROM --platform=${TARGETPLATFORM} debian:bookworm
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
FROM rust:bullseye as build
|
||||
FROM rust:bookworm 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-gnu
|
||||
# Allow us to override the default `--target-cpu` for the given target triplet
|
||||
ARG TARGET_CPU
|
||||
ENV RUSTFLAGS="${TARGET_CPU:+${RUSTFLAGS} -Ctarget-cpu=${TARGET_CPU}}"
|
||||
WORKDIR /src
|
||||
|
||||
COPY . .
|
||||
|
||||
78
.github/workflows/create-source-binary-x64.yml
vendored
78
.github/workflows/create-source-binary-x64.yml
vendored
@@ -1,78 +0,0 @@
|
||||
## Github workflow to create multiarch binaries from source
|
||||
|
||||
name: Create Binaries for x86_64
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
tag:
|
||||
description: "Tag name of this release (x.y.z)"
|
||||
required: true
|
||||
type: string
|
||||
arch:
|
||||
description: "Stringified JSON object listing of platform matrix"
|
||||
required: false
|
||||
type: string
|
||||
default: >-
|
||||
["linux-glibc-x64", "linux-musl-x64", "macos-x64", "windows-x64"]
|
||||
cpu:
|
||||
description: "Stringified JSON object listing of target CPU matrix"
|
||||
required: false
|
||||
type: string
|
||||
default: >-
|
||||
["x86-64", "x86-64-v3"]
|
||||
|
||||
## change the display name to the tag being built
|
||||
run-name: ${{ inputs.tag }}
|
||||
|
||||
concurrency:
|
||||
group: create-binary-${{ github.head_ref || github.ref || github.run_id}}
|
||||
## Only cancel in progress if this is for a PR
|
||||
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
jobs:
|
||||
## Runs when the following is true:
|
||||
## - tag is provided
|
||||
## - workflow is building default branch (master)
|
||||
artifact:
|
||||
if: |
|
||||
inputs.tag != '' &&
|
||||
github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
|
||||
name: Build Binaries
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
## Run a maximum of 10 builds concurrently, using the matrix defined in inputs.arch
|
||||
max-parallel: 10
|
||||
matrix:
|
||||
platform: ${{ fromJson(inputs.arch) }}
|
||||
cpu: ${{ fromJson(inputs.cpu) }}
|
||||
steps:
|
||||
## Setup Docker for the builds
|
||||
- name: Docker setup
|
||||
uses: stacks-network/actions/docker@main
|
||||
|
||||
## Build the binaries using defined dockerfiles
|
||||
- name: Build Binary (${{ matrix.platform }}_${{ matrix.cpu }})
|
||||
id: build_binaries
|
||||
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # 5.0.0
|
||||
with:
|
||||
file: build-scripts/Dockerfile.${{ matrix.platform }}
|
||||
outputs: type=local,dest=./release/${{ matrix.platform }}
|
||||
build-args: |
|
||||
STACKS_NODE_VERSION=${{ inputs.tag || env.GITHUB_SHA_SHORT }}
|
||||
OS_ARCH=${{ matrix.platform }}
|
||||
TARGET_CPU=${{ matrix.cpu }}
|
||||
GIT_BRANCH=${{ env.GITHUB_REF_SHORT }}
|
||||
GIT_COMMIT=${{ env.GITHUB_SHA_SHORT }}
|
||||
|
||||
## Compress the binary artifact
|
||||
- name: Compress artifact
|
||||
id: compress_artifact
|
||||
run: zip --junk-paths ${{ matrix.platform }}_${{ matrix.cpu }} ./release/${{ matrix.platform }}/*
|
||||
|
||||
## Upload the binary artifact to the github action (used in `github-release.yml` to create a release)
|
||||
- name: Upload artifact
|
||||
id: upload_artifact
|
||||
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||
with:
|
||||
path: ${{ matrix.platform }}_${{ matrix.cpu }}.zip
|
||||
81
.github/workflows/create-source-binary.yml
vendored
81
.github/workflows/create-source-binary.yml
vendored
@@ -9,12 +9,6 @@ on:
|
||||
description: "Tag name of this release (x.y.z)"
|
||||
required: true
|
||||
type: string
|
||||
arch:
|
||||
description: "Stringified JSON object listing of platform matrix"
|
||||
required: false
|
||||
type: string
|
||||
default: >-
|
||||
["linux-glibc-arm64", "linux-glibc-armv7", "linux-musl-arm64", "linux-musl-armv7"]
|
||||
|
||||
## change the display name to the tag being built
|
||||
run-name: ${{ inputs.tag }}
|
||||
@@ -30,7 +24,7 @@ jobs:
|
||||
## - workflow is building default branch (master)
|
||||
artifact:
|
||||
if: |
|
||||
inputs.tag != '' &&
|
||||
inputs.tag != '' &&
|
||||
github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
|
||||
name: Build Binaries
|
||||
runs-on: ubuntu-latest
|
||||
@@ -38,33 +32,92 @@ jobs:
|
||||
## Run a maximum of 10 builds concurrently, using the matrix defined in inputs.arch
|
||||
max-parallel: 10
|
||||
matrix:
|
||||
platform: ${{ fromJson(inputs.arch) }}
|
||||
arch:
|
||||
- linux-musl
|
||||
- linux-glibc
|
||||
- macos
|
||||
- windows
|
||||
cpu:
|
||||
- arm64
|
||||
- armv7
|
||||
- x86-64 ## defaults to x86-64-v3 variant - intel haswell (2013) and newer
|
||||
# - x86-64-v2 ## intel nehalem (2008) and newer
|
||||
# - x86-64-v3 ## intel haswell (2013) and newer
|
||||
# - x86-64-v4 ## intel skylake (2017) and newer
|
||||
exclude:
|
||||
- arch: windows # excludes windows-arm64
|
||||
cpu: arm64
|
||||
- arch: windows # excludes windows-armv7
|
||||
cpu: armv7
|
||||
- arch: macos # excludes macos-armv7
|
||||
cpu: armv7
|
||||
|
||||
steps:
|
||||
## Setup Docker for the builds
|
||||
- name: Docker setup
|
||||
id: docker_setup
|
||||
uses: stacks-network/actions/docker@main
|
||||
|
||||
- name: Set Local env vars
|
||||
id: set_env
|
||||
run: |
|
||||
case ${{ matrix.cpu }} in
|
||||
x86-64)
|
||||
## default x64 builds to use v3 variant. TARGET_CPU is required to build for v3 via RUSTFLAGS
|
||||
TARGET_CPU="${{ matrix.cpu }}-v3"
|
||||
DOCKERFILE_CPU="x64"
|
||||
ARCHIVE_NAME="x64"
|
||||
;;
|
||||
x86-64-v2)
|
||||
## intel nehalem (2008) and newer
|
||||
TARGET_CPU="${{ matrix.cpu }}"
|
||||
DOCKERFILE_CPU="x64"
|
||||
ARCHIVE_NAME="x64-v2"
|
||||
;;
|
||||
x86-64-v3)
|
||||
## intel haswell (2013) and newer
|
||||
TARGET_CPU="${{ matrix.cpu }}"
|
||||
DOCKERFILE_CPU="x64"
|
||||
ARCHIVE_NAME="x64-v3"
|
||||
;;
|
||||
x86-64-v4)
|
||||
## intel skylake (2017) and newer
|
||||
TARGET_CPU="${{ matrix.cpu }}"
|
||||
DOCKERFILE_CPU="x64"
|
||||
ARCHIVE_NAME="x64-v4"
|
||||
;;
|
||||
*)
|
||||
TARGET_CPU=""
|
||||
DOCKERFILE_CPU="${{ matrix.cpu }}"
|
||||
ARCHIVE_NAME="${{ matrix.cpu }}"
|
||||
;;
|
||||
esac
|
||||
echo "DOCKERFILE=Dockerfile.${{ matrix.arch }}-${DOCKERFILE_CPU}" >> "$GITHUB_ENV"
|
||||
echo "ZIPFILE=${{ matrix.arch }}-${ARCHIVE_NAME}" >> "$GITHUB_ENV"
|
||||
echo "TARGET_CPU=${TARGET_CPU}" >> "$GITHUB_ENV"
|
||||
|
||||
## Build the binaries using defined dockerfiles
|
||||
- name: Build Binary (${{ matrix.platform }})
|
||||
- name: Build Binary (${{ matrix.arch }}_${{ matrix.cpu }})
|
||||
id: build_binaries
|
||||
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # 5.0.0
|
||||
with:
|
||||
file: build-scripts/Dockerfile.${{ matrix.platform }}
|
||||
outputs: type=local,dest=./release/${{ matrix.platform }}
|
||||
file: build-scripts/${{ env.DOCKERFILE }}
|
||||
outputs: type=local,dest=./release/${{ matrix.arch }}
|
||||
build-args: |
|
||||
STACKS_NODE_VERSION=${{ inputs.tag || env.GITHUB_SHA_SHORT }}
|
||||
OS_ARCH=${{ matrix.platform }}
|
||||
OS_ARCH=${{ matrix.arch }}
|
||||
TARGET_CPU=${{ env.TARGET_CPU }}
|
||||
GIT_BRANCH=${{ env.GITHUB_REF_SHORT }}
|
||||
GIT_COMMIT=${{ env.GITHUB_SHA_SHORT }}
|
||||
|
||||
## Compress the binary artifact
|
||||
- name: Compress artifact
|
||||
id: compress_artifact
|
||||
run: zip --junk-paths ${{ matrix.platform }} ./release/${{ matrix.platform }}/*
|
||||
run: zip --junk-paths ${{ env.ZIPFILE }} ./release/${{ matrix.arch }}/*
|
||||
|
||||
## Upload the binary artifact to the github action (used in `github-release.yml` to create a release)
|
||||
- name: Upload artifact
|
||||
id: upload_artifact
|
||||
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||
with:
|
||||
path: ${{ matrix.platform }}.zip
|
||||
path: ${{ env.ZIPFILE }}.zip
|
||||
|
||||
17
.github/workflows/github-release.yml
vendored
17
.github/workflows/github-release.yml
vendored
@@ -36,21 +36,6 @@ jobs:
|
||||
tag: ${{ inputs.tag }}
|
||||
secrets: inherit
|
||||
|
||||
## Build x86_64 binaries from source
|
||||
##
|
||||
## Runs when the following is true:
|
||||
## - tag is provided
|
||||
## - workflow is building default branch (master)
|
||||
build-binaries-x64:
|
||||
if: |
|
||||
inputs.tag != '' &&
|
||||
github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
|
||||
name: Build Binaries (x64_64)
|
||||
uses: ./.github/workflows/create-source-binary-x64.yml
|
||||
with:
|
||||
tag: ${{ inputs.tag }}
|
||||
secrets: inherit
|
||||
|
||||
## Runs when the following is true:
|
||||
## - tag is provided
|
||||
## - workflow is building default branch (master)
|
||||
@@ -62,7 +47,6 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- build-binaries
|
||||
- build-binaries-x64
|
||||
steps:
|
||||
## Downloads the artifacts built in `create-source-binary.yml`
|
||||
- name: Download Artifacts
|
||||
@@ -111,7 +95,6 @@ jobs:
|
||||
uses: ./.github/workflows/image-build-binary.yml
|
||||
needs:
|
||||
- build-binaries
|
||||
- build-binaries-x64
|
||||
- create-release
|
||||
with:
|
||||
tag: ${{ inputs.tag }}
|
||||
|
||||
34
.github/workflows/image-build-binary.yml
vendored
34
.github/workflows/image-build-binary.yml
vendored
@@ -8,16 +8,11 @@ on:
|
||||
tag:
|
||||
required: true
|
||||
type: string
|
||||
description: "Version tag for alpine images"
|
||||
docker-org:
|
||||
required: false
|
||||
type: string
|
||||
description: "Docker repo org for uploading images (defaults to github org)"
|
||||
default: "${GITHUB_REPOSITORY_OWNER}"
|
||||
description: "Version tag for docker images"
|
||||
|
||||
## Define which docker arch to build for
|
||||
env:
|
||||
docker_platforms: "linux/arm64, linux/arm/v7, linux/amd64, linux/amd64/v2, linux/amd64/v3"
|
||||
docker_platforms: "linux/arm64, linux/arm/v7, linux/amd64, linux/amd64/v3"
|
||||
docker-org: blockstack
|
||||
|
||||
concurrency:
|
||||
@@ -48,28 +43,39 @@ jobs:
|
||||
steps:
|
||||
## Setup Docker for the builds
|
||||
- name: Docker setup
|
||||
id: docker_setup
|
||||
uses: stacks-network/actions/docker@main
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
## if the repo owner is not `stacks-network`, default to a docker-org of the repo owner (i.e. github user id)
|
||||
## this allows forks to run the docker push workflows without having to hardcode a dockerhub org (but it does require docker hub user to match github username)
|
||||
- name: Set Local env vars
|
||||
id: set_env
|
||||
if: |
|
||||
github.repository_owner != 'stacks-network'
|
||||
run: |
|
||||
echo "docker-org=${{ github.repository_owner }}" >> "$GITHUB_ENV"
|
||||
|
||||
## Set docker metatdata
|
||||
## - depending on the matrix.dist, different tags will be enabled
|
||||
## ex. alpine will have this tag: `type=ref,event=tag,enable=${{ matrix.dist == 'alpine' }}`
|
||||
## ex. debian will have this tag: `type=ref,event=tag,enable=${{ matrix.dist == 'debian' }}`
|
||||
- name: Docker Metadata ( ${{matrix.dist}} )
|
||||
id: docker_metadata
|
||||
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 #v5.0.0
|
||||
with:
|
||||
## tag images with current repo name `stacks-core` as well as legacy `stacks-blockchain`
|
||||
images: |
|
||||
${{env.docker-org}}/${{ github.event.repository.name }}
|
||||
${{env.docker-org}}/stacks-blockchain
|
||||
tags: |
|
||||
type=raw,value=latest,enable=${{ inputs.tag != '' && (github.ref == format('refs/heads/{0}', github.event.repository.default_branch) ) && matrix.dist == 'alpine' }}
|
||||
type=raw,value=${{ inputs.tag }}-${{ matrix.dist }},enable=${{ inputs.tag != '' && matrix.dist == 'alpine'}}
|
||||
type=raw,value=${{ inputs.tag }},enable=${{ inputs.tag != '' && matrix.dist == 'alpine' }}
|
||||
type=ref,event=tag,enable=${{ matrix.dist == 'alpine' }}
|
||||
type=raw,value=latest-${{ matrix.dist }},enable=${{ inputs.tag != '' && (github.ref == format('refs/heads/{0}', github.event.repository.default_branch) ) && matrix.dist == 'debian' }}
|
||||
type=raw,value=${{ inputs.tag }}-${{ matrix.dist }},enable=${{ inputs.tag != '' && matrix.dist == 'debian' }}
|
||||
type=raw,value=latest,enable=${{ inputs.tag != '' && (github.ref == format('refs/heads/{0}', github.event.repository.default_branch) ) && matrix.dist == 'debian' }}
|
||||
type=raw,value=${{ inputs.tag }}-${{ matrix.dist }},enable=${{ inputs.tag != '' && matrix.dist == 'debian'}}
|
||||
type=raw,value=${{ inputs.tag }},enable=${{ inputs.tag != '' && matrix.dist == 'debian' }}
|
||||
type=ref,event=tag,enable=${{ matrix.dist == 'debian' }}
|
||||
type=raw,value=latest-${{ matrix.dist }},enable=${{ inputs.tag != '' && (github.ref == format('refs/heads/{0}', github.event.repository.default_branch) ) && matrix.dist == 'alpine' }}
|
||||
type=raw,value=${{ inputs.tag }}-${{ matrix.dist }},enable=${{ inputs.tag != '' && matrix.dist == 'alpine' }}
|
||||
|
||||
## Build docker image for release
|
||||
- name: Build and Push ( ${{matrix.dist}} )
|
||||
|
||||
14
.github/workflows/image-build-source.yml
vendored
14
.github/workflows/image-build-source.yml
vendored
@@ -8,7 +8,7 @@ on:
|
||||
|
||||
## Define which docker arch to build for
|
||||
env:
|
||||
docker_platforms: linux/amd64
|
||||
docker_platforms: "linux/amd64"
|
||||
docker-org: blockstack
|
||||
|
||||
concurrency:
|
||||
@@ -31,11 +31,21 @@ jobs:
|
||||
steps:
|
||||
## Setup Docker for the builds
|
||||
- name: Docker setup
|
||||
id: docker_setup
|
||||
uses: stacks-network/actions/docker@main
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||
|
||||
## if the repo owner is not `stacks-network`, default to a docker-org of the repo owner (i.e. github user id)
|
||||
## this allows forks to run the docker push workflows without having to hardcode a dockerhub org (but it does require docker hub user to match github username)
|
||||
- name: Set Local env vars
|
||||
id: set_env
|
||||
if: |
|
||||
github.repository_owner != 'stacks-network'
|
||||
run: |
|
||||
echo "docker-org=${{ github.repository_owner }}" >> "$GITHUB_ENV"
|
||||
|
||||
## Set docker metatdata
|
||||
- name: Docker Metadata ( ${{matrix.dist}} )
|
||||
id: docker_metadata
|
||||
@@ -58,8 +68,8 @@ jobs:
|
||||
tags: ${{ steps.docker_metadata.outputs.tags }}
|
||||
labels: ${{ steps.docker_metadata.outputs.labels }}
|
||||
build-args: |
|
||||
REPO=${{ github.repository_owner }}/${{ github.event.repository.name }}
|
||||
STACKS_NODE_VERSION=${{ env.GITHUB_SHA_SHORT }}
|
||||
GIT_BRANCH=${{ env.GITHUB_REF_SHORT }}
|
||||
GIT_COMMIT=${{ env.GITHUB_SHA_SHORT }}
|
||||
TARGET_CPU=x86-64-v3
|
||||
push: ${{ env.DOCKER_PUSH }}
|
||||
|
||||
1
.github/workflows/stacks-core-tests.yml
vendored
1
.github/workflows/stacks-core-tests.yml
vendored
@@ -168,7 +168,6 @@ jobs:
|
||||
|
||||
# Core contract tests on Clarinet v1
|
||||
# Check for false positives/negatives
|
||||
# https://github.com/stacks-network/stacks-blockchain/pull/4031#pullrequestreview-1713341208
|
||||
core-contracts-clarinet-test-clarinet-v1:
|
||||
name: Core Contracts Test Clarinet V1
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM rust:bullseye as build
|
||||
FROM rust:bookworm as build
|
||||
|
||||
ARG STACKS_NODE_VERSION="No Version Info"
|
||||
ARG GIT_BRANCH='No Branch Info'
|
||||
@@ -14,9 +14,8 @@ RUN cd testnet/stacks-node && cargo build --features monitoring_prom,slog_json -
|
||||
|
||||
RUN cp target/release/stacks-node /out
|
||||
|
||||
FROM debian:bullseye-slim
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
RUN apt update && apt install -y netcat
|
||||
COPY --from=build /out/ /bin/
|
||||
|
||||
CMD ["stacks-node", "mainnet"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM rust:bullseye as build
|
||||
FROM rust:bookworm as build
|
||||
|
||||
ARG STACKS_NODE_VERSION="No Version Info"
|
||||
ARG GIT_BRANCH='No Branch Info'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM rust:bullseye as build
|
||||
FROM rust:bookworm as build
|
||||
|
||||
ARG STACKS_NODE_VERSION="No Version Info"
|
||||
ARG GIT_BRANCH='No Branch Info'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM rust:bullseye as build
|
||||
FROM rust:bookworm as build
|
||||
|
||||
ARG STACKS_NODE_VERSION="No Version Info"
|
||||
ARG GIT_BRANCH='No Branch Info'
|
||||
@@ -7,6 +7,7 @@ ARG BUILD_DIR=/build
|
||||
ARG TARGET=x86_64-unknown-linux-gnu
|
||||
# Allow us to override the default `--target-cpu` for the given target triplet
|
||||
ARG TARGET_CPU
|
||||
ENV RUSTFLAGS="${TARGET_CPU:+${RUSTFLAGS} -Ctarget-cpu=${TARGET_CPU}}"
|
||||
WORKDIR /src
|
||||
|
||||
COPY . .
|
||||
@@ -17,8 +18,7 @@ RUN apt-get update && apt-get install -y git
|
||||
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 \
|
||||
&& 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
|
||||
|
||||
|
||||
@@ -19,4 +19,3 @@ 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 /
|
||||
|
||||
|
||||
@@ -5,20 +5,19 @@ 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
|
||||
ENV RUSTFLAGS="${TARGET_CPU:+${RUSTFLAGS} -Ctarget-cpu=${TARGET_CPU}}"
|
||||
WORKDIR /src
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN apk update && apk add git musl-dev
|
||||
RUN apk update && apk add git musl-dev make
|
||||
|
||||
# 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 \
|
||||
&& 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
|
||||
|
||||
|
||||
@@ -27,4 +27,3 @@ 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 /
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ 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=x86_64-apple-darwin
|
||||
ARG TARGET_CPU
|
||||
ENV RUSTFLAGS="${TARGET_CPU:+${RUSTFLAGS} -Ctarget-cpu=${TARGET_CPU}}"
|
||||
WORKDIR /src
|
||||
|
||||
COPY . .
|
||||
@@ -22,11 +23,9 @@ RUN --mount=type=tmpfs,target=${BUILD_DIR} cp -R /src/. ${BUILD_DIR}/ \
|
||||
&& cd ${BUILD_DIR} \
|
||||
&& rustup target add ${TARGET} \
|
||||
&& . /opt/osxcross/env-macos-x86_64 \
|
||||
${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 \
|
||||
&& 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 /
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM rust:bullseye as build
|
||||
FROM rust:bookworm as build
|
||||
|
||||
ARG STACKS_NODE_VERSION="No Version Info"
|
||||
ARG GIT_BRANCH='No Branch Info'
|
||||
@@ -6,11 +6,12 @@ ARG GIT_COMMIT='No Commit Info'
|
||||
ARG BUILD_DIR=/build
|
||||
ARG TARGET=x86_64-pc-windows-gnu
|
||||
ARG TARGET_CPU
|
||||
ENV RUSTFLAGS="${TARGET_CPU:+${RUSTFLAGS} -Ctarget-cpu=${TARGET_CPU}}"
|
||||
WORKDIR /src
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN apt-get update && apt-get install -y git gcc-mingw-w64-x86-64
|
||||
RUN apt-get update && apt-get install -y git gcc-mingw-w64-x86-64 libclang-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}/ \
|
||||
@@ -18,7 +19,6 @@ RUN --mount=type=tmpfs,target=${BUILD_DIR} cp -R /src/. ${BUILD_DIR}/ \
|
||||
&& rustup target add ${TARGET} \
|
||||
&& CC_x86_64_pc_windows_gnu=x86_64-w64-mingw32-gcc \
|
||||
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER=x86_64-w64-mingw32-gcc \
|
||||
${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
|
||||
|
||||
@@ -44,8 +44,8 @@ features = ["arbitrary_precision", "unbounded_depth"]
|
||||
version = "0.24.3"
|
||||
features = ["serde", "recovery"]
|
||||
|
||||
[target.'cfg(all(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64"), not(target_env = "msvc")))'.dependencies]
|
||||
[target.'cfg(all(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64"), not(any(target_os="windows"))))'.dependencies]
|
||||
sha2 = { version = "0.10", features = ["asm"] }
|
||||
|
||||
[target.'cfg(any(not(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64")), target_env = "msvc"))'.dependencies]
|
||||
[target.'cfg(any(not(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64")), any(target_os = "windows")))'.dependencies]
|
||||
sha2 = { version = "0.10" }
|
||||
|
||||
@@ -26,8 +26,8 @@ clarity = { path = "../clarity" }
|
||||
version = "0.24.3"
|
||||
features = ["serde", "recovery"]
|
||||
|
||||
[target.'cfg(all(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64"), not(target_env = "msvc")))'.dependencies]
|
||||
[target.'cfg(all(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64"), not(any(target_os="windows"))))'.dependencies]
|
||||
sha2 = { version = "0.10", features = ["asm"] }
|
||||
|
||||
[target.'cfg(any(not(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64")), target_env = "msvc"))'.dependencies]
|
||||
[target.'cfg(any(not(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64")), any(target_os = "windows")))'.dependencies]
|
||||
sha2 = { version = "0.10" }
|
||||
|
||||
@@ -78,8 +78,8 @@ developer-mode = []
|
||||
slog_json = ["slog-json"]
|
||||
testing = []
|
||||
|
||||
[target.'cfg(all(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64"), not(target_env = "msvc")))'.dependencies]
|
||||
[target.'cfg(all(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64"), not(any(target_os="windows"))))'.dependencies]
|
||||
sha2 = { version = "0.10", features = ["asm"] }
|
||||
|
||||
[target.'cfg(any(not(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64")), target_env = "msvc"))'.dependencies]
|
||||
[target.'cfg(any(not(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64")), any(target_os="windows")))'.dependencies]
|
||||
sha2 = { version = "0.10" }
|
||||
|
||||
@@ -59,7 +59,7 @@ siphasher = "0.3.7"
|
||||
wsts = { workspace = true }
|
||||
hashbrown = { workspace = true }
|
||||
|
||||
[target.'cfg(not(target_env = "msvc"))'.dependencies]
|
||||
[target.'cfg(not(any(target_os = "macos",target_os="windows", target_arch = "arm" )))'.dependencies]
|
||||
tikv-jemallocator = {workspace = true}
|
||||
|
||||
[target.'cfg(unix)'.dependencies]
|
||||
@@ -114,8 +114,8 @@ monitoring_prom = ["prometheus"]
|
||||
slog_json = ["slog-json", "stacks-common/slog_json", "clarity/slog_json", "pox-locking/slog_json"]
|
||||
testing = []
|
||||
|
||||
[target.'cfg(all(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64"), not(target_env = "msvc")))'.dependencies]
|
||||
[target.'cfg(all(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64"), not(any(target_os="windows"))))'.dependencies]
|
||||
sha2 = { version = "0.10", features = ["asm"] }
|
||||
|
||||
[target.'cfg(any(not(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64")), target_env = "msvc"))'.dependencies]
|
||||
[target.'cfg(any(not(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64")), any(target_os="windows")))'.dependencies]
|
||||
sha2 = { version = "0.10" }
|
||||
|
||||
@@ -26,10 +26,10 @@ extern crate stacks_common;
|
||||
#[macro_use(o, slog_log, slog_trace, slog_debug, slog_info, slog_warn, slog_error)]
|
||||
extern crate slog;
|
||||
|
||||
#[cfg(not(target_env = "msvc"))]
|
||||
#[cfg(not(any(target_os = "macos", target_os = "windows", target_arch = "arm")))]
|
||||
use tikv_jemallocator::Jemalloc;
|
||||
|
||||
#[cfg(not(target_env = "msvc"))]
|
||||
#[cfg(not(any(target_os = "macos", target_os = "windows", target_arch = "arm")))]
|
||||
#[global_allocator]
|
||||
static GLOBAL: Jemalloc = Jemalloc;
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ rand = { workspace = true }
|
||||
rand_core = { workspace = true }
|
||||
hashbrown = { workspace = true }
|
||||
|
||||
[target.'cfg(not(target_env = "msvc"))'.dependencies]
|
||||
[target.'cfg(not(any(target_os = "macos", target_os="windows", target_arch = "arm")))'.dependencies]
|
||||
tikv-jemallocator = {workspace = true}
|
||||
|
||||
[dev-dependencies]
|
||||
|
||||
@@ -41,7 +41,7 @@ use stacks::chainstate::coordinator::{get_next_recipients, OnChainRewardSetProvi
|
||||
use stacks::chainstate::stacks::address::PoxAddress;
|
||||
use stacks::chainstate::stacks::db::blocks::DummyEventDispatcher;
|
||||
use stacks::chainstate::stacks::db::StacksChainState;
|
||||
#[cfg(not(target_env = "msvc"))]
|
||||
#[cfg(not(any(target_os = "macos", target_os = "windows", target_arch = "arm")))]
|
||||
use tikv_jemallocator::Jemalloc;
|
||||
|
||||
pub use self::burnchains::{
|
||||
@@ -57,7 +57,7 @@ use crate::chain_data::MinerStats;
|
||||
use crate::neon_node::{BlockMinerThread, TipCandidate};
|
||||
use crate::run_loop::boot_nakamoto;
|
||||
|
||||
#[cfg(not(target_env = "msvc"))]
|
||||
#[cfg(not(any(target_os = "macos", target_os = "windows", target_arch = "arm")))]
|
||||
#[global_allocator]
|
||||
static GLOBAL: Jemalloc = Jemalloc;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user