difftreelog
Merge pull request #215 from UniqueNetwork/ci/speedup-tests
in: master
Speedup tests
13 files changed
.dockerignorediffbeforeafterboth2.github/2.github/3doc/3doc/4target/4target/5tests/5chain-data*/6chain-data*/6smart_contract/7smart_contract/8Dockerfile-parachain9docker-compose-tests-parachain.yml710Cargo.lockdiffbeforeafterboth3952 "pallet-offences-benchmarking",3952 "pallet-offences-benchmarking",3953 "pallet-proxy",3953 "pallet-proxy",3954 "pallet-recovery",3954 "pallet-recovery",3955 "pallet-scheduler 4.0.0-dev",3955 "pallet-scheduler",3956 "pallet-session",3956 "pallet-session",3957 "pallet-session-benchmarking",3957 "pallet-session-benchmarking",3958 "pallet-society",3958 "pallet-society",5306 "pallet-nft-charge-transaction",5306 "pallet-nft-charge-transaction",5307 "pallet-nft-transaction-payment",5307 "pallet-nft-transaction-payment",5308 "pallet-randomness-collective-flip",5308 "pallet-randomness-collective-flip",5309 "pallet-scheduler 3.0.0",5310 "pallet-sudo",5309 "pallet-sudo",5311 "pallet-timestamp",5310 "pallet-timestamp",5312 "pallet-transaction-payment",5311 "pallet-transaction-payment",5313 "pallet-transaction-payment-rpc-runtime-api",5312 "pallet-transaction-payment-rpc-runtime-api",5314 "pallet-treasury",5313 "pallet-treasury",5314 "pallet-unq-scheduler",5315 "pallet-vesting",5315 "pallet-vesting",5316 "pallet-xcm",5316 "pallet-xcm",5317 "parachain-info",5317 "parachain-info",6284 "sp-std",6284 "sp-std",6285]6285]62866287[[package]]6288name = "pallet-scheduler"6289version = "3.0.0"6290dependencies = [6291 "frame-benchmarking",6292 "frame-support",6293 "frame-system",6294 "log",6295 "parity-scale-codec",6296 "serde",6297 "sp-core",6298 "sp-io",6299 "sp-runtime",6300 "sp-std",6301 "substrate-test-utils",6302 "up-sponsorship",6303]630462866305[[package]]6287[[package]]6306name = "pallet-scheduler"6288name = "pallet-scheduler"6516 "sp-std",6498 "sp-std",6517]6499]65006501[[package]]6502name = "pallet-unq-scheduler"6503version = "3.0.0"6504dependencies = [6505 "frame-benchmarking",6506 "frame-support",6507 "frame-system",6508 "log",6509 "parity-scale-codec",6510 "serde",6511 "sp-core",6512 "sp-io",6513 "sp-runtime",6514 "sp-std",6515 "substrate-test-utils",6516 "up-sponsorship",6517]651865186519[[package]]6519[[package]]6520name = "pallet-utility"6520name = "pallet-utility"7772 "pallet-offences",7772 "pallet-offences",7773 "pallet-offences-benchmarking",7773 "pallet-offences-benchmarking",7774 "pallet-proxy",7774 "pallet-proxy",7775 "pallet-scheduler 4.0.0-dev",7775 "pallet-scheduler",7776 "pallet-session",7776 "pallet-session",7777 "pallet-session-benchmarking",7777 "pallet-session-benchmarking",7778 "pallet-staking",7778 "pallet-staking",12787 "pallet-offences-benchmarking",12787 "pallet-offences-benchmarking",12788 "pallet-proxy",12788 "pallet-proxy",12789 "pallet-recovery",12789 "pallet-recovery",12790 "pallet-scheduler 4.0.0-dev",12790 "pallet-scheduler",12791 "pallet-session",12791 "pallet-session",12792 "pallet-session-benchmarking",12792 "pallet-session-benchmarking",12793 "pallet-society",12793 "pallet-society",Dockerfile-parachaindiffbeforeafterboth1# ===== BUILD ======1# ===== Rust builder =====2FROM phusion/baseimage:focal-1.0.0 as builder2FROM phusion/baseimage:focal-1.0.0 as rust-builder3LABEL maintainer="Unique.Network"3LABEL maintainer="Unique.Network"44567ARG RUST_TOOLCHAIN=nightly-2021-06-285ARG RUST_TOOLCHAIN=nightly-2021-06-288#ARG RUST_C=1.55.0-nightly6#ARG RUST_C=1.55.0-nightly9ARG POLKA_VERSION=v0.9.107ARG POLKA_VERSION=v0.9.1024#RUN echo $POLKA_VERSION22#RUN echo $POLKA_VERSION25#RUN echo $NFT_BRANCH23#RUN echo $NFT_BRANCH262425ARG PROFILE=release272627ENV CARGO_HOME="/cargo-home"28ENV PATH="/cargo-home/bin:$PATH"282929ARG PROFILE=release30RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none303131RUN apt-get update && \32RUN apt-get update && \32 apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" && \33 apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" && \33 apt-get install -y cmake pkg-config libssl-dev git clang34 apt-get install -y cmake pkg-config libssl-dev git clang343535# Get project and run it36RUN rustup toolchain uninstall $(rustup toolchain list) && \37 rustup toolchain install $RUST_TOOLCHAIN && \38 rustup default $RUST_TOOLCHAIN && \39 rustup target list --installed && \40 rustup show41RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN364237#RUN git clone -b $NFT_BRANCH https://$USER:$PASS@github.com/UniqueNetwork/unique-chain.git /nft_parachain43RUN cargo install cargo-chef38443940RUN mkdir nft_parachain45RUN mkdir nft_parachain41WORKDIR /nft_parachain46WORKDIR /nft_parachain4748# ===== Chef =====49FROM rust-builder as chef5042COPY . .51COPY . .52RUN cargo chef prepare --recipe-path recipe.json435354# ===== BUILD ======55FROM rust-builder as builder445645RUN export CARGO_HOME="/cargo-home" && curl https://sh.rustup.rs -sSf | sh -s -- -y57RUN mkdir nft_parachain46RUN export PATH="/cargo-home/bin:$PATH" && \58WORKDIR /nft_parachain47 export CARGO_HOME="/cargo-home" && \48 cargo fetch495950RUN export PATH="/cargo-home/bin:$PATH" && \60COPY --from=chef /nft_parachain/recipe.json recipe.json51 export CARGO_HOME="/cargo-home" && \61RUN cargo chef cook --release --recipe-path recipe.json52 rustup toolchain uninstall $(rustup toolchain list) && \53 rustup toolchain install $RUST_TOOLCHAIN && \54# rustup toolchain install $RUST_C && \55 rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN && \56 rustup default $RUST_TOOLCHAIN && \57 rustup target list --installed && \58 rustup show596260RUN export PATH="/cargo-home/bin:$PATH" && \63COPY . .61 export CARGO_HOME="/cargo-home" && \62 cargo build "--$PROFILE"64RUN cargo build "--$PROFILE"63 # && \65 # && \64 # cargo test66 # cargo test656768# ===== BUILD POLKADOT =====69FROM rust-builder as builder-polkadot667071RUN mkdir nft_parachain72WORKDIR /nft_parachain677368RUN git clone -b $POLKA_VERSION --depth 1 https://github.com/paritytech/polkadot.git && \74RUN git clone -b $POLKA_VERSION --depth 1 https://github.com/paritytech/polkadot.git && \69 cd polkadot && \75 cd polkadot && \70 git tag -n && \76 git tag -n && \71 export PATH="/cargo-home/bin:$PATH" && \72 export CARGO_HOME="/cargo-home" && \73 cargo build --release77 cargo build --release747875# ===== RUN ======79# ===== RUN ======788279ARG PROFILE=release83ARG PROFILE=release808481COPY --from=builder /nft_parachain/target/$PROFILE/nft /nft_private/target/$PROFILE/82COPY --from=builder /nft_parachain/polkadot/target/$PROFILE/polkadot /polkadot/target/$PROFILE/8384RUN apt-get update && \85 apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" && \86 apt-get install -y cmake pkg-config libssl-dev git clang8788RUN git clone https://github.com/paritytech/polkadot-launch.git8990RUN apt-get -y update && \85RUN apt-get -y update && \91 apt-get -y upgrade && \86 apt-get -y upgrade && \92 apt-get -y install curl && \87 apt-get -y install curl git && \93 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \88 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \94 export NVM_DIR="$HOME/.nvm" && \89 export NVM_DIR="$HOME/.nvm" && \95 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \90 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \96 nvm install v15.5.0 && \91 nvm install v15.5.0 && \97 nvm use v15.5.092 nvm use v15.5.098# npm install --save @polkadot/api && \99# npm install --save-dev mochawesome1009394RUN git clone https://github.com/paritytech/polkadot-launch.git1019596RUN export NVM_DIR="$HOME/.nvm" && \97 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \98 cd /polkadot-launch && \99 npm install --global yarn && \100 yarn101102COPY --from=builder /nft_parachain/target/$PROFILE/nft /nft_private/target/$PROFILE/103COPY --from=builder-polkadot /nft_parachain/polkadot/target/$PROFILE/polkadot /polkadot/target/$PROFILE/104102CMD export NVM_DIR="$HOME/.nvm" && \105CMD export NVM_DIR="$HOME/.nvm" && \103 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \106 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \104 cd /polkadot-launch && \107 cd /polkadot-launch && \105 npm install --global yarn && \108 yarn start launch-config.json106 yarn install && \109107 yarn build && \108 yarn start launch-config.jsonDockerfile-testsdiffbeforeafterbothno changes
docker-compose-tests-parachain.ymldiffbeforeafterboth31 container_name: integration_tests31 container_name: integration_tests32 image: integration_tests32 image: integration_tests33 build:33 build:34 context: ./34 context: tests/35 dockerfile: Dockerfile-tests35 dockerfile: Dockerfile-tests36 environment:37 RPC_URL: http://blockchain_nodes:9934/36 volumes:38 volumes:37 - ./tests/src/config_docker.ts:/nft_parachain/tests/src/config.ts39 - ./tests/src/config_docker.ts:/nft_parachain/src/config.ts38 - /home/ubuntu/mochawesome-report:/nft_parachain/tests/mochawesome-report40 - /home/ubuntu/mochawesome-report:/nft_parachain/mochawesome-report41 - ./runtime_types.json:/runtime_types.json39# command: bash -c 'while true; do sleep 20; df -h; done'42# command: bash -c 'while true; do sleep 20; df -h; done'40 networks:43 networks:41 - node_test_network44 - node_test_networkpallets/scheduler/Cargo.tomldiffbeforeafterboth1[package]1[package]2name = "pallet-scheduler"2name = "pallet-unq-scheduler"3version = "3.0.0"3version = "3.0.0"4authors = ["Parity Technologies <admin@parity.io>"]4authors = ["Parity Technologies <admin@parity.io>"]5edition = "2018"5edition = "2018"runtime/Cargo.tomldiffbeforeafterboth68 'serde',68 'serde',69 'pallet-inflation/std',69 'pallet-inflation/std',70 'pallet-nft/std',70 'pallet-nft/std',71 'pallet-scheduler/std',71 'pallet-unq-scheduler/std',72 'pallet-nft-charge-transaction/std',72 'pallet-nft-charge-transaction/std',73 'pallet-nft-transaction-payment/std',73 'pallet-nft-transaction-payment/std',74 'nft-data-structs/std',74 'nft-data-structs/std',387pallet-nft = { path = '../pallets/nft', default-features = false, version = '3.0.0' }387pallet-nft = { path = '../pallets/nft', default-features = false, version = '3.0.0' }388pallet-inflation = { path = '../pallets/inflation', default-features = false, version = '3.0.0' }388pallet-inflation = { path = '../pallets/inflation', default-features = false, version = '3.0.0' }389nft-data-structs = { path = '../primitives/nft', default-features = false, version = '0.9.0' }389nft-data-structs = { path = '../primitives/nft', default-features = false, version = '0.9.0' }390pallet-scheduler = { path = '../pallets/scheduler', default-features = false, version = '3.0.0' }390pallet-unq-scheduler = { path = '../pallets/scheduler', default-features = false, version = '3.0.0' }391# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }391# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }392pallet-nft-transaction-payment = { path = '../pallets/nft-transaction-payment', default-features = false, version = '3.0.0' }392pallet-nft-transaction-payment = { path = '../pallets/nft-transaction-payment', default-features = false, version = '3.0.0' }393pallet-nft-charge-transaction = { path = '../pallets/nft-charge-transaction', default-features = false, version = '3.0.0' }393pallet-nft-charge-transaction = { path = '../pallets/nft-charge-transaction', default-features = false, version = '3.0.0' }runtime/src/lib.rsdiffbeforeafterboth748 //pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,748 //pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,749);749);750750751impl pallet_scheduler::Config for Runtime {751impl pallet_unq_scheduler::Config for Runtime {752 type Event = Event;752 type Event = Event;753 type Origin = Origin;753 type Origin = Origin;754 type PalletsOrigin = OriginCaller;754 type PalletsOrigin = OriginCaller;821 // Unique Pallets821 // Unique Pallets822 Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,822 Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,823 Nft: pallet_nft::{Pallet, Call, Config<T>, Storage, Event<T>} = 61,823 Nft: pallet_nft::{Pallet, Call, Config<T>, Storage, Event<T>} = 61,824 Scheduler: pallet_scheduler::{Pallet, Call, Storage, Event<T>} = 62,824 Scheduler: pallet_unq_scheduler::{Pallet, Call, Storage, Event<T>} = 62,825 NftPayment: pallet_nft_transaction_payment::{Pallet, Call, Storage} = 63,825 NftPayment: pallet_nft_transaction_payment::{Pallet, Call, Storage} = 63,826 Charging: pallet_nft_charge_transaction::{Pallet, Call, Storage } = 64,826 Charging: pallet_nft_charge_transaction::{Pallet, Call, Storage } = 64,827 // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,827 // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,tests/.dockerignorediffbeforeafterbothno changes
tests/Dockerfile-testsdiffbeforeafterbothno changes
tests/package-lock.jsondiffbeforeafterbothno changes
tests/scripts/wait_for_first_block.shdiffbeforeafterbothno changes
tests/src/config_docker.tsdiffbeforeafterboth6import process from 'process';6import process from 'process';778const config = {8const config = {9 substrateUrl: process.env.substrateUrl || 'ws://172.17.0.1:9944',9 substrateUrl: process.env.substrateUrl || 'ws://blockchain_nodes:9944',10 frontierUrl: process.env.frontierUrl || 'http://172.17.0.1:9933',10 frontierUrl: process.env.frontierUrl || 'http://blockchain_nodes:9933',11};11};121213export default config;13export default config;