1# ===== Rust builder =====2FROM uniquenetwork/services:latest as rust-builder3ENV CARGO_HOME="/cargo-home"4ENV PATH="/cargo-home/bin:$PATH"5ENV TZ=UTC67RUN rustup toolchain uninstall $(rustup toolchain list) && \8 rustup toolchain install {{ RUST_TOOLCHAIN }} && \9 rustup default {{ RUST_TOOLCHAIN }} && \10 rustup target list --installed && \11 rustup show12RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}1314RUN mkdir /unique_parachain15WORKDIR /unique_parachain161718# ===== BUILD current version ======19FROM rust-builder as builder-unique-current2021ARG PROFILE=release2223WORKDIR /unique_parachain2425RUN git clone -b {{ MAINNET_BRANCH }} https://github.com/UniqueNetwork/unique-chain.git . && \26 cargo build --features={{ NETWORK }}-runtime --$PROFILE2728# ===== BUILD target version ======29FROM rust-builder as builder-unique-target3031ARG PROFILE=release3233COPY . /unique_parachain34WORKDIR /unique_parachain3536RUN cargo build --features={{ NETWORK }}-runtime --$PROFILE3738# ===== RUN ======3940FROM ubuntu:22.044142RUN apt-get -y update && \43 apt-get -y install curl git && \44 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \45 export NVM_DIR="$HOME/.nvm" && \46 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \47 nvm install v16.16.0 && \48 nvm use v16.16.04950RUN git clone https://github.com/uniquenetwork/polkadot-launch -b {{ POLKADOT_LAUNCH_BRANCH }}5152COPY --from=builder-unique-current /unique_parachain/target/release/unique-collator /unique-chain/current/release/5354COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/55COPY --from=builder-unique-target /unique_parachain/target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm /unique-chain/target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm56COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/launch-config-node-only.json /polkadot-launch/launch-config.json5758COPY --from=uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/59COPY --from=uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} /unique_parachain/polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm /polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm60COPY --from=uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} /unique_parachain/polkadot/target/release/wbuild/rococo-runtime/rococo_runtime.compact.compressed.wasm /polkadot/target/release/wbuild/rococo-runtime/rococo_runtime.compact.compressed.wasm6162CMD export NVM_DIR="$HOME/.nvm" && \63 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \64 cd /polkadot-launch && \65 npm install --global yarn && \66 yarn install && \67 yarn start launch-config.json --test-upgrade-parachains -w -n