change(docker): Replace the zcash-params Dockerfile build with a zebrad binary copy (#7054)
* Replace the zcash-params Dockerfile build with a zebrad binary copy * Update zcash-params workflow conditions
This commit is contained in:
parent
caf9a0925f
commit
62b4fa21a2
|
|
@ -22,10 +22,12 @@ on:
|
||||||
paths:
|
paths:
|
||||||
# parameter download code
|
# parameter download code
|
||||||
- 'zebra-consensus/src/primitives/groth16/params.rs'
|
- 'zebra-consensus/src/primitives/groth16/params.rs'
|
||||||
- 'zebra-consensus/src/chain.rs'
|
- 'zebra-consensus/src/router.rs'
|
||||||
|
- 'zebrad/src/commands/download.rs'
|
||||||
- 'zebrad/src/commands/start.rs'
|
- 'zebrad/src/commands/start.rs'
|
||||||
# workflow definitions
|
# workflow definitions
|
||||||
- 'docker/zcash-params/Dockerfile'
|
- 'docker/zcash-params/Dockerfile'
|
||||||
|
- '.dockerignore'
|
||||||
- '.github/workflows/zcash-params.yml'
|
- '.github/workflows/zcash-params.yml'
|
||||||
- '.github/workflows/build-docker-image.yml'
|
- '.github/workflows/build-docker-image.yml'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,16 @@
|
||||||
# This steps implement cargo-chef for docker layer caching
|
|
||||||
# This image is for caching Zcash Sprout and Sapling parameters
|
# This image is for caching Zcash Sprout and Sapling parameters
|
||||||
FROM rust:bullseye as chef
|
|
||||||
RUN cargo install cargo-chef --locked
|
|
||||||
WORKDIR /opt/zebrad
|
|
||||||
|
|
||||||
FROM chef AS planner
|
FROM debian:bullseye-slim AS release
|
||||||
COPY . .
|
|
||||||
RUN cargo chef prepare --recipe-path recipe.json
|
|
||||||
|
|
||||||
FROM chef AS release
|
# Just use the precompiled zebrad binary from a recent test image.
|
||||||
COPY --from=planner /opt/zebrad/recipe.json recipe.json
|
#
|
||||||
|
# It doesn't matter what build or commit of Zebra we use, because it just calls into the
|
||||||
|
# zcash_proofs download code. (Which doesn't change much.)
|
||||||
|
# Release image zebrad binaries would also work.
|
||||||
|
#
|
||||||
|
# Compiling the download-params example using `cargo ` is another alternative:
|
||||||
|
# `cargo run --locked --release --features default-docker --example download-params`
|
||||||
|
COPY --from=us-docker.pkg.dev/zealous-zebra/zebra/zebrad-test /usr/local/bin/zebrad /usr/local/bin
|
||||||
|
|
||||||
# Install zebra build deps
|
|
||||||
RUN apt-get -qq update && \
|
|
||||||
apt-get -qq install -y --no-install-recommends \
|
|
||||||
llvm \
|
|
||||||
libclang-dev \
|
|
||||||
clang \
|
|
||||||
ca-certificates \
|
|
||||||
; \
|
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/*
|
|
||||||
|
|
||||||
ENV CARGO_HOME /opt/zebrad/.cargo/
|
|
||||||
# Build dependencies - this is the caching Docker layer!
|
|
||||||
RUN cargo chef cook --release --features default-release-binaries --package zebrad --recipe-path recipe.json
|
|
||||||
|
|
||||||
ARG RUST_BACKTRACE=0
|
|
||||||
ENV RUST_BACKTRACE ${RUST_BACKTRACE}
|
|
||||||
|
|
||||||
ARG RUST_LIB_BACKTRACE=0
|
|
||||||
ENV RUST_LIB_BACKTRACE ${RUST_LIB_BACKTRACE}
|
|
||||||
|
|
||||||
ARG COLORBT_SHOW_HIDDEN=0
|
|
||||||
ENV COLORBT_SHOW_HIDDEN ${COLORBT_SHOW_HIDDEN}
|
|
||||||
|
|
||||||
COPY . .
|
|
||||||
# Pre-download Zcash Sprout and Sapling parameters
|
# Pre-download Zcash Sprout and Sapling parameters
|
||||||
RUN cargo run --locked --release --features default-release-binaries --package zebrad --bin zebrad download
|
RUN zebrad download
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue