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.ymldiffbeforeafterboth9# A workflow run is made up of one or more jobs that can run sequentially or in parallel9# A workflow run is made up of one or more jobs that can run sequentially or in parallel10jobs:10jobs:111112 execution-marix:12 prepare-execution-marix:131314 name: Prepare execution matrix14 name: Prepare execution matrix151523 uses: AutoModality/action-clean@v1.1.023 uses: AutoModality/action-clean@v1.1.0242425 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it25 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it26 - uses: actions/checkout@v326 - uses: actions/checkout@v3.1.027 with:27 with:28 ref: ${{ github.head_ref }} #Checking out head commit28 ref: ${{ github.head_ref }} #Checking out head commit292930 - name: Read .env file30 - name: Read .env file31 uses: xom9ikk/dotenv@v231 uses: xom9ikk/dotenv@v2323233 - name: Create Execution matrix33 - name: Create Execution matrix34 uses: CertainLach/create-matrix-action@v334 uses: CertainLach/create-matrix-action@v435 id: create_matrix35 id: create_matrix36 with:36 with:37 matrix: |37 matrix: |40 network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}40 network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}41 network {sapphire}, wasm_name {quartz}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}41 network {sapphire}, wasm_name {quartz}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}4243 forkless-data-build:44 needs: prepare-execution-marix45 # The type of runner that the job will run on46 runs-on: [self-hosted-ci,large]47 timeout-minutes: 13804849 name: ${{ matrix.network }}-data-build50 strategy:51 matrix:52 include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}5354 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.5556 steps:57 - name: Clean Workspace58 uses: AutoModality/action-clean@v1.1.05960 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it61 - uses: actions/checkout@v3.1.062 with:63 ref: ${{ github.head_ref }} #Checking out head commit6465 - name: Read .env file66 uses: xom9ikk/dotenv@v26768 # Prepare SHA 69 - name: Prepare SHA70 uses: ./.github/actions/prepare7172 # Build main image for FORKLESS-UPDATE-NODATA73 - name: Generate ENV related extend Dockerfile file74 uses: cuchi/jinja2-action@v1.2.075 with:76 template: .docker/Dockerfile-parachain-upgrade-data.j277 output_file: .docker/Dockerfile-parachain-upgrade-data.${{ matrix.network }}.yml78 variables: |79 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}80 NETWORK=${{ matrix.network }}81 MAINNET_BRANCH=${{ matrix.mainnet_branch }}82 WASM_NAME=${{ matrix.wasm_name }}83 POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}84 POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}85 REPLICA_FROM=${{ matrix.replica_from_address }}8687 - name: Show build configuration88 run: cat .docker/Dockerfile-parachain-upgrade-data.${{ matrix.network }}.yml8990 - name: Generate launch-config-forkless-data.json91 uses: cuchi/jinja2-action@v1.2.092 with:93 template: .docker/forkless-config/launch-config-forkless-data.j294 output_file: .docker/forkless-config/launch-config-forkless-data.json95 variables: |96 WASM_NAME=${{ matrix.wasm_name }}97 RELAY_CHAIN_TYPE=${{ env.RELAY_CHAIN_TYPE }}98 REPLICA_FROM=${{ matrix.replica_from_address }} 99100 - name: Show launch-config-forkless configuration101 run: cat .docker/forkless-config/launch-config-forkless-data.json102103 - name: Run find-and-replace to remove slashes from branch name104 uses: mad9000/actions-find-and-replace-string@4105 id: branchname106 with:107 source: ${{ github.head_ref }}108 find: '/'109 replace: '-'110111 - name: Set build SHA112 shell: bash113 run: |114 echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV115116 - name: Build the stack117 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 ../118119 - name: Log in to Docker Hub120 uses: docker/login-action@v2.1.0121 with:122 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}123 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}124125 - name: Push docker image version126 run: docker push uniquenetwork/ci-forkless-data-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA127128 - name: Remove builder cache129 if: always() # run this step always130 run: |131 docker builder prune -f132 docker system prune -f4213343 forkless-update-data:134 forkless-data-tests:44 needs: execution-marix135 needs: [prepare-execution-marix, forkless-data-build]45 # The type of runner that the job will run on136 # The type of runner that the job will run on46 runs-on: [self-hosted-ci,large]137 runs-on: [self-hosted-ci, large]13847 timeout-minutes: 1380139 timeout-minutes: 6004814049 name: ${{ matrix.network }}-data141 name: ${{ matrix.network }}-data-tests142143 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.14450 strategy:145 strategy:51 matrix:146 matrix:52 include: ${{fromJson(needs.execution-marix.outputs.matrix)}}147 include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}5354 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.5514856 steps:149 steps:150 - name: Skip if pull request is in Draft151 if: github.event.pull_request.draft == true152 run: exit 115357 - name: Clean Workspace154 - name: Clean Workspace58 uses: AutoModality/action-clean@v1.1.0155 uses: AutoModality/action-clean@v1.1.05915660 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it157 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it61 - uses: actions/checkout@v3158 - uses: actions/checkout@v3.1.062 with:159 with:63 ref: ${{ github.head_ref }} #Checking out head commit160 ref: ${{ github.head_ref }} #Checking out head commit161162 - name: Prepare163 uses: ./.github/actions/prepare164165 - name: Set build SHA166 shell: bash167 run: |168 echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV169170 - name: Run find-and-replace to remove slashes from branch name171 uses: mad9000/actions-find-and-replace-string@4172 id: branchname173 with:174 source: ${{ github.head_ref }}175 find: '/'176 replace: '-'6417765 - name: Read .env file178 - name: Read .env file66 uses: xom9ikk/dotenv@v2179 uses: xom9ikk/dotenv@v26718068 - name: Generate ENV related extend file for docker-compose181 - name: Generate ENV related extend file for docker-compose69 uses: cuchi/jinja2-action@v1.2.0182 uses: cuchi/jinja2-action@v1.2.070 with:183 with:71 template: .docker/docker-compose.tmp-forkless-data.j2184 template: .docker/docker-compose.forkless-data.j272 output_file: .docker/docker-compose-forkless-data.${{ matrix.network }}.yml185 output_file: .docker/docker-compose.forkless-data.${{ matrix.network }}.yml73 variables: |186 variables: |74 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git187 NETWORK=${{ matrix.network }}75 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}188 BUILD_TAG=${{ steps.branchname.outputs.value }}-$BUILD_SHA76 POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}77 POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}78 # POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}79 # MAINNET_TAG=${{ matrix.mainnet_tag }}80 MAINNET_BRANCH=${{ matrix.mainnet_branch }}81 NETWORK=${{ matrix.network }}82 # BRANCH=${{ github.head_ref }}83 REPLICA_FROM=${{ matrix.replica_from_address }}84 WASM_NAME=${{ matrix.wasm_name }}8518986 - name: Show build configuration190 - name: Show build configuration87 run: cat .docker/docker-compose-forkless-data.${{ matrix.network }}.yml191 run: cat .docker/docker-compose.forkless-data.${{ matrix.network }}.yml8819289 - name: Generate launch-config-forkless-data.json193 - name: Log in to Docker Hub90 uses: cuchi/jinja2-action@v1.2.0194 uses: docker/login-action@v2.1.091 with:195 with:92 template: .docker/forkless-config/launch-config-forkless-data.j2196 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}93 output_file: .docker/launch-config-forkless-data.json94 variables: |197 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}95 NETWORK=${{ matrix.network }}96 REPLICA_FROM=${{ matrix.replica_from_address }}97 WASM_NAME=${{ matrix.wasm_name}}98 RELAY_CHAIN_TYPE=${{ env.RELAY_CHAIN_TYPE }}99198100 - name: Show launch-config-forkless configuration199 - name: Build the stack101 run: cat .docker/launch-config-forkless-data.json200 run: docker-compose -f ".docker/docker-compose.forkless-data.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 300102201103 - name: Build the stack202 - uses: actions/setup-node@v3.5.1203 with:104 run: docker-compose -f ".docker/docker-compose-forkless-data.${{ matrix.network }}.yml" up -d --build --force-recreate --timeout 300204 node-version: 16105205106 - name: Check if docker logs consist logs related to Runtime Upgrade testing.206 - name: Check if docker logs consist logs related to Runtime Upgrade testing.107 if: success()207 if: success()108 run: |208 run: |109 counter=160209 counter=160110 function check_container_status {210 function check_container_status {111 docker inspect -f {{.State.Running}} node-parachain211 docker inspect -f {{.State.Running}} forkless-data112 }212 }113 function do_docker_logs {213 function do_docker_logs {114 docker logs --details node-parachain 2>&1214 docker logs --details forkless-data 2>&1115 }215 }116 function is_started {216 function is_started {117 if [ "$(check_container_status)" == "true" ]; then217 if [ "$(check_container_status)" == "true" ]; then118 echo "Container: node-parachain RUNNING";218 echo "Container: forkless-data RUNNING";119 echo "Check Docker logs"219 echo "Check Docker logs"120 DOCKER_LOGS=$(do_docker_logs)220 DOCKER_LOGS=$(do_docker_logs)121 if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then221 if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then122 echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"222 echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"123 return 0223 return 0124 elif [[ ${DOCKER_LOGS} = *"🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"* ]];then224 elif [[ ${DOCKER_LOGS} = *"🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"* ]];then125 echo "🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"225 echo "🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"126 return 1226 return 1127 else227 else128 echo "Message not found in logs output, repeating..."228 echo "Message not found in logs output, repeating..."129 return 1229 return 1130 fi230 fi131 else231 else132 echo "Container node-parachain not RUNNING"232 echo "Container forkless-data not RUNNING"133 echo "Halting all future checks"233 echo "Halting all future checks"134 exit 1234 exit 1135 fi235 fi136 exit 0236 exit 0137 }237 }138 while ! is_started; do238 while ! is_started; do139 echo "Waiting for special message in log files "239 echo "Waiting for special message in log files "140 sleep 30s240 sleep 30s141 counter=$(( $counter - 1 ))241 counter=$(( $counter - 1 ))142 echo "Counter: $counter"242 echo "Counter: $counter"143 if [ "$counter" -gt "0" ]; then243 if [ "$counter" -gt "0" ]; then144 continue244 continue145 else245 else146 break246 break147 fi247 fi148 done248 done149 echo "Halting script"249 echo "Halting script"150 exit 0250 exit 0151 shell: bash251 shell: bash152252153 - name: Collect Docker Logs253 - name: Collect Docker Logs154 if: success() || failure()254 if: success() || failure()155 uses: jwalton/gh-docker-logs@v2.2.0255 uses: jwalton/gh-docker-logs@v2.2.1156 with:256 with:157 dest: './forkless-parachain-upgrade-data-logs.${{ matrix.features }}'257 dest: './forkless-parachain-upgrade-data-logs.${{ matrix.features }}'158 images: 'node-parachain'159258160 - name: Show Docker logs259 - name: Show Docker logs161 if: success() || failure()260 if: success() || failure()162 run: cat './forkless-parachain-upgrade-data-logs.${{ matrix.features }}/node-parachain.log'261 run: cat './forkless-parachain-upgrade-data-logs.${{ matrix.features }}/forkless-data.log'163262164 - name: Stop running containers263 - name: Stop running containers165 if: always() # run this step always264 if: always() # run this step always166 run: docker-compose -f ".docker/docker-compose-forkless-data.${{ matrix.network }}.yml" down --volumes265 run: docker-compose -f ".docker/docker-compose.forkless-data.${{ matrix.network }}.yml" down --volumes167266168 - name: Remove builder cache267 - name: Remove builder cache169 if: always() # run this step always268 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.ymldiffbeforeafterboth--- a/.github/workflows/xcm.yml
+++ b/.github/workflows/xcm.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: |
@@ -69,22 +69,23 @@
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: 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 }}
- - name: Install jq
- run: sudo apt install jq -y
-
# Check POLKADOT version and build it if it doesn't exist in repository
- name: Generate ENV related extend Dockerfile file for POLKADOT
uses: cuchi/jinja2-action@v1.2.0
@@ -216,7 +217,6 @@
docker push uniquenetwork/builder-cumulus:${{ matrix.cumulus_version }}
fi
shell: bash
-
# Check ASTAR version and build it if it doesn't exist in repository
- name: Generate ENV related extend Dockerfile file for ASTAR
@@ -251,6 +251,8 @@
fi
shell: bash
+ - name: Pull chainql docker image
+ run: docker pull uniquenetwork/builder-chainql:latest
- name: Generate ENV related extend launch-config file
uses: cuchi/jinja2-action@v1.2.0
@@ -284,24 +286,23 @@
run: cat .docker/Dockerfile-xcm.${{ matrix.network }}.yml
- 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 }}
find: '/'
replace: '-'
- - name: Pull chainql docker image
- run: docker pull uniquenetwork/builder-chainql:latest
+ - 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-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 .
+ 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 .
- name: Push docker image version
- run: docker push uniquenetwork/xcm-${{ matrix.network }}-testnet-local:nightly-${{ steps.branchname.outputs.value }}-${{ github.sha }}
-
- - name: Push docker image latest
- run: docker push uniquenetwork/xcm-${{ matrix.network }}-testnet-local:latest
+ run: docker push uniquenetwork/ci-xcm-local:${{ matrix.network }}-${{ steps.branchname.outputs.value }}-$BUILD_SHA
- name: Remove builder cache
if: always() # run this step always
@@ -333,30 +334,53 @@
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: 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.tmp-xcm-tests.j2
- output_file: .docker/docker-compose.xcm-tests.${{ matrix.network }}.yml
+ template: .docker/docker-compose.xcm.j2
+ output_file: .docker/docker-compose.xcm.${{ matrix.network }}.yml
variables: |
NETWORK=${{ matrix.network }}
+ BUILD_TAG=${{ steps.branchname.outputs.value }}-$BUILD_SHA
- name: Show build configuration
- run: cat .docker/docker-compose.xcm-tests.${{ matrix.network }}.yml
+ run: cat .docker/docker-compose.xcm.${{ matrix.network }}.yml
- - uses: actions/setup-node@v3
+ - 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.xcm-tests.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 300
+ run: docker-compose -f ".docker/docker-compose.xcm.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 300
# 🚀 POLKADOT LAUNCH COMPLETE 🚀
- name: Check if docker logs consist messages related to testing of xcm tests
@@ -364,14 +388,14 @@
run: |
counter=160
function check_container_status {
- docker inspect -f {{.State.Running}} xcm-${{ matrix.network }}-testnet-local
+ docker inspect -f {{.State.Running}} xcm-${{ matrix.network }}-local
}
function do_docker_logs {
- docker logs --details xcm-${{ matrix.network }}-testnet-local 2>&1
+ docker logs --details xcm-${{ matrix.network }}-local 2>&1
}
function is_started {
if [ "$(check_container_status)" == "true" ]; then
- echo "Container: xcm-${{ matrix.network }}-testnet-local RUNNING";
+ echo "Container: xcm-${{ matrix.network }}-local RUNNING";
echo "Check Docker logs"
DOCKER_LOGS=$(do_docker_logs)
if [[ ${DOCKER_LOGS} = *"POLKADOT LAUNCH COMPLETE"* ]];then
@@ -382,7 +406,7 @@
return 1
fi
else
- echo "Container xcm-${{ matrix.network }}-testnet-local NOT RUNNING"
+ echo "Container xcm-${{ matrix.network }}-local NOT RUNNING"
echo "Halting all future checks"
exit 1
fi
@@ -409,7 +433,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 ${{ matrix.runtest }} --reporter mochawesome --reporter-options reportFilename=test-${NOW}
@@ -417,7 +441,7 @@
RPC_URL: http://127.0.0.1:9933/
- name: XCM 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:
@@ -428,11 +452,11 @@
- name: Show container logs
if: always() # run this step always
- run: docker-compose -f ".docker/docker-compose.xcm-tests.${{ matrix.network }}.yml" logs
+ run: docker-compose -f ".docker/docker-compose.xcm.${{ matrix.network }}.yml" logs
- name: Stop running containers
if: always() # run this step always
- run: docker-compose -f ".docker/docker-compose.xcm-tests.${{ matrix.network }}.yml" down
+ run: docker-compose -f ".docker/docker-compose.xcm.${{ matrix.network }}.yml" down
- name: Clean Workspace
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