1ARG POLKADOT_BUILD_BRANCH2FROM uniquenetwork/builder-polkadot:${POLKADOT_BUILD_BRANCH} as polkadot34# ===== Rust builder =====5FROM uniquenetwork/services:latest as rust-builder6ARG RUST_TOOLCHAIN=78ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN9ENV CARGO_HOME="/cargo-home"10ENV PATH="/cargo-home/bin:$PATH"11ENV TZ=UTC1213RUN rustup toolchain uninstall $(rustup toolchain list) && \14 rustup toolchain install $RUST_TOOLCHAIN && \15 rustup default $RUST_TOOLCHAIN && \16 rustup target list --installed && \17 rustup show18RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN1920RUN mkdir /unique_parachain21WORKDIR /unique_parachain2223# ===== BUILD current version ======24FROM rust-builder as builder-unique-current2526ARG PROFILE=release27ARG NETWORK28ARG MAINNET_BRANCH29ARG REPO_URL3031WORKDIR /unique_parachain3233RUN git clone $REPO_URL -b $MAINNET_BRANCH . && \34 cargo build --features=${NETWORK}-runtime --$PROFILE3536# ===== BUILD target version ======37FROM rust-builder as builder-unique-target3839ARG PROFILE=release40ARG NETWORK4142COPY . /unique_parachain43WORKDIR /unique_parachain4445RUN cargo build --features=${NETWORK}-runtime --$PROFILE4647# ===== RUN ======48FROM ubuntu:22.044950ARG NETWORK51ARG REPLICA_FROM52ENV REPLICA_FROM=${REPLICA_FROM}53ARG POLKADOT_LAUNCH_BRANCH54ARG WASM_NAME5556RUN apt-get -y update && \57 apt-get -y install curl git && \58 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \59 export NVM_DIR="$HOME/.nvm" && \60 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \61 nvm install v16.16.0 && \62 nvm use v16.16.06364RUN git clone https://github.com/uniquenetwork/polkadot-launch.git -b ${POLKADOT_LAUNCH_BRANCH}6566RUN export NVM_DIR="$HOME/.nvm" && \67 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \68 cd /polkadot-launch && \69 npm install --global yarn && \70 yarn install7172RUN echo "$NETWORK"73RUN echo "$REPLICA_FROM"7475COPY --from=builder-unique-current /unique_parachain/target/release/unique-collator /unique-chain/current/release/76COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/77COPY --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.wasm7879COPY --from=uniquenetwork/builder-chainql:latest /chainql/target/release/chainql /chainql/target/release/8081COPY --from=polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/82COPY --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.wasm8384CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" REPLICA_FROM && \85 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \86 cd /polkadot-launch && \87 yarn start launch-config.json --test-upgrade-parachains