git.delta.rocks / unique-network / refs/commits / 19daf00a26e2

difftreelog

Merge pull request #14 from lzadjsf/core-ci-step-2

Alex2022-08-03parents: #52dd1bf #b8cfc48.patch.diff
in: master
SpeedUp build by adding cargo-chef into Dockerfile.

1 file changed

modified.docker/Dockerfile-parachaindiffbeforeafterboth
before · .docker/Dockerfile-parachain
1# ===== Rust builder =====2FROM phusion/baseimage:focal-1.1.0 as rust-builder3LABEL maintainer="Unique.Network"45ARG RUST_TOOLCHAIN=nightly-2022-05-116ARG POLKA_VERSION=release-v0.9.24789ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN10ENV POLKA_VERSION $POLKA_VERSION1112ENV CARGO_HOME="/cargo-home"13ENV PATH="/cargo-home/bin:$PATH"1415RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none1617RUN apt-get update && \18    apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" && \19    apt-get install -y cmake pkg-config libssl-dev git clang2021RUN rustup toolchain uninstall $(rustup toolchain list) && \22    rustup toolchain install $RUST_TOOLCHAIN && \23    rustup default $RUST_TOOLCHAIN && \24    rustup target list --installed && \25    rustup show26RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN2728####works inside repo folder###293031# ===== BUILD ======32FROM rust-builder as builder-unique3334RUN mkdir unique_parachain35WORKDIR /unique_parachain3637ARG FEATURE=' '3839COPY . .40RUN cargo build $FEATURE --release41   # && \42   # cargo test4344# ===== BUILD POLKADOT =====45FROM rust-builder as builder-polkadot4647RUN mkdir unique_parachain48WORKDIR /unique_parachain4950RUN git clone -b $POLKA_VERSION --depth 1 https://github.com/paritytech/polkadot.git && \51    cd polkadot && \52    git tag -n && \53	cargo build --release5455# ===== RUN ======5657FROM phusion/baseimage:focal-1.1.05859RUN apt-get -y update && \60      apt-get -y upgrade && \61      apt-get -y install curl git && \62      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \63      export NVM_DIR="$HOME/.nvm" && \64      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \65      nvm install v15.5.0 && \66      nvm use v15.5.06768RUN git clone https://github.com/UniqueNetwork/polkadot-launch.git && \69    cd /polkadot-launch && \70    git checkout feature/runtime-upgrade-testing7172RUN export NVM_DIR="$HOME/.nvm" && \73    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \74    cd /polkadot-launch && \75    npm install --global yarn && \76    yarn7778COPY --from=builder-unique /unique_parachain/target/release/unique-collator /unique-chain/target/release/79COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/8081COPY ["./launch-config.json", "/polkadot-launch/launch-config.json"]828384EXPOSE 984485EXPOSE 994486EXPOSE 993387EXPOSE 983388EXPOSE 4033389EXPOSE 303339091CMD export NVM_DIR="$HOME/.nvm" && \92    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \93    cd /polkadot-launch && \94    yarn start launch-config.json
after · .docker/Dockerfile-parachain
1# ===== Rust builder =====2FROM phusion/baseimage:focal-1.1.0 as rust-builder3LABEL maintainer="Unique.Network"45ARG RUST_TOOLCHAIN=nightly-2022-05-116ARG POLKA_VERSION=release-v0.9.24789ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN10ENV POLKA_VERSION $POLKA_VERSION1112ENV CARGO_HOME="/cargo-home"13ENV PATH="/cargo-home/bin:$PATH"1415RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none1617RUN apt-get update && \18    apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" && \19    apt-get install -y cmake pkg-config libssl-dev git clang && \20    apt-get clean && \21    rm -r /var/lib/apt/lists/*2223RUN rustup toolchain uninstall $(rustup toolchain list) && \24    rustup toolchain install $RUST_TOOLCHAIN && \25    rustup default $RUST_TOOLCHAIN && \26    rustup target list --installed && \27    rustup show28RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN293031RUN cargo install cargo-chef3233RUN mkdir unique_parachain34WORKDIR /unique_parachain3536# ===== Chef =====37FROM rust-builder as chef3839COPY . .40RUN cargo chef prepare --recipe-path recipe.json4142####works inside repo folder###434445# ===== BUILD ======46FROM rust-builder as builder-unique4748RUN mkdir unique_parachain49WORKDIR /unique_parachain5051COPY --from=chef /unique_parachain/recipe.json recipe.json5253RUN cargo chef cook --release --recipe-path recipe.json5455ARG FEATURE=' '5657COPY . .58RUN cargo build $FEATURE --release59   # && \60   # cargo test6162# ===== BUILD POLKADOT =====63FROM rust-builder as builder-polkadot6465RUN mkdir unique_parachain66WORKDIR /unique_parachain6768RUN git clone -b $POLKA_VERSION --depth 1 https://github.com/paritytech/polkadot.git && \69    cd polkadot && \70    git tag -n && \71	cargo build --release7273# ===== RUN ======7475FROM phusion/baseimage:focal-1.1.07677RUN apt-get -y update && \78      apt-get -y upgrade && \79      apt-get -y install curl git && \80      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \81      export NVM_DIR="$HOME/.nvm" && \82      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \83      nvm install v15.5.0 && \84      nvm use v15.5.08586RUN git clone https://github.com/UniqueNetwork/polkadot-launch.git && \87    cd /polkadot-launch && \88    git checkout feature/runtime-upgrade-testing8990RUN export NVM_DIR="$HOME/.nvm" && \91    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \92    cd /polkadot-launch && \93    npm install --global yarn && \94    yarn9596COPY --from=builder-unique /unique_parachain/target/release/unique-collator /unique-chain/target/release/97COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/9899COPY ["./launch-config.json", "/polkadot-launch/launch-config.json"]100101102EXPOSE 9844103EXPOSE 9944104EXPOSE 9933105EXPOSE 9833106EXPOSE 40333107EXPOSE 30333108109CMD export NVM_DIR="$HOME/.nvm" && \110    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \111    cd /polkadot-launch && \112    yarn start launch-config.json