difftreelog
Merge pull request #913 from UniqueNetwork/ci-ref-v3
in: master
CI ref v3
30 files changed
.docker/Dockerfile-parachain-upgradediffbeforeafterboth--- a/.docker/Dockerfile-parachain-upgrade
+++ /dev/null
@@ -1,82 +0,0 @@
-ARG POLKADOT_BUILD_BRANCH
-FROM uniquenetwork/builder-polkadot:${POLKADOT_BUILD_BRANCH} as polkadot
-
-# ===== Rust builder =====
-FROM uniquenetwork/services:latest as rust-builder
-
-ARG RUST_TOOLCHAIN=
-
-ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
-ENV CARGO_HOME="/cargo-home"
-ENV PATH="/cargo-home/bin:$PATH"
-ENV TZ=UTC
-RUN rustup toolchain uninstall $(rustup toolchain list) && \
- rustup toolchain install $RUST_TOOLCHAIN && \
- rustup default $RUST_TOOLCHAIN && \
- rustup target list --installed && \
- rustup show
-RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN
-
-RUN mkdir /unique_parachain
-WORKDIR /unique_parachain
-
-# ===== BUILD current version ======
-FROM rust-builder as builder-unique-current
-
-ARG PROFILE=release
-ARG NETWORK
-ARG MAINNET_BRANCH
-ARG REPO_URL
-
-WORKDIR /unique_parachain
-
-RUN git clone $REPO_URL -b $MAINNET_BRANCH . && \
- cargo build --features=${NETWORK}-runtime --$PROFILE
-
-# ===== BUILD target version ======
-FROM rust-builder as builder-unique-target
-
-ARG PROFILE=release
-ARG NETWORK
-
-COPY . /unique_parachain
-WORKDIR /unique_parachain
-
-RUN cargo build --features=${NETWORK}-runtime --$PROFILE
-
-# ===== RUN ======
-FROM ubuntu:22.04
-
-ARG NETWORK
-ARG POLKADOT_LAUNCH_BRANCH
-ARG WASM_NAME
-
-RUN apt-get -y update && \
- apt-get -y install curl git && \
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \
- export NVM_DIR="$HOME/.nvm" && \
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
- nvm install v16.16.0 && \
- nvm use v16.16.0
-
-RUN git clone https://github.com/uniquenetwork/polkadot-launch -b ${POLKADOT_LAUNCH_BRANCH}
-
-RUN export NVM_DIR="$HOME/.nvm" && \
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
- cd /polkadot-launch && \
- npm install --global yarn && \
- yarn install
-
-RUN echo "$NETWORK"
-
-COPY --from=builder-unique-current /unique_parachain/target/release/unique-collator /unique-chain/current/release/
-COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/
-COPY --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.wasm
-
-COPY --from=polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
-COPY --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.wasm
-
-CMD export NVM_DIR="$HOME/.nvm" && \
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
- cd /polkadot-launch && \
- yarn start launch-config.json --test-upgrade-parachains
.docker/Dockerfile-parachain-upgrade-datadiffbeforeafterboth--- a/.docker/Dockerfile-parachain-upgrade-data
+++ /dev/null
@@ -1,89 +0,0 @@
-ARG POLKADOT_BUILD_BRANCH
-FROM uniquenetwork/builder-polkadot:${POLKADOT_BUILD_BRANCH} as polkadot
-
-# ===== Rust builder =====
-FROM uniquenetwork/services:latest as rust-builder
-ARG RUST_TOOLCHAIN=
-
-ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
-ENV CARGO_HOME="/cargo-home"
-ENV PATH="/cargo-home/bin:$PATH"
-ENV TZ=UTC
-
-RUN rustup toolchain uninstall $(rustup toolchain list) && \
- rustup toolchain install $RUST_TOOLCHAIN && \
- rustup default $RUST_TOOLCHAIN && \
- rustup target list --installed && \
- rustup show
-RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN
-
-RUN mkdir /unique_parachain
-WORKDIR /unique_parachain
-
-# ===== BUILD current version ======
-FROM rust-builder as builder-unique-current
-
-ARG PROFILE=release
-ARG NETWORK
-ARG MAINNET_BRANCH
-ARG REPO_URL
-
-WORKDIR /unique_parachain
-
-RUN git clone $REPO_URL -b $MAINNET_BRANCH . && \
- cargo build --features=${NETWORK}-runtime --$PROFILE
-
-# ===== BUILD target version ======
-FROM rust-builder as builder-unique-target
-
-ARG PROFILE=release
-ARG NETWORK
-ARG BRANCH
-ARG REPO_URL
-
-COPY . /unique_parachain
-WORKDIR /unique_parachain
-
-RUN cargo build --features=${NETWORK}-runtime --$PROFILE
-
-# ===== RUN ======
-FROM ubuntu:22.04
-
-ARG NETWORK
-ARG REPLICA_FROM
-ENV REPLICA_FROM=${REPLICA_FROM}
-ARG POLKADOT_LAUNCH_BRANCH
-ARG WASM_NAME
-
-RUN apt-get -y update && \
- apt-get -y install curl git && \
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \
- export NVM_DIR="$HOME/.nvm" && \
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
- nvm install v16.16.0 && \
- nvm use v16.16.0
-
-RUN git clone https://github.com/uniquenetwork/polkadot-launch.git -b ${POLKADOT_LAUNCH_BRANCH}
-
-RUN export NVM_DIR="$HOME/.nvm" && \
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
- cd /polkadot-launch && \
- npm install --global yarn && \
- yarn install
-
-RUN echo "$NETWORK"
-RUN echo "$REPLICA_FROM"
-
-COPY --from=builder-unique-current /unique_parachain/target/release/unique-collator /unique-chain/current/release/
-COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/
-COPY --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.wasm
-
-COPY --from=uniquenetwork/builder-chainql:latest /chainql/target/release/chainql /chainql/target/release/
-
-COPY --from=polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
-COPY --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.wasm
-
-CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" REPLICA_FROM && \
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
- cd /polkadot-launch && \
- yarn start launch-config.json --test-upgrade-parachains
.docker/Dockerfile-parachain-upgrade-data.j2diffbeforeafterboth--- /dev/null
+++ b/.docker/Dockerfile-parachain-upgrade-data.j2
@@ -0,0 +1,78 @@
+ARG POLKADOT_BUILD_BRANCH
+FROM uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} as polkadot
+
+# ===== Rust builder =====
+FROM uniquenetwork/services:latest as rust-builder
+
+ENV CARGO_HOME="/cargo-home"
+ENV PATH="/cargo-home/bin:$PATH"
+ENV TZ=UTC
+
+RUN rustup toolchain uninstall $(rustup toolchain list) && \
+ rustup toolchain install {{ RUST_TOOLCHAIN }} && \
+ rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup target list --installed && \
+ rustup show
+RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
+
+RUN mkdir /unique_parachain
+WORKDIR /unique_parachain
+
+# ===== BUILD current version ======
+FROM rust-builder as builder-unique-current
+
+ARG PROFILE=release
+
+WORKDIR /unique_parachain
+
+RUN git clone https://github.com/UniqueNetwork/unique-chain.git -b {{ MAINNET_BRANCH }} . && \
+ cargo build --features={{ NETWORK }}-runtime --$PROFILE
+
+# ===== BUILD target version ======
+FROM rust-builder as builder-unique-target
+
+ARG PROFILE=release
+
+COPY . /unique_parachain
+WORKDIR /unique_parachain
+
+RUN cargo build --features={{ NETWORK }}-runtime --$PROFILE
+
+# ===== RUN ======
+FROM ubuntu:22.04
+
+ENV REPLICA_FROM={{ REPLICA_FROM }}
+
+RUN apt-get -y update && \
+ apt-get -y install curl git && \
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \
+ export NVM_DIR="$HOME/.nvm" && \
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+ nvm install v16.16.0 && \
+ nvm use v16.16.0
+
+RUN git clone https://github.com/uniquenetwork/polkadot-launch.git -b {{ POLKADOT_LAUNCH_BRANCH }}
+
+RUN export NVM_DIR="$HOME/.nvm" && \
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+ cd /polkadot-launch && \
+ npm install --global yarn && \
+ yarn install
+
+COPY --from=builder-unique-current /unique_parachain/target/release/unique-collator /unique-chain/current/release/
+COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/
+COPY --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.wasm
+
+COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/launch-config-forkless-data.json /polkadot-launch/launch-config.json
+COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/fork.jsonnet /polkadot-launch/fork.jsonnet
+COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/typeNames.jsonnet /polkadot-launch/typeNames.jsonnet
+
+COPY --from=uniquenetwork/builder-chainql:latest /chainql/target/release/chainql /chainql/target/release/
+
+COPY --from=polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
+COPY --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.wasm
+
+CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" REPLICA_FROM && \
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+ cd /polkadot-launch && \
+ yarn start launch-config.json --test-upgrade-parachains
.docker/Dockerfile-parachain-upgrade.j2diffbeforeafterboth--- /dev/null
+++ b/.docker/Dockerfile-parachain-upgrade.j2
@@ -0,0 +1,72 @@
+ARG POLKADOT_BUILD_BRANCH
+FROM uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} as polkadot
+
+# ===== Rust builder =====
+FROM uniquenetwork/services:latest as rust-builder
+
+ENV CARGO_HOME="/cargo-home"
+ENV PATH="/cargo-home/bin:$PATH"
+ENV TZ=UTC
+
+RUN rustup toolchain uninstall $(rustup toolchain list) && \
+ rustup toolchain install {{ RUST_TOOLCHAIN }} && \
+ rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup target list --installed && \
+ rustup show
+RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
+
+RUN mkdir /unique_parachain
+WORKDIR /unique_parachain
+
+# ===== BUILD current version ======
+FROM rust-builder as builder-unique-current
+
+ARG PROFILE=release
+
+WORKDIR /unique_parachain
+
+RUN git clone https://github.com/UniqueNetwork/unique-chain.git -b {{ MAINNET_BRANCH }} . && \
+ cargo build --features={{ NETWORK }}-runtime --$PROFILE
+
+# ===== BUILD target version ======
+FROM rust-builder as builder-unique-target
+
+ARG PROFILE=release
+
+COPY . /unique_parachain
+WORKDIR /unique_parachain
+
+RUN cargo build --features={{ NETWORK }}-runtime --$PROFILE
+
+# ===== RUN ======
+FROM ubuntu:22.04
+
+RUN apt-get -y update && \
+ apt-get -y install curl git && \
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \
+ export NVM_DIR="$HOME/.nvm" && \
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+ nvm install v16.16.0 && \
+ nvm use v16.16.0
+
+RUN git clone https://github.com/uniquenetwork/polkadot-launch -b {{ POLKADOT_LAUNCH_BRANCH }}
+
+RUN export NVM_DIR="$HOME/.nvm" && \
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+ cd /polkadot-launch && \
+ npm install --global yarn && \
+ yarn install
+
+COPY --from=builder-unique-current /unique_parachain/target/release/unique-collator /unique-chain/current/release/
+COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/
+COPY --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.wasm
+
+COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/launch-config-forkless-nodata.json /polkadot-launch/launch-config.json
+
+COPY --from=polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
+COPY --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.wasm
+
+CMD export NVM_DIR="$HOME/.nvm" && \
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+ cd /polkadot-launch && \
+ yarn start launch-config.json --test-upgrade-parachains
.docker/Dockerfile-try-runtimediffbeforeafterboth--- a/.docker/Dockerfile-try-runtime
+++ /dev/null
@@ -1,41 +0,0 @@
-# ===== Rust builder =====
-FROM uniquenetwork/services:latest as rust-builder
-
-ARG RUST_TOOLCHAIN
-
-ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
-ENV CARGO_HOME="/cargo-home"
-ENV PATH="/cargo-home/bin:$PATH"
-ENV TZ=UTC
-
-RUN rustup toolchain uninstall $(rustup toolchain list) && \
- rustup toolchain install $RUST_TOOLCHAIN && \
- rustup default $RUST_TOOLCHAIN && \
- rustup target list --installed && \
- rustup show
-RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN
-
-RUN mkdir /unique_parachain
-WORKDIR /unique_parachain
-
-
-# ===== BUILD ======
-FROM rust-builder as builder-unique
-
-ARG PROFILE=release
-ARG NETWORK
-ARG REPLICA_FROM
-ARG WASM_NAME
-ENV NETWORK $NETWORK
-ENV REPLICA_FROM $REPLICA_FROM
-ENV WASM_NAME $WASM_NAME
-
-COPY . /unique_parachain
-WORKDIR /unique_parachain
-
-
-RUN echo "Requested features: ${NETWORK}-runtime\n" && \
- echo "Fork from: $REPLICA_FROM\n" && \
- cargo build --features=try-runtime,${NETWORK}-runtime --release
-
-CMD cargo run --release --features ${NETWORK}-runtime,try-runtime -- try-runtime --runtime target/release/wbuild/${WASM_NAME}-runtime/${WASM_NAME}_runtime.compact.compressed.wasm -lruntime=debug -ltry-runtime::cli=debug on-runtime-upgrade --checks live --uri $REPLICA_FROM
.docker/Dockerfile-try-runtime.j2diffbeforeafterboth--- /dev/null
+++ b/.docker/Dockerfile-try-runtime.j2
@@ -0,0 +1,32 @@
+# ===== Rust builder =====
+FROM uniquenetwork/services:latest as rust-builder
+
+ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
+ENV CARGO_HOME="/cargo-home"
+ENV PATH="/cargo-home/bin:$PATH"
+ENV TZ=UTC
+
+RUN rustup toolchain uninstall $(rustup toolchain list) && \
+ rustup toolchain install {{ RUST_TOOLCHAIN }} && \
+ rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup target list --installed && \
+ rustup show
+RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
+
+RUN mkdir /unique_parachain
+WORKDIR /unique_parachain
+
+
+# ===== BUILD ======
+FROM rust-builder as builder-unique
+
+ARG PROFILE=release
+
+COPY . /unique_parachain
+WORKDIR /unique_parachain
+
+RUN echo "Requested features: {{ NETWORK }}-runtime\n" && \
+ echo "Fork from: {{ REPLICA_FROM }}\n" && \
+ cargo build --features=try-runtime,{{ NETWORK }}-runtime --release
+
+CMD cargo run --release --features {{ NETWORK }}-runtime,try-runtime -- try-runtime --runtime target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm -lruntime=debug -ltry-runtime::cli=debug on-runtime-upgrade --checks live --uri {{ REPLICA_FROM }}
.docker/docker-compose.forkless-data.j2diffbeforeafterboth--- /dev/null
+++ b/.docker/docker-compose.forkless-data.j2
@@ -0,0 +1,12 @@
+version: "3.5"
+
+services:
+ forkless-data:
+ image: uniquenetwork/ci-forkless-data-local:{{ NETWORK }}-{{ BUILD_TAG }}
+ container_name: forkless-data
+ expose:
+ - 9944
+ - 9933
+ ports:
+ - 127.0.0.1:9944:9944
+ - 127.0.0.1:9933:9933
.docker/docker-compose.forkless-nodata.j2diffbeforeafterboth--- /dev/null
+++ b/.docker/docker-compose.forkless-nodata.j2
@@ -0,0 +1,12 @@
+version: "3.5"
+
+services:
+ forkless-nodata:
+ image: uniquenetwork/ci-forkless-nodata-local:{{ NETWORK }}-{{ BUILD_TAG }}
+ container_name: forkless-nodata
+ expose:
+ - 9944
+ - 9933
+ ports:
+ - 127.0.0.1:9944:9944
+ - 127.0.0.1:9933:9933
\ No newline at end of file
.docker/docker-compose.tmp-forkless-data.j2diffbeforeafterboth--- a/.docker/docker-compose.tmp-forkless-data.j2
+++ /dev/null
@@ -1,43 +0,0 @@
-version: "3.5"
-
-services:
- node-parachain:
- build:
- args:
- - "RUST_TOOLCHAIN={{ RUST_TOOLCHAIN }}"
- - "BRANCH={{ BRANCH }}"
- - "REPO_URL={{ REPO_URL }}"
- - "NETWORK={{ NETWORK }}"
- - "POLKADOT_BUILD_BRANCH={{ POLKADOT_BUILD_BRANCH }}"
- - "POLKADOT_LAUNCH_BRANCH={{ POLKADOT_LAUNCH_BRANCH }}"
- - "MAINNET_TAG={{ MAINNET_TAG }}"
- - "MAINNET_BRANCH={{ MAINNET_BRANCH }}"
- - "REPLICA_FROM={{ REPLICA_FROM }}"
- - "WASM_NAME={{ WASM_NAME }}"
- context: ../
- dockerfile: .docker/Dockerfile-parachain-upgrade-data
- image: node-parachain
- container_name: node-parachain
- volumes:
- - type: bind
- source: ./launch-config-forkless-data.json
- target: /polkadot-launch/launch-config.json
- read_only: true
- - type: bind
- source: ./forkless-config/fork.jsonnet
- target: /polkadot-launch/fork.jsonnet
- read_only: true
- - type: bind
- source: ./forkless-config/typeNames.jsonnet
- target: /polkadot-launch/typeNames.jsonnet
- read_only: true
- expose:
- - 9944
- - 9933
- ports:
- - 127.0.0.1:9944:9944
- - 127.0.0.1:9933:9933
- logging:
- options:
- max-size: "1m"
- max-file: "3"
.docker/docker-compose.tmp-forkless-nodata.j2diffbeforeafterboth--- a/.docker/docker-compose.tmp-forkless-nodata.j2
+++ /dev/null
@@ -1,34 +0,0 @@
-version: "3.5"
-
-services:
- node-parachain:
- build:
- args:
- - "RUST_TOOLCHAIN={{ RUST_TOOLCHAIN }}"
- - "BRANCH={{ BRANCH }}"
- - "REPO_URL={{ REPO_URL }}"
- - "NETWORK={{ NETWORK }}"
- - "POLKADOT_BUILD_BRANCH={{ POLKADOT_BUILD_BRANCH }}"
- - "POLKADOT_LAUNCH_BRANCH={{ POLKADOT_LAUNCH_BRANCH }}"
- - "MAINNET_TAG={{ MAINNET_TAG }}"
- - "MAINNET_BRANCH={{ MAINNET_BRANCH }}"
- - "WASM_NAME={{ WASM_NAME }}"
- context: ../
- dockerfile: .docker/Dockerfile-parachain-upgrade
- image: node-parachain
- container_name: node-parachain
- volumes:
- - type: bind
- source: ./launch-config-forkless-nodata.json
- target: /polkadot-launch/launch-config.json
- read_only: true
- expose:
- - 9944
- - 9933
- ports:
- - 127.0.0.1:9944:9944
- - 127.0.0.1:9933:9933
- logging:
- options:
- max-size: "1m"
- max-file: "3"
.docker/docker-compose.tmp-try-runtime.j2diffbeforeafterboth--- a/.docker/docker-compose.tmp-try-runtime.j2
+++ /dev/null
@@ -1,24 +0,0 @@
-version: "3.5"
-
-services:
- try-runtime:
- build:
- context: ../
- dockerfile: .docker/Dockerfile-try-runtime
- args:
- - "RUST_TOOLCHAIN={{ RUST_TOOLCHAIN }}"
- - "NETWORK={{ NETWORK }}"
- - "REPLICA_FROM={{ REPLICA_FROM }}"
- - "WASM_NAME={{ WASM_NAME }}"
- image: try-runtime
- container_name: try-runtime
- expose:
- - 9944
- - 9933
- ports:
- - 127.0.0.1:9944:9944
- - 127.0.0.1:9933:9933
- logging:
- options:
- max-size: "1m"
- max-file: "3"
.docker/docker-compose.tmp-xcm-tests.j2diffbeforeafterboth--- a/.docker/docker-compose.tmp-xcm-tests.j2
+++ /dev/null
@@ -1,27 +0,0 @@
-version: "3.5"
-
-services:
- xcm_nodes:
- image: uniquenetwork/xcm-{{ NETWORK }}-testnet-local:latest
- container_name: xcm-{{ NETWORK }}-testnet-local
- expose:
- - 9844
- - 9933
- - 9944
- - 9946
- - 9947
- - 9948
- - 9949
- ports:
- - 127.0.0.1:9844:9844
- - 127.0.0.1:9933:9933
- - 127.0.0.1:9944:9944
- - 127.0.0.1:9946:9946
- - 127.0.0.1:9947:9947
- - 127.0.0.1:9948:9948
- - 127.0.0.1:9949:9949
- logging:
- options:
- max-size: "1m"
- max-file: "3"
-
.docker/docker-compose.try-runtime.j2diffbeforeafterboth--- /dev/null
+++ b/.docker/docker-compose.try-runtime.j2
@@ -0,0 +1,13 @@
+version: "3.5"
+
+services:
+ try-runtime:
+ image: uniquenetwork/ci-tryruntime-local:{{ NETWORK }}-{{ BUILD_TAG }}
+ container_name: try-runtime
+ expose:
+ - 9944
+ - 9933
+ ports:
+ - 127.0.0.1:9944:9944
+ - 127.0.0.1:9933:9933
+
.docker/docker-compose.xcm.j2diffbeforeafterboth--- /dev/null
+++ b/.docker/docker-compose.xcm.j2
@@ -0,0 +1,24 @@
+version: "3.5"
+
+services:
+ xcm_nodes:
+ image: uniquenetwork/ci-xcm-local:{{ NETWORK }}-{{ BUILD_TAG }}
+ container_name: xcm-{{ NETWORK }}-local
+ expose:
+ - 9844
+ - 9933
+ - 9944
+ - 9946
+ - 9947
+ - 9948
+ - 9949
+ ports:
+ - 127.0.0.1:9844:9844
+ - 127.0.0.1:9933:9933
+ - 127.0.0.1:9944:9944
+ - 127.0.0.1:9946:9946
+ - 127.0.0.1:9947:9947
+ - 127.0.0.1:9948:9948
+ - 127.0.0.1:9949:9949
+
+
.github/actions/prepare/action.ymldiffbeforeafterboth--- /dev/null
+++ b/.github/actions/prepare/action.yml
@@ -0,0 +1,16 @@
+# .github/actions/prepare/action.yml
+name: 'Preparation'
+description: ''
+runs:
+ using: "composite"
+ steps:
+ - name: Setup Environment (PR)
+ if: ${{ github.event_name == 'pull_request' }}
+ shell: bash
+ run: |
+ echo "LAST_COMMIT_SHA=${{ github.event.pull_request.head.sha }}" >> ${GITHUB_ENV}
+ - name: Setup Environment (Push)
+ if: ${{ github.event_name == 'push' }}
+ shell: bash
+ run: |
+ echo "LAST_COMMIT_SHA=${GITHUB_SHA}" >> ${GITHUB_ENV}
\ No newline at end of file
.github/workflows/ci-develop.ymldiffbeforeafterboth--- a/.github/workflows/ci-develop.yml
+++ b/.github/workflows/ci-develop.yml
@@ -19,37 +19,54 @@
yarn-dev:
if: github.event.pull_request.draft == false # Conditional check for draft per job.
uses: ./.github/workflows/yarn-dev.yml
+ secrets: inherit
unit-test:
if: github.event.pull_request.draft == false # Conditional check for draft per job.
uses: ./.github/workflows/unit-test.yml
+ secrets: inherit
canary:
- if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'canary')) }} # Conditional check for draft & labels per job.
+ if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'CI-canary')) }} # Conditional check for draft & labels per job.
uses: ./.github/workflows/canary.yml
secrets: inherit # pass all secrets from initial workflow to nested
xcm:
- if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'xcm')) }} # Conditional check for draft & labels per job.
+ if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'CI-xcm')) }} # Conditional check for draft & labels per job.
uses: ./.github/workflows/xcm.yml
secrets: inherit # pass all secrets from initial workflow to nested
collator-selection:
if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'CI-collator-selection')) }} # Conditional check for draft & labels per job.
uses: ./.github/workflows/collator-selection.yml
+ secrets: inherit
- forkless:
- if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'forkless')) }} # Conditional check for draft & labels per job.
- uses: ./.github/workflows/forkless.yml
-
+ # forkless:
+ # if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'CI-forkless')) }} # Conditional check for draft & labels per job.
+ # uses: ./.github/workflows/forkless.yml
+ # secrets: inherit
+
+ forkless-update-data:
+ if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'CI-forkless')) }} # Conditional check for draft & labels per job.
+ uses: ./.github/workflows/forkless-update-data.yml
+ secrets: inherit # pass all secrets from initial workflow to nested
+
+ forkless-update-no-data:
+ if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'CI-forkless')) }} # Conditional check for draft & labels per job.
+ uses: ./.github/workflows/forkless-update-nodata.yml
+ secrets: inherit # pass all secrets from initial workflow to nested
+
+ try-runtime:
+ if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'CI-forkless')) }} # Conditional check for draft & labels per job.
+ uses: ./.github/workflows/try-runtime.yml
+ secrets: inherit # pass all secrets from initial workflow to nested
+
node-only-update:
- if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'node-only-update')) }} # Conditional check for draft & labels per job.
+ if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'CI-node-only-update')) }} # Conditional check for draft & labels per job.
uses: ./.github/workflows/node-only-update.yml
-
- # integration:
- # if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'integration')) }} # Conditional check for draft & labels per job.
- # uses: ./.github/workflows/integration-tests.yml
+ secrets: inherit
codestyle:
if: github.event.pull_request.draft == false # Conditional check for draft per job.
uses: ./.github/workflows/codestyle.yml
+ secrets: inherit
\ No newline at end of file
.github/workflows/codestyle.ymldiffbeforeafterboth--- a/.github/workflows/codestyle.yml
+++ b/.github/workflows/codestyle.yml
@@ -13,15 +13,13 @@
steps:
- name: Clean Workspace
uses: AutoModality/action-clean@v1.1.0
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }}
- name: Install latest nightly
- uses: actions-rs/toolchain@v1
+ uses: dtolnay/rust-toolchain@nightly
with:
- toolchain: nightly
- default: true
- target: wasm32-unknown-unknown
+ targets: wasm32-unknown-unknown
components: rustfmt, clippy
- name: Run cargo fmt
run: cargo fmt -- --check # In that mode it returns only exit code.
@@ -34,10 +32,10 @@
steps:
- name: Clean Workspace
uses: AutoModality/action-clean@v1.1.0
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }}
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v3.5.1
with:
node-version: 16
- name: Install modules
@@ -49,15 +47,13 @@
if: ${{ false }}
runs-on: [ self-hosted-ci ]
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
- name: Install substrate dependencies
run: sudo apt install -y libssl-dev pkg-config libclang-dev clang protobuf-compiler
- name: Install latest nightly
- uses: actions-rs/toolchain@v1
+ uses: dtolnay/rust-toolchain@nightly
with:
- toolchain: nightly
- default: true
- target: wasm32-unknown-unknown
+ targets: wasm32-unknown-unknown
components: rustfmt, clippy
- name: Run cargo check
run: cargo clippy -- -Dwarnings
.github/workflows/execution-matrix.ymldiffbeforeafterboth--- a/.github/workflows/execution-matrix.yml
+++ b/.github/workflows/execution-matrix.yml
@@ -24,7 +24,7 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
@@ -32,7 +32,7 @@
uses: xom9ikk/dotenv@v2
- name: Create Execution matrix
- uses: CertainLach/create-matrix-action@v3
+ uses: CertainLach/create-matrix-action@v4
id: create_matrix
with:
matrix: |
.github/workflows/forkless-update-data.ymldiffbeforeafterboth--- a/.github/workflows/forkless-update-data.yml
+++ b/.github/workflows/forkless-update-data.yml
@@ -9,7 +9,7 @@
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
- execution-marix:
+ prepare-execution-marix:
name: Prepare execution matrix
@@ -23,7 +23,7 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
@@ -31,7 +31,7 @@
uses: xom9ikk/dotenv@v2
- name: Create Execution matrix
- uses: CertainLach/create-matrix-action@v3
+ uses: CertainLach/create-matrix-action@v4
id: create_matrix
with:
matrix: |
@@ -40,16 +40,16 @@
network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}
network {sapphire}, wasm_name {quartz}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
- forkless-update-data:
- needs: execution-marix
+ forkless-data-build:
+ needs: prepare-execution-marix
# The type of runner that the job will run on
runs-on: [self-hosted-ci,large]
timeout-minutes: 1380
- name: ${{ matrix.network }}-data
+ name: ${{ matrix.network }}-data-build
strategy:
matrix:
- include: ${{fromJson(needs.execution-marix.outputs.matrix)}}
+ include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
continue-on-error: true #Do not stop testing of matrix runs failed. As it decided during PR review - it required 50/50& Let's check it with false.
@@ -58,64 +58,164 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
- name: Read .env file
uses: xom9ikk/dotenv@v2
- - name: Generate ENV related extend file for docker-compose
+ # Prepare SHA
+ - name: Prepare SHA
+ uses: ./.github/actions/prepare
+
+ # Build main image for FORKLESS-UPDATE-NODATA
+ - name: Generate ENV related extend Dockerfile file
uses: cuchi/jinja2-action@v1.2.0
with:
- template: .docker/docker-compose.tmp-forkless-data.j2
- output_file: .docker/docker-compose-forkless-data.${{ matrix.network }}.yml
+ template: .docker/Dockerfile-parachain-upgrade-data.j2
+ output_file: .docker/Dockerfile-parachain-upgrade-data.${{ matrix.network }}.yml
variables: |
- REPO_URL=${{ github.server_url }}/${{ github.repository }}.git
RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
+ NETWORK=${{ matrix.network }}
+ MAINNET_BRANCH=${{ matrix.mainnet_branch }}
+ WASM_NAME=${{ matrix.wasm_name }}
POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}
POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
- # POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}
- # MAINNET_TAG=${{ matrix.mainnet_tag }}
- MAINNET_BRANCH=${{ matrix.mainnet_branch }}
- NETWORK=${{ matrix.network }}
- # BRANCH=${{ github.head_ref }}
REPLICA_FROM=${{ matrix.replica_from_address }}
- WASM_NAME=${{ matrix.wasm_name }}
- name: Show build configuration
- run: cat .docker/docker-compose-forkless-data.${{ matrix.network }}.yml
+ run: cat .docker/Dockerfile-parachain-upgrade-data.${{ matrix.network }}.yml
- name: Generate launch-config-forkless-data.json
uses: cuchi/jinja2-action@v1.2.0
with:
template: .docker/forkless-config/launch-config-forkless-data.j2
- output_file: .docker/launch-config-forkless-data.json
+ output_file: .docker/forkless-config/launch-config-forkless-data.json
variables: |
- NETWORK=${{ matrix.network }}
- REPLICA_FROM=${{ matrix.replica_from_address }}
- WASM_NAME=${{ matrix.wasm_name}}
+ WASM_NAME=${{ matrix.wasm_name }}
RELAY_CHAIN_TYPE=${{ env.RELAY_CHAIN_TYPE }}
+ REPLICA_FROM=${{ matrix.replica_from_address }}
- name: Show launch-config-forkless configuration
- run: cat .docker/launch-config-forkless-data.json
+ run: cat .docker/forkless-config/launch-config-forkless-data.json
+ - name: Run find-and-replace to remove slashes from branch name
+ uses: mad9000/actions-find-and-replace-string@4
+ id: branchname
+ with:
+ source: ${{ github.head_ref }}
+ find: '/'
+ replace: '-'
+
+ - name: Set build SHA
+ shell: bash
+ run: |
+ echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV
+
- name: Build the stack
- run: docker-compose -f ".docker/docker-compose-forkless-data.${{ matrix.network }}.yml" up -d --build --force-recreate --timeout 300
+ run: cd .docker/ && docker build --no-cache --file ./Dockerfile-parachain-upgrade-data.${{ matrix.network }}.yml --tag uniquenetwork/ci-forkless-data-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA ../
+
+ - name: Log in to Docker Hub
+ uses: docker/login-action@v2.1.0
+ with:
+ username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
+ password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
+
+ - name: Push docker image version
+ run: docker push uniquenetwork/ci-forkless-data-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA
+
+ - name: Remove builder cache
+ if: always() # run this step always
+ run: |
+ docker builder prune -f
+ docker system prune -f
+
+ forkless-data-tests:
+ needs: [prepare-execution-marix, forkless-data-build]
+ # The type of runner that the job will run on
+ runs-on: [self-hosted-ci, large]
+ timeout-minutes: 600
+
+ name: ${{ matrix.network }}-data-tests
+
+ continue-on-error: true #Do not stop testing of matrix runs failed. As it decided during PR review - it required 50/50& Let's check it with false.
+
+ strategy:
+ matrix:
+ include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
+
+ steps:
+ - name: Skip if pull request is in Draft
+ if: github.event.pull_request.draft == true
+ run: exit 1
+
+ - name: Clean Workspace
+ uses: AutoModality/action-clean@v1.1.0
+
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+ - uses: actions/checkout@v3.1.0
+ with:
+ ref: ${{ github.head_ref }} #Checking out head commit
+
+ - name: Prepare
+ uses: ./.github/actions/prepare
+
+ - name: Set build SHA
+ shell: bash
+ run: |
+ echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV
+
+ - name: Run find-and-replace to remove slashes from branch name
+ uses: mad9000/actions-find-and-replace-string@4
+ id: branchname
+ with:
+ source: ${{ github.head_ref }}
+ find: '/'
+ replace: '-'
+
+ - name: Read .env file
+ uses: xom9ikk/dotenv@v2
+
+ - name: Generate ENV related extend file for docker-compose
+ uses: cuchi/jinja2-action@v1.2.0
+ with:
+ template: .docker/docker-compose.forkless-data.j2
+ output_file: .docker/docker-compose.forkless-data.${{ matrix.network }}.yml
+ variables: |
+ NETWORK=${{ matrix.network }}
+ BUILD_TAG=${{ steps.branchname.outputs.value }}-$BUILD_SHA
+
+ - name: Show build configuration
+ run: cat .docker/docker-compose.forkless-data.${{ matrix.network }}.yml
+
+ - name: Log in to Docker Hub
+ uses: docker/login-action@v2.1.0
+ with:
+ username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
+ password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
+
+ - name: Build the stack
+ run: docker-compose -f ".docker/docker-compose.forkless-data.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 300
+
+ - uses: actions/setup-node@v3.5.1
+ with:
+ node-version: 16
+
- name: Check if docker logs consist logs related to Runtime Upgrade testing.
if: success()
run: |
counter=160
function check_container_status {
- docker inspect -f {{.State.Running}} node-parachain
+ docker inspect -f {{.State.Running}} forkless-data
}
function do_docker_logs {
- docker logs --details node-parachain 2>&1
+ docker logs --details forkless-data 2>&1
}
function is_started {
if [ "$(check_container_status)" == "true" ]; then
- echo "Container: node-parachain RUNNING";
+ echo "Container: forkless-data RUNNING";
echo "Check Docker logs"
DOCKER_LOGS=$(do_docker_logs)
if [[ ${DOCKER_LOGS} = *"πΈ PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE πΈ"* ]];then
@@ -129,7 +229,7 @@
return 1
fi
else
- echo "Container node-parachain not RUNNING"
+ echo "Container forkless-data not RUNNING"
echo "Halting all future checks"
exit 1
fi
@@ -152,18 +252,17 @@
- name: Collect Docker Logs
if: success() || failure()
- uses: jwalton/gh-docker-logs@v2.2.0
+ uses: jwalton/gh-docker-logs@v2.2.1
with:
dest: './forkless-parachain-upgrade-data-logs.${{ matrix.features }}'
- images: 'node-parachain'
- name: Show Docker logs
if: success() || failure()
- run: cat './forkless-parachain-upgrade-data-logs.${{ matrix.features }}/node-parachain.log'
+ run: cat './forkless-parachain-upgrade-data-logs.${{ matrix.features }}/forkless-data.log'
- name: Stop running containers
if: always() # run this step always
- run: docker-compose -f ".docker/docker-compose-forkless-data.${{ matrix.network }}.yml" down --volumes
+ run: docker-compose -f ".docker/docker-compose.forkless-data.${{ matrix.network }}.yml" down --volumes
- name: Remove builder cache
if: always() # run this step always
.github/workflows/forkless-update-nodata.ymldiffbeforeafterboth--- a/.github/workflows/forkless-update-nodata.yml
+++ b/.github/workflows/forkless-update-nodata.yml
@@ -8,7 +8,7 @@
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
- execution-marix:
+ prepare-execution-marix:
name: Prepare execution matrix
@@ -22,7 +22,7 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
@@ -30,7 +30,7 @@
uses: xom9ikk/dotenv@v2
- name: Create Execution matrix
- uses: CertainLach/create-matrix-action@v3
+ uses: CertainLach/create-matrix-action@v4
id: create_matrix
with:
matrix: |
@@ -40,86 +40,183 @@
network {sapphire}, wasm_name {quartz}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
- forkless-update-nodata:
- needs: execution-marix
+ forkless-nodata-build:
+ needs: prepare-execution-marix
# The type of runner that the job will run on
runs-on: [self-hosted-ci,large]
timeout-minutes: 1380
- name: ${{ matrix.network }}-nodata
+ name: ${{ matrix.network }}-nodata-build
continue-on-error: true #Do not stop testing of matrix runs failed. As it decided during PR review - it required 50/50& Let's check it with false.
strategy:
matrix:
- include: ${{fromJson(needs.execution-marix.outputs.matrix)}}
+ include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
steps:
- name: Clean Workspace
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
- name: Read .env file
uses: xom9ikk/dotenv@v2
- - name: Generate ENV related extend file for docker-compose
+ # Prepare SHA
+ - name: Prepare SHA
+ uses: ./.github/actions/prepare
+
+ - name: Log in to Docker Hub
+ uses: docker/login-action@v2.1.0
+ with:
+ username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
+ password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
+
+ # Build main image for FORKLESS-UPDATE-NODATA
+ - name: Generate ENV related extend Dockerfile file
uses: cuchi/jinja2-action@v1.2.0
with:
- template: .docker/docker-compose.tmp-forkless-nodata.j2
- output_file: .docker/docker-compose.${{ matrix.network }}.yml
+ template: .docker/Dockerfile-parachain-upgrade.j2
+ output_file: .docker/Dockerfile-parachain-upgrade.${{ matrix.network }}.yml
variables: |
- REPO_URL=${{ github.server_url }}/${{ github.repository }}.git
RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
- POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}
- POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
- # POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}
- # MAINNET_TAG=${{ matrix.mainnet_tag }}
- MAINNET_BRANCH=${{ matrix.mainnet_branch }}
NETWORK=${{ matrix.network }}
- # BRANCH=${{ github.head_ref }}
+ MAINNET_BRANCH=${{ matrix.mainnet_branch }}
WASM_NAME=${{ matrix.wasm_name }}
+ POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}
+ POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
- - name: Show build configuration
- run: cat .docker/docker-compose.${{ matrix.network }}.yml
+ - name: Show build Dockerfile
+ run: cat .docker/Dockerfile-parachain-upgrade.${{ matrix.network }}.yml
- name: Generate launch-config-forkless-nodata.json
uses: cuchi/jinja2-action@v1.2.0
with:
template: .docker/forkless-config/launch-config-forkless-nodata.j2
- output_file: .docker/launch-config-forkless-nodata.json
+ output_file: .docker/forkless-config/launch-config-forkless-nodata.json
variables: |
- NETWORK=${{ matrix.network }}
WASM_NAME=${{ matrix.wasm_name }}
RELAY_CHAIN_TYPE=${{ env.RELAY_CHAIN_TYPE }}
- name: Show launch-config-forkless configuration
- run: cat .docker/launch-config-forkless-nodata.json
+ run: cat .docker/forkless-config/launch-config-forkless-nodata.json
+
+ - name: Run find-and-replace to remove slashes from branch name
+ uses: mad9000/actions-find-and-replace-string@4
+ id: branchname
+ with:
+ source: ${{ github.head_ref }}
+ find: '/'
+ replace: '-'
+
+ - name: Set build SHA
+ shell: bash
+ run: |
+ echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV
+
+ - name: Build the stack
+ run: cd .docker/ && docker build --no-cache --file ./Dockerfile-parachain-upgrade.${{ matrix.network }}.yml --tag uniquenetwork/ci-forkless-nodata-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA ../
+
+ - name: Push docker image version
+ run: docker push uniquenetwork/ci-forkless-nodata-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA
+
+ - name: Remove builder cache
+ if: always() # run this step always
+ run: |
+ docker builder prune -f
+ docker system prune -f
+
+
+ forkless-nodata-tests:
+ needs: [prepare-execution-marix, forkless-nodata-build]
+ # The type of runner that the job will run on
+ runs-on: [self-hosted-ci, large]
+
+ timeout-minutes: 600
+
+ name: ${{ matrix.network }}-nodata-tests
+
+ continue-on-error: true #Do not stop testing of matrix runs failed. As it decided during PR review - it required 50/50& Let's check it with false.
+
+ strategy:
+ matrix:
+ include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
+
+ steps:
+ - name: Skip if pull request is in Draft
+ if: github.event.pull_request.draft == true
+ run: exit 1
+
+ - name: Clean Workspace
+ uses: AutoModality/action-clean@v1.1.0
+
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+ - uses: actions/checkout@v3.1.0
+ with:
+ ref: ${{ github.head_ref }} #Checking out head commit
+
+ - name: Prepare
+ uses: ./.github/actions/prepare
+
+ - name: Set build SHA
+ shell: bash
+ run: |
+ echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV
- - uses: actions/setup-node@v3
+ - name: Run find-and-replace to remove slashes from branch name
+ uses: mad9000/actions-find-and-replace-string@4
+ id: branchname
with:
- node-version: 16
+ source: ${{ github.head_ref }}
+ find: '/'
+ replace: '-'
+
+ - name: Read .env file
+ uses: xom9ikk/dotenv@v2
+ - name: Generate ENV related extend file for docker-compose
+ uses: cuchi/jinja2-action@v1.2.0
+ with:
+ template: .docker/docker-compose.forkless-nodata.j2
+ output_file: .docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml
+ variables: |
+ NETWORK=${{ matrix.network }}
+ BUILD_TAG=${{ steps.branchname.outputs.value }}-$BUILD_SHA
+
+ - name: Show build configuration
+ run: cat .docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml
+
+ - name: Log in to Docker Hub
+ uses: docker/login-action@v2.1.0
+ with:
+ username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
+ password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
+
- name: Build the stack
- run: docker-compose -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --force-recreate --timeout 300
+ run: docker-compose -f ".docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 300
+ - uses: actions/setup-node@v3.5.1
+ with:
+ node-version: 16
+
- name: Check if docker logs consist logs related to Runtime Upgrade testing.
if: success()
run: |
counter=160
function check_container_status {
- docker inspect -f {{.State.Running}} node-parachain
+ docker inspect -f {{.State.Running}} forkless-nodata
}
function do_docker_logs {
- docker logs --details node-parachain 2>&1
+ docker logs --details forkless-nodata 2>&1
}
function is_started {
if [ "$(check_container_status)" == "true" ]; then
- echo "Container: node-parachain RUNNING";
+ echo "Container: forkless-nodata RUNNING";
echo "Check Docker logs"
DOCKER_LOGS=$(do_docker_logs)
if [[ ${DOCKER_LOGS} = *"πΈ PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE πΈ"* ]];then
@@ -133,7 +230,7 @@
return 1
fi
else
- echo "Container node-parachain not RUNNING"
+ echo "Container forkless-nodata not RUNNING"
echo "Halting all future checks"
exit 1
fi
@@ -156,21 +253,20 @@
- name: Collect Docker Logs
if: success() || failure()
- uses: jwalton/gh-docker-logs@v2.2.0
+ uses: jwalton/gh-docker-logs@v2.2.1
with:
- dest: './forkless-parachain-upgrade-nodata-logs.${{ matrix.features }}'
- images: 'node-parachain'
+ dest: './forkless-parachain-upgrade-nodata-logs.${{ matrix.network }}'
- name: Show docker logs
if: success() || failure()
- run: cat './forkless-parachain-upgrade-nodata-logs.${{ matrix.features }}/node-parachain.log'
+ run: cat './forkless-parachain-upgrade-nodata-logs.${{ matrix.network }}/forkless-nodata.log'
- name: Run Parallel tests
working-directory: tests
run: |
yarn install
yarn add mochawesome
- node scripts/readyness.js
+ ./scripts/wait_for_first_block.sh
echo "Ready to start tests"
yarn polkadot-types
NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}
@@ -178,7 +274,7 @@
RPC_URL: http://127.0.0.1:9933/
- name: Test Report Parallel
- uses: phoenix-actions/test-reporting@v8
+ uses: phoenix-actions/test-reporting@v10
id: test-report-parallel
if: success() || failure() # run this step even if previous step failed
with:
@@ -193,7 +289,7 @@
run: |
yarn install
yarn add mochawesome
- node scripts/readyness.js
+ ./scripts/wait_for_first_block.sh
echo "Ready to start tests"
yarn polkadot-types
NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}
@@ -201,7 +297,7 @@
RPC_URL: http://127.0.0.1:9933/
- name: Test Report Sequential
- uses: phoenix-actions/test-reporting@v8
+ uses: phoenix-actions/test-reporting@v10
id: test-report-sequential
if: success() || failure() # run this step even if previous step failed
with:
@@ -212,7 +308,7 @@
- name: Stop running containers
if: always() # run this step always
- run: docker-compose -f ".docker/docker-compose.${{ matrix.network }}.yml" down
+ run: docker-compose -f ".docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml" down
- name: Remove builder cache
if: always() # run this step always
.github/workflows/forkless.ymldiffbeforeafterboth--- a/.github/workflows/forkless.yml
+++ b/.github/workflows/forkless.yml
@@ -1,20 +1,23 @@
# Intermediate Nested Workflow for calling subworkflows as a parallel tasks.
-name: Nesting Forkless
+# name: Nesting Forkless
-on:
- workflow_call:
+# on:
+# workflow_call:
-jobs:
+# jobs:
- forkless-update-data:
- name: with data
- uses: ./.github/workflows/forkless-update-data.yml
+# forkless-update-data:
+# name: with data
+# uses: ./.github/workflows/forkless-update-data.yml
+# secrets: inherit # pass all secrets from initial workflow to nested
- forkless-update-no-data:
- name: no data
- uses: ./.github/workflows/forkless-update-nodata.yml
+# forkless-update-no-data:
+# name: no data
+# uses: ./.github/workflows/forkless-update-nodata.yml
+# secrets: inherit # pass all secrets from initial workflow to nested
- try-runtime:
- name: try-runtime
- uses: ./.github/workflows/try-runtime.yml
+# try-runtime:
+# name: try-runtime
+# uses: ./.github/workflows/try-runtime.yml
+# secrets: inherit # pass all secrets from initial workflow to nested
.github/workflows/generate-execution-matrix.ymldiffbeforeafterboth--- a/.github/workflows/generate-execution-matrix.yml
+++ b/.github/workflows/generate-execution-matrix.yml
@@ -28,7 +28,7 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
@@ -36,7 +36,7 @@
uses: xom9ikk/dotenv@v2
- name: Create Execution matrix
- uses: CertainLach/create-matrix-action@v3
+ uses: CertainLach/create-matrix-action@v4
id: create_matrix
with:
matrix: |
.github/workflows/market-test.ymldiffbeforeafterboth--- a/.github/workflows/market-test.yml
+++ b/.github/workflows/market-test.yml
@@ -36,7 +36,7 @@
ref: ${{ github.head_ref }} #Checking out head commit
- name: Checkout Market e2e tests
- uses: actions/checkout@v3
+ uses: actions/checkout@v3.1.0
with:
repository: 'UniqueNetwork/market-e2e-tests'
ssh-key: ${{ secrets.GH_PAT }}
@@ -72,7 +72,7 @@
working-directory: qa-tests
run: docker-compose -f ".docker/docker-compose.market.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --remove-orphans --force-recreate node-parachain
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v3.5.1
with:
node-version: 16.17
@@ -93,7 +93,7 @@
# working-directory: tests
# run: |
# yarn install
-# node scripts/readyness.js
+# ./scripts/wait_for_first_block.sh
# echo "Ready to start tests"
# env:
# RPC_URL: http://127.0.0.1:9933/
.github/workflows/node-only-update.ymldiffbeforeafterboth--- a/.github/workflows/node-only-update.yml
+++ b/.github/workflows/node-only-update.yml
@@ -25,7 +25,7 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
@@ -33,7 +33,7 @@
uses: xom9ikk/dotenv@v2
- name: Create Execution matrix
- uses: CertainLach/create-matrix-action@v3
+ uses: CertainLach/create-matrix-action@v4
id: create_matrix
with:
matrix: |
@@ -64,7 +64,7 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
@@ -104,7 +104,7 @@
- name: Show launch-config-forkless configuration
run: cat .docker/launch-config-forkless-nodata.json
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v3.5.1
with:
node-version: 16
@@ -169,7 +169,7 @@
run: |
yarn install
yarn add mochawesome
- node scripts/readyness.js
+ ./scripts/wait_for_first_block.sh
echo "Ready to start tests"
yarn polkadot-types
NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}
@@ -194,7 +194,7 @@
RPC_URL: http://127.0.0.1:9933/
# - name: Upload Sequential Test Report Before Node upgrade
- # uses: phoenix-actions/test-reporting@v8
+ # uses: phoenix-actions/test-reporting@v10
# id: test-sequential-report-before
# if: success() || failure() # run this step even if previous step failed
# with:
@@ -292,7 +292,7 @@
run: |
yarn install
yarn add mochawesome
- node scripts/readyness.js
+ ./scripts/wait_for_first_block.sh
echo "Ready to start tests"
yarn polkadot-types
NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}
@@ -300,7 +300,7 @@
RPC_URL: http://127.0.0.1:9933/
#- name: Test Report Parallel After Node upgrade
- # uses: phoenix-actions/test-reporting@v8
+ # uses: phoenix-actions/test-reporting@v10
# id: test-report-parallel-after
# if: success() || failure() # run this step even if previous step failed
# with:
@@ -317,7 +317,7 @@
RPC_URL: http://127.0.0.1:9933/
#- name: Upload Sequential Test Report After Node upgrade
- # uses: phoenix-actions/test-reporting@v8
+ # uses: phoenix-actions/test-reporting@v10
# id: test-sequential-report-after
# if: success() || failure() # run this step even if previous step failed
# with:
.github/workflows/polkadot-types.ymldiffbeforeafterboth--- a/.github/workflows/polkadot-types.yml
+++ b/.github/workflows/polkadot-types.yml
@@ -66,7 +66,7 @@
- name: Build the stack
run: docker-compose -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --remove-orphans
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v3.5.1
with:
node-version: 16
.github/workflows/testnet-build.ymldiffbeforeafterboth--- a/.github/workflows/testnet-build.yml
+++ b/.github/workflows/testnet-build.yml
@@ -28,7 +28,7 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
@@ -36,7 +36,7 @@
uses: xom9ikk/dotenv@v2
- name: Create Execution matrix
- uses: fabiocaccamo/create-matrix-action@v2
+ uses: CertainLach/create-matrix-action@v4
id: create_matrix
with:
matrix: |
@@ -68,7 +68,7 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
@@ -95,7 +95,7 @@
run: cat launch-config.json
- name: Run find-and-replace to remove slashes from branch name
- uses: mad9000/actions-find-and-replace-string@2
+ uses: mad9000/actions-find-and-replace-string@4
id: branchname
with:
source: ${{ github.head_ref }}
@@ -103,7 +103,7 @@
replace: '-'
- name: Log in to Docker Hub
- uses: docker/login-action@v2.0.0
+ uses: docker/login-action@v2.1.0
with:
username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
.github/workflows/try-runtime.ymldiffbeforeafterboth--- a/.github/workflows/try-runtime.yml
+++ b/.github/workflows/try-runtime.yml
@@ -21,7 +21,7 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
@@ -29,7 +29,7 @@
uses: xom9ikk/dotenv@v2
- name: Create Execution matrix
- uses: CertainLach/create-matrix-action@v3
+ uses: CertainLach/create-matrix-action@v4
id: create_matrix
with:
matrix: |
@@ -38,14 +38,14 @@
network {quartz}, wasm_name {quartz}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}
network {unique}, wasm_name {unique}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}
- try-runtime:
+ try-runtime-build:
needs: prepare-execution-marix
# The type of runner that the job will run on
runs-on: [self-hosted-ci]
continue-on-error: true #Do not stop testing of matrix runs failed. As it decided during PR review - it required 50/50& Let's check it with false.
- name: ${{ matrix.network }}-try-runtime
+ name: ${{ matrix.network }}-try-runtime-build
strategy:
matrix:
include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
@@ -56,36 +56,141 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
+ # Prepare SHA
+ - name: Prepare SHA
+ uses: ./.github/actions/prepare
+
- name: Read .env file
uses: xom9ikk/dotenv@v2
- - name: Generate ENV related extend file for docker-compose
+ - name: Log in to Docker Hub
+ uses: docker/login-action@v2.1.0
+ with:
+ username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
+ password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
+
+ # Build main image for TRY-RUNTIME
+ - name: Generate ENV related extend Dockerfile file
uses: cuchi/jinja2-action@v1.2.0
with:
- template: .docker/docker-compose.tmp-try-runtime.j2
- output_file: .docker/docker-compose.try-runtime.${{ matrix.network }}.yml
+ template: .docker/Dockerfile-try-runtime.j2
+ output_file: .docker/Dockerfile-try-runtime.${{ matrix.network }}.yml
variables: |
RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
NETWORK=${{ matrix.network }}
WASM_NAME=${{ matrix.wasm_name }}
REPLICA_FROM=${{ matrix.replica_from_address }}
+ - name: Show build Dockerfile
+ run: cat .docker/Dockerfile-try-runtime.${{ matrix.network }}.yml
+
+ - name: Run find-and-replace to remove slashes from branch name
+ uses: mad9000/actions-find-and-replace-string@4
+ id: branchname
+ with:
+ source: ${{ github.head_ref }}
+ find: '/'
+ replace: '-'
+
+ - name: Set build SHA
+ shell: bash
+ run: |
+ echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV
+
+ - name: Build the stack
+ run: cd .docker/ && docker build --no-cache --file ./Dockerfile-try-runtime.${{ matrix.network }}.yml --tag uniquenetwork/ci-tryruntime-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA ../
+
+ - name: Push docker image version
+ run: docker push uniquenetwork/ci-tryruntime-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA
+
+ - name: Remove builder cache
+ if: always() # run this step always
+ run: |
+ docker builder prune -f
+ docker system prune -f
+
+
+ try-runtime-tests:
+ needs: [prepare-execution-marix, try-runtime-build]
+ # The type of runner that the job will run on
+ runs-on: [self-hosted-ci]
+
+ timeout-minutes: 600
+
+ name: ${{ matrix.network }}-try-runtime-tests
+
+ continue-on-error: true #Do not stop testing of matrix runs failed. As it decided during PR review - it required 50/50& Let's check it with false.
+
+ strategy:
+ matrix:
+ include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
+
+ steps:
+ - name: Skip if pull request is in Draft
+ if: github.event.pull_request.draft == true
+ run: exit 1
+
+ - name: Clean Workspace
+ uses: AutoModality/action-clean@v1.1.0
+
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+ - uses: actions/checkout@v3.1.0
+ with:
+ ref: ${{ github.head_ref }} #Checking out head commit
+
+ - name: Prepare
+ uses: ./.github/actions/prepare
+
+ - name: Set build SHA
+ shell: bash
+ run: |
+ echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV
+
+ - name: Run find-and-replace to remove slashes from branch name
+ uses: mad9000/actions-find-and-replace-string@4
+ id: branchname
+ with:
+ source: ${{ github.head_ref }}
+ find: '/'
+ replace: '-'
+
+ - name: Read .env file
+ uses: xom9ikk/dotenv@v2
+
+ - name: Generate ENV related extend file for docker-compose
+ uses: cuchi/jinja2-action@v1.2.0
+ with:
+ template: .docker/docker-compose.try-runtime.j2
+ output_file: .docker/docker-compose.try-runtime.${{ matrix.network }}.yml
+ variables: |
+ NETWORK=${{ matrix.network }}
+ BUILD_TAG=${{ steps.branchname.outputs.value }}-$BUILD_SHA
+
- name: Show build configuration
run: cat .docker/docker-compose.try-runtime.${{ matrix.network }}.yml
+ - uses: actions/setup-node@v3.5.1
+ with:
+ node-version: 16
+
+ - name: Log in to Docker Hub
+ uses: docker/login-action@v2.1.0
+ with:
+ username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
+ password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
+
- name: Build the stack
- run: docker-compose -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" up --build --force-recreate --timeout 300 --remove-orphans --exit-code-from try-runtime
+ run: docker-compose -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 300
- name: Collect Docker Logs
if: success() || failure()
- uses: jwalton/gh-docker-logs@v2.2.0
+ uses: jwalton/gh-docker-logs@v2.2.1
with:
dest: './try-runtime-logs.${{ matrix.network }}'
- images: 'try-runtime'
- name: Show docker logs
run: cat './try-runtime-logs.${{ matrix.network }}/try-runtime.log'
.github/workflows/unit-test.ymldiffbeforeafterboth--- a/.github/workflows/unit-test.yml
+++ b/.github/workflows/unit-test.yml
@@ -19,14 +19,13 @@
continue-on-error: true #Do not stop testing of matrix runs failed. As it decided during PR review - it required 50/50& Let's check it with false.
-
steps:
- name: Clean Workspace
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
.github/workflows/xcm.ymldiffbeforeafterboth28 uses: AutoModality/action-clean@v1.1.028 uses: AutoModality/action-clean@v1.1.0292930 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it30 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it31 - uses: actions/checkout@v331 - uses: actions/checkout@v3.1.032 with:32 with:33 ref: ${{ github.head_ref }} #Checking out head commit33 ref: ${{ github.head_ref }} #Checking out head commit343435 - name: Read .env file35 - name: Read .env file36 uses: xom9ikk/dotenv@v236 uses: xom9ikk/dotenv@v2373738 - name: Create Execution matrix38 - name: Create Execution matrix39 uses: fabiocaccamo/create-matrix-action@v239 uses: CertainLach/create-matrix-action@v440 id: create_matrix40 id: create_matrix41 with:41 with:42 matrix: |42 matrix: |69 uses: AutoModality/action-clean@v1.1.069 uses: AutoModality/action-clean@v1.1.0707071 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it71 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it72 - uses: actions/checkout@v372 - uses: actions/checkout@v3.1.073 with:73 with:74 ref: ${{ github.head_ref }} #Checking out head commit74 ref: ${{ github.head_ref }} #Checking out head commit7576 # Prepare SHA 77 - name: Prepare SHA78 uses: ./.github/actions/prepare757976 - name: Read .env file80 - name: Read .env file77 uses: xom9ikk/dotenv@v281 uses: xom9ikk/dotenv@v2788279 - name: Log in to Docker Hub83 - name: Log in to Docker Hub80 uses: docker/login-action@v2.0.084 uses: docker/login-action@v2.1.081 with:85 with:82 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}86 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}83 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}87 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}848885 - name: Install jq89 # Check POLKADOT version and build it if it doesn't exist in repository86 run: sudo apt install jq -y8788 # Check POLKADOT version and build it if it doesn't exist in repository89 - name: Generate ENV related extend Dockerfile file for POLKADOT90 - name: Generate ENV related extend Dockerfile file for POLKADOT90 uses: cuchi/jinja2-action@v1.2.091 uses: cuchi/jinja2-action@v1.2.091 with:92 with:251 fi251 fi252 shell: bash252 shell: bash253253254 - name: Pull chainql docker image255 run: docker pull uniquenetwork/builder-chainql:latest254256255 - name: Generate ENV related extend launch-config file257 - name: Generate ENV related extend launch-config file256 uses: cuchi/jinja2-action@v1.2.0258 uses: cuchi/jinja2-action@v1.2.0284 run: cat .docker/Dockerfile-xcm.${{ matrix.network }}.yml286 run: cat .docker/Dockerfile-xcm.${{ matrix.network }}.yml285287286 - name: Run find-and-replace to remove slashes from branch name288 - name: Run find-and-replace to remove slashes from branch name287 uses: mad9000/actions-find-and-replace-string@2289 uses: mad9000/actions-find-and-replace-string@4288 id: branchname290 id: branchname289 with:291 with:290 source: ${{ github.head_ref }}292 source: ${{ github.head_ref }}291 find: '/'293 find: '/'292 replace: '-'294 replace: '-'293295294 - name: Pull chainql docker image296 - name: Set build SHA297 shell: bash295 run: docker pull uniquenetwork/builder-chainql:latest298 run: |299 echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV296300297 - name: Build the stack301 - name: Build the stack298 run: cd .docker/ && docker build --no-cache --file ./Dockerfile-xcm.${{ matrix.network }}.yml --tag uniquenetwork/xcm-${{ matrix.network }}-testnet-local:nightly-${{ steps.branchname.outputs.value }}-${{ github.sha }} --tag uniquenetwork/xcm-${{ matrix.network }}-testnet-local:latest .302 run: cd .docker/ && docker build --no-cache --file ./Dockerfile-xcm.${{ matrix.network }}.yml --tag uniquenetwork/ci-xcm-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA .299303300 - name: Push docker image version304 - name: Push docker image version301 run: docker push uniquenetwork/xcm-${{ matrix.network }}-testnet-local:nightly-${{ steps.branchname.outputs.value }}-${{ github.sha }}305 run: docker push uniquenetwork/ci-xcm-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA302303 - name: Push docker image latest304 run: docker push uniquenetwork/xcm-${{ matrix.network }}-testnet-local:latest305306306 - name: Remove builder cache307 - name: Remove builder cache307 if: always() # run this step always308 if: always() # run this step always333 uses: AutoModality/action-clean@v1.1.0334 uses: AutoModality/action-clean@v1.1.0334335335 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it336 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it336 - uses: actions/checkout@v3337 - uses: actions/checkout@v3.1.0337 with:338 with:338 ref: ${{ github.head_ref }} #Checking out head commit339 ref: ${{ github.head_ref }} #Checking out head commit340341 - name: Prepare342 uses: ./.github/actions/prepare343344 - name: Set build SHA345 shell: bash346 run: |347 echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV348349 - name: Run find-and-replace to remove slashes from branch name350 uses: mad9000/actions-find-and-replace-string@4351 id: branchname352 with:353 source: ${{ github.head_ref }}354 find: '/'355 replace: '-'339356340 - name: Read .env file357 - name: Read .env file341 uses: xom9ikk/dotenv@v2358 uses: xom9ikk/dotenv@v2342359343 - name: Generate ENV related extend file for docker-compose360 - name: Generate ENV related extend file for docker-compose344 uses: cuchi/jinja2-action@v1.2.0361 uses: cuchi/jinja2-action@v1.2.0345 with:362 with:346 template: .docker/docker-compose.tmp-xcm-tests.j2363 template: .docker/docker-compose.xcm.j2347 output_file: .docker/docker-compose.xcm-tests.${{ matrix.network }}.yml364 output_file: .docker/docker-compose.xcm.${{ matrix.network }}.yml348 variables: |365 variables: |349 NETWORK=${{ matrix.network }}366 NETWORK=${{ matrix.network }}367 BUILD_TAG=${{ steps.branchname.outputs.value }}-$BUILD_SHA350368351 - name: Show build configuration369 - name: Show build configuration352 run: cat .docker/docker-compose.xcm-tests.${{ matrix.network }}.yml370 run: cat .docker/docker-compose.xcm.${{ matrix.network }}.yml353371354 - uses: actions/setup-node@v3372 - uses: actions/setup-node@v3.5.1355 with:373 with:356 node-version: 16374 node-version: 16375376 - name: Log in to Docker Hub377 uses: docker/login-action@v2.1.0378 with:379 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}380 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}357381358 - name: Build the stack382 - name: Build the stack359 run: docker-compose -f ".docker/docker-compose.xcm-tests.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 300383 run: docker-compose -f ".docker/docker-compose.xcm.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 300360384361 # π POLKADOT LAUNCH COMPLETE π385 # π POLKADOT LAUNCH COMPLETE π362 - name: Check if docker logs consist messages related to testing of xcm tests 386 - name: Check if docker logs consist messages related to testing of xcm tests 363 if: success()387 if: success()364 run: |388 run: |365 counter=160389 counter=160366 function check_container_status {390 function check_container_status {367 docker inspect -f {{.State.Running}} xcm-${{ matrix.network }}-testnet-local391 docker inspect -f {{.State.Running}} xcm-${{ matrix.network }}-local368 }392 }369 function do_docker_logs {393 function do_docker_logs {370 docker logs --details xcm-${{ matrix.network }}-testnet-local 2>&1394 docker logs --details xcm-${{ matrix.network }}-local 2>&1371 }395 }372 function is_started {396 function is_started {373 if [ "$(check_container_status)" == "true" ]; then397 if [ "$(check_container_status)" == "true" ]; then374 echo "Container: xcm-${{ matrix.network }}-testnet-local RUNNING";398 echo "Container: xcm-${{ matrix.network }}-local RUNNING";375 echo "Check Docker logs"399 echo "Check Docker logs"376 DOCKER_LOGS=$(do_docker_logs)400 DOCKER_LOGS=$(do_docker_logs)377 if [[ ${DOCKER_LOGS} = *"POLKADOT LAUNCH COMPLETE"* ]];then401 if [[ ${DOCKER_LOGS} = *"POLKADOT LAUNCH COMPLETE"* ]];then378 echo "π POLKADOT LAUNCH COMPLETE π"402 echo "π POLKADOT LAUNCH COMPLETE π"379 return 0403 return 0380 else404 else381 echo "Message not found in logs output, repeating..."405 echo "Message not found in logs output, repeating..."382 return 1406 return 1383 fi407 fi384 else408 else385 echo "Container xcm-${{ matrix.network }}-testnet-local NOT RUNNING"409 echo "Container xcm-${{ matrix.network }}-local NOT RUNNING"386 echo "Halting all future checks"410 echo "Halting all future checks"387 exit 1411 exit 1388 fi412 fi389 echo "something goes wrong"413 echo "something goes wrong"390 exit 1414 exit 1391 }415 }392 while ! is_started; do416 while ! is_started; do393 echo "Waiting for special message in log files "417 echo "Waiting for special message in log files "394 sleep 30s418 sleep 30s395 counter=$(( $counter - 1 ))419 counter=$(( $counter - 1 ))396 echo "Counter: $counter"420 echo "Counter: $counter"397 if [ "$counter" -gt "0" ]; then421 if [ "$counter" -gt "0" ]; then398 continue422 continue399 else423 else400 break424 break401 fi425 fi402 done426 done403 echo "Halting script"427 echo "Halting script"404 exit 0428 exit 0405 shell: bash429 shell: bash406430407 - name: Run XCM tests 431 - name: Run XCM tests 408 working-directory: tests432 working-directory: tests409 run: |433 run: |410 yarn install434 yarn install411 yarn add mochawesome435 yarn add mochawesome412 node scripts/readyness.js436 ./scripts/wait_for_first_block.sh413 echo "Ready to start tests"437 echo "Ready to start tests"414 yarn polkadot-types 438 yarn polkadot-types 415 NOW=$(date +%s) && yarn ${{ matrix.runtest }} --reporter mochawesome --reporter-options reportFilename=test-${NOW}439 NOW=$(date +%s) && yarn ${{ matrix.runtest }} --reporter mochawesome --reporter-options reportFilename=test-${NOW}416 env:440 env:417 RPC_URL: http://127.0.0.1:9933/441 RPC_URL: http://127.0.0.1:9933/418442419 - name: XCM Test Report443 - name: XCM Test Report420 uses: phoenix-actions/test-reporting@v8444 uses: phoenix-actions/test-reporting@v10421 id: test-report445 id: test-report422 if: success() || failure() # run this step even if previous step failed446 if: success() || failure() # run this step even if previous step failed423 with:447 with:428452429 - name: Show container logs453 - name: Show container logs430 if: always() # run this step always454 if: always() # run this step always431 run: docker-compose -f ".docker/docker-compose.xcm-tests.${{ matrix.network }}.yml" logs455 run: docker-compose -f ".docker/docker-compose.xcm.${{ matrix.network }}.yml" logs432456433 - name: Stop running containers457 - name: Stop running containers434 if: always() # run this step always458 if: always() # run this step always435 run: docker-compose -f ".docker/docker-compose.xcm-tests.${{ matrix.network }}.yml" down459 run: docker-compose -f ".docker/docker-compose.xcm.${{ matrix.network }}.yml" down436460437 - name: Clean Workspace461 - name: Clean Workspace438 if: always()462 if: always().github/workflows/yarn-dev.ymldiffbeforeafterboth--- a/.github/workflows/yarn-dev.yml
+++ b/.github/workflows/yarn-dev.yml
@@ -34,7 +34,7 @@
uses: AutoModality/action-clean@v1.1.0
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v3.1.0
with:
ref: ${{ github.head_ref }} #Checking out head commit
@@ -57,7 +57,7 @@
- name: Build the stack
run: docker-compose -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --remove-orphans
- - uses: actions/setup-node@v3
+ - uses: actions/setup-node@v3.5.1
with:
node-version: 16
@@ -66,7 +66,7 @@
run: |
yarn install
yarn add mochawesome
- node scripts/readyness.js
+ ./scripts/wait_for_first_block.sh
echo "Ready to start tests"
yarn polkadot-types
NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}
@@ -74,7 +74,7 @@
RPC_URL: http://127.0.0.1:9933/
- name: Test Report
- uses: phoenix-actions/test-reporting@v8
+ uses: phoenix-actions/test-reporting@v10
id: test-report
if: success() || failure() # run this step even if previous step failed
with:
@@ -97,3 +97,20 @@
docker builder prune -f -a
docker system prune -f
docker image prune -f -a
+
+ # check:
+ # if: always()
+ # runs-on: [self-hosted-ci]
+ # needs:
+ # - dev_build_int_tests
+
+ # steps:
+ # - name: Install python3
+ # uses: actions/setup-python@v4
+ # with:
+ # python-version: '3.10'
+
+ # - name: Decide whether the needed jobs succeeded or failed
+ # uses: re-actors/alls-green@v1.2.2
+ # with:
+ # jobs: ${{ toJSON(needs) }}
\ No newline at end of file