From b3a148da65528d18fb0754fea546502aba44fd9b Mon Sep 17 00:00:00 2001 From: Robbie Blaine Date: Wed, 8 Oct 2025 16:06:30 +0200 Subject: [PATCH 1/2] Build Polkadot Parachain --- .github/workflows/publish.yml | 17 ++++++++--------- Dockerfile | 4 +++- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3f8b97d..03f8f80 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -29,38 +29,37 @@ jobs: steps: - name: Pull Docker image - run: | - docker pull ghcr.io/${{ github.repository_owner }}/polkadot:${VERSION} + run: docker pull ghcr.io/${{ github.repository_owner }}/polkadot:${VERSION} - name: Create directory for binaries run: mkdir -p binaries - name: Extract binaries from image - run: | + run: |- container_id=$(docker create ghcr.io/${{ github.repository_owner }}/polkadot:${VERSION}) docker cp $container_id:/usr/local/bin/polkadot binaries/ docker cp $container_id:/usr/local/bin/polkadot-execute-worker binaries/ docker cp $container_id:/usr/local/bin/polkadot-prepare-worker binaries/ + docker cp $container_id:/usr/local/bin/polkadot-parachain binaries/ docker rm $container_id - name: Generate SHA-256 hashes for binaries working-directory: binaries - run: | + run: |- sha256sum polkadot > polkadot.sha256 sha256sum polkadot-execute-worker > polkadot-execute-worker.sha256 sha256sum polkadot-prepare-worker > polkadot-prepare-worker.sha256 + sha256sum polkadot-parachain > polkadot-parachain.sha256 - name: Create tarball - run: | - tar -czvf polkadot-${VERSION}-${{ matrix.arch }}.tgz -C binaries . + run: tar -czvf polkadot-${VERSION}-${{ matrix.arch }}.tgz -C binaries . - name: Generate SHA-256 for tarball - run: | - sha256sum polkadot-${VERSION}-${{ matrix.arch }}.tgz > polkadot-${VERSION}-${{ matrix.arch }}.tgz.sha256 + run: sha256sum polkadot-${VERSION}-${{ matrix.arch }}.tgz > polkadot-${VERSION}-${{ matrix.arch }}.tgz.sha256 - name: Upload assets to release uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # v2.4.1 with: - files: | + files: |- polkadot-${{ env.VERSION }}-${{ matrix.arch }}.tgz polkadot-${{ env.VERSION }}-${{ matrix.arch }}.tgz.sha256 diff --git a/Dockerfile b/Dockerfile index 2095844..99918f8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,7 +28,8 @@ RUN cargo build --locked \ --profile production \ --bin polkadot \ --bin polkadot-execute-worker \ - --bin polkadot-prepare-worker + --bin polkadot-prepare-worker \ + --bin polkadot-parachain ################## # --- runner --- # @@ -46,6 +47,7 @@ RUN groupadd --gid 65532 nonroot \ COPY --from=builder /opt/polkadot-sdk/target/production/polkadot /usr/local/bin/polkadot COPY --from=builder /opt/polkadot-sdk/target/production/polkadot-execute-worker /usr/local/bin/polkadot-execute-worker COPY --from=builder /opt/polkadot-sdk/target/production/polkadot-prepare-worker /usr/local/bin/polkadot-prepare-worker +COPY --from=builder /opt/polkadot-sdk/target/production/polkadot-parachain /usr/local/bin/polkadot-parachain USER 65532 From 608d11ea68df67fa2fb8649036b45159964b88be Mon Sep 17 00:00:00 2001 From: Robbie Blaine Date: Thu, 9 Oct 2025 13:37:09 +0200 Subject: [PATCH 2/2] Cargo Build Build Dir, Release instead of Production --- Dockerfile | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 99918f8..0052538 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,12 +20,15 @@ RUN rustup target add wasm32v1-none RUN rustup target add wasm32-unknown-unknown RUN rustup component add rust-src +# https://doc.rust-lang.org/stable/cargo/reference/config.html#buildbuild-dir +ENV CARGO_BUILD_BUILD_DIR=/opt/polkadot-sdk/.cargo-target + WORKDIR /opt ARG VERSION=stable2509-1 RUN git clone https://github.com/paritytech/polkadot-sdk.git -b polkadot-$VERSION --depth 1 WORKDIR /opt/polkadot-sdk RUN cargo build --locked \ - --profile production \ + --profile release \ --bin polkadot \ --bin polkadot-execute-worker \ --bin polkadot-prepare-worker \ @@ -34,7 +37,12 @@ RUN cargo build --locked \ ################## # --- runner --- # ################## -FROM docker.io/debian:13-slim +FROM docker.io/debian:13-slim AS polkadot + +COPY --from=builder /opt/polkadot-sdk/target/production/polkadot /usr/local/bin/polkadot +COPY --from=builder /opt/polkadot-sdk/target/production/polkadot-execute-worker /usr/local/bin/polkadot-execute-worker +COPY --from=builder /opt/polkadot-sdk/target/production/polkadot-prepare-worker /usr/local/bin/polkadot-prepare-worker +COPY --from=builder /opt/polkadot-sdk/target/production/polkadot-parachain /usr/local/bin/polkadot-parachain # Install curl for healthcheck RUN apt-get update && \ @@ -44,11 +52,6 @@ RUN apt-get update && \ RUN groupadd --gid 65532 nonroot \ && useradd --system --uid 65532 --gid 65532 --create-home --home-dir /home/nonroot --shell /usr/bin/bash nonroot -COPY --from=builder /opt/polkadot-sdk/target/production/polkadot /usr/local/bin/polkadot -COPY --from=builder /opt/polkadot-sdk/target/production/polkadot-execute-worker /usr/local/bin/polkadot-execute-worker -COPY --from=builder /opt/polkadot-sdk/target/production/polkadot-prepare-worker /usr/local/bin/polkadot-prepare-worker -COPY --from=builder /opt/polkadot-sdk/target/production/polkadot-parachain /usr/local/bin/polkadot-parachain - USER 65532 # P2P