1FROM uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} as polkadot23# ===== Rust builder =====4FROM uniquenetwork/services:latest as rust-builder56ENV CARGO_HOME="/cargo-home"7ENV PATH="/cargo-home/bin:$PATH"8ENV TZ=UTC910RUN rustup toolchain uninstall $(rustup toolchain list) && \11 rustup toolchain install {{ RUST_TOOLCHAIN }} && \12 rustup default {{ RUST_TOOLCHAIN }} && \13 rustup target list --installed && \14 rustup show15RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}1617RUN mkdir /unique_parachain18WORKDIR /unique_parachain1920# ===== BUILD current version ======21FROM rust-builder as builder-unique-current2223ARG PROFILE=release2425WORKDIR /unique_parachain2627RUN git clone https://github.com/UniqueNetwork/unique-chain.git -b {{ MAINNET_BRANCH }} . && \28 cargo build --features={{ NETWORK }}-runtime --$PROFILE2930# ===== BUILD target version ======31FROM rust-builder as builder-unique-target3233ARG PROFILE=release3435COPY . /unique_parachain36WORKDIR /unique_parachain3738RUN cargo build --features={{ NETWORK }}-runtime --$PROFILE3940# ===== RUN ======41FROM ubuntu:22.044243ENV REPLICA_FROM={{ REPLICA_FROM }}4445RUN apt-get -y update && \46 apt-get -y install curl git && \47 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \48 export NVM_DIR="$HOME/.nvm" && \49 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \50 nvm install v16.16.0 && \51 nvm use v16.16.05253RUN git clone https://github.com/uniquenetwork/polkadot-launch.git -b {{ POLKADOT_LAUNCH_BRANCH }}5455RUN export NVM_DIR="$HOME/.nvm" && \56 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \57 cd /polkadot-launch && \58 npm install --global yarn && \59 yarn install6061COPY --from=builder-unique-current /unique_parachain/target/release/unique-collator /unique-chain/current/release/62COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/63COPY --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.wasm6465COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/launch-config-forkless-data.json /polkadot-launch/launch-config.json66COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/fork.jsonnet /polkadot-launch/fork.jsonnet67COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/typeNames.jsonnet /polkadot-launch/typeNames.jsonnet6869COPY --from=uniquenetwork/builder-chainql:{{ CHAINQL }} /chainql/target/release/chainql /chainql/target/release/7071COPY --from=polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/72COPY --from=polkadot /unique_parachain/polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm /polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm7374CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" REPLICA_FROM && \75 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \76 cd /polkadot-launch && \77 yarn start launch-config.json --test-upgrade-parachains