git.delta.rocks / unique-network / refs/commits / b60949062fe8

difftreelog

fix forkless build and tests workflow steps

Konstantin Astakhov2023-01-25parent: #0d7ef96.patch.diff
in: master

9 files changed

deleted.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
deleted.docker/Dockerfile-parachain-upgrade-datadiffbeforeafterboth
--- a/.docker/Dockerfile-parachain-upgrade-data
+++ /dev/null
@@ -1,87 +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 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
deleted.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
deleted.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"
deleted.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"
added.docker/docker-compose.xcm.j2diffbeforeafterboth
--- /dev/null
+++ b/.docker/docker-compose.xcm.j2
@@ -0,0 +1,22 @@
+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
+    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
+
+
modified.github/workflows/forkless-update-data.ymldiffbeforeafterboth
--- a/.github/workflows/forkless-update-data.yml
+++ b/.github/workflows/forkless-update-data.yml
@@ -46,12 +46,12 @@
     runs-on: [self-hosted-ci,large]
     timeout-minutes: 1380
 
-    name: ${{ matrix.network }}-data
+    name: ${{ matrix.network }}-data-build
     strategy:
       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.
+    continue-on-error: false         #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
@@ -262,7 +262,7 @@
 
       - 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
modified.github/workflows/forkless-update-nodata.ymldiffbeforeafterboth
before · .github/workflows/forkless-update-nodata.yml
1# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586837021/Forkless+update+without+data2# Forkless update without data replication34# Triger: only call from main workflow(re-usable workflows)5on:6  workflow_call:789# A workflow run is made up of one or more jobs that can run sequentially or in parallel10jobs:11  prepare-execution-marix:1213    name: Prepare execution matrix1415    runs-on: self-hosted-ci16    outputs:17      matrix: ${{ steps.create_matrix.outputs.matrix }}1819    steps:2021      - name: Clean Workspace22        uses: AutoModality/action-clean@v1.1.02324      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it25      - uses: actions/checkout@v3.1.026        with:27          ref: ${{ github.head_ref }}  #Checking out head commit2829      - name: Read .env file30        uses: xom9ikk/dotenv@v23132      - name: Create Execution matrix33        uses: CertainLach/create-matrix-action@v434        id: create_matrix35        with:36          matrix: |37            network {quartz}, wasm_name {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}38            network {unique}, wasm_name {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}39            network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}40            network {sapphire}, wasm_name {quartz}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}414243  forkless-nodata-build:44    needs: prepare-execution-marix45    # The type of runner that the job will run on46    runs-on: [self-hosted-ci,large]4748    timeout-minutes: 13804950    name: ${{ matrix.network }}-nodata5152    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.5354    strategy:55      matrix:56        include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}5758    steps:59      - name: Clean Workspace60        uses: AutoModality/action-clean@v1.1.06162      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it63      - uses: actions/checkout@v3.1.064        with:65          ref: ${{ github.head_ref }}  #Checking out head commit6667      - name: Read .env file68        uses: xom9ikk/dotenv@v26970      # Prepare SHA  71      - name: Prepare SHA72        uses: ./.github/actions/prepare7374      - name: Log in to Docker Hub75        uses: docker/login-action@v2.1.076        with:77          username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}78          password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}7980      # Build main image for FORKLESS-UPDATE-NODATA81      - name: Generate ENV related extend Dockerfile file82        uses: cuchi/jinja2-action@v1.2.083        with:84          template: .docker/Dockerfile-parachain-upgrade.j285          output_file: .docker/Dockerfile-parachain-upgrade.${{ matrix.network }}.yml86          variables: |87            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}88            NETWORK=${{ matrix.network }}89            MAINNET_BRANCH=${{ matrix.mainnet_branch }}90            WASM_NAME=${{ matrix.wasm_name }}91            POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}92            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}9394      - name: Show build Dockerfile95        run: cat .docker/Dockerfile-parachain-upgrade.${{ matrix.network }}.yml9697      - name: Generate launch-config-forkless-nodata.json98        uses: cuchi/jinja2-action@v1.2.099        with:100          template: .docker/forkless-config/launch-config-forkless-nodata.j2101          output_file: .docker/forkless-config/launch-config-forkless-nodata.json102          variables: |103            WASM_NAME=${{ matrix.wasm_name }}104            RELAY_CHAIN_TYPE=${{ env.RELAY_CHAIN_TYPE }}105106      - name: Show launch-config-forkless configuration107        run: cat .docker/forkless-config/launch-config-forkless-nodata.json108109      - name: Run find-and-replace to remove slashes from branch name110        uses: mad9000/actions-find-and-replace-string@3111        id: branchname112        with:113          source: ${{ github.head_ref }}114          find: '/'115          replace: '-'116117      - name: Set build SHA118        shell: bash119        run: |120          echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV121122      - name: Build the stack123        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 ../124125      - name: Push docker image version126        run: docker push uniquenetwork/ci-forkless-nodata-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 -f133134135  forkless-nodata-tests:136    needs: [prepare-execution-marix, forkless-nodata-build]137    # The type of runner that the job will run on138    runs-on: [self-hosted-ci, large]139140    timeout-minutes: 600141142    name: ${{ matrix.network }}-nodata-tests143144    continue-on-error: false         #Do not stop testing of matrix runs failed.  As it decided during PR review - it required 50/50& Let's check it with false.145146    strategy:147      matrix:148        include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}149150    steps:151      - name: Skip if pull request is in Draft152        if: github.event.pull_request.draft == true153        run: exit 1154155      - name: Clean Workspace156        uses: AutoModality/action-clean@v1.1.0157158      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it159      - uses: actions/checkout@v3.1.0160        with:161          ref: ${{ github.head_ref }}  #Checking out head commit162163      - name: Prepare164        uses: ./.github/actions/prepare165166      - name: Set build SHA167        shell: bash168        run: |169          echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV170171      - name: Run find-and-replace to remove slashes from branch name172        uses: mad9000/actions-find-and-replace-string@2173        id: branchname174        with:175          source: ${{ github.head_ref }}176          find: '/'177          replace: '-'178179      - name: Read .env file180        uses: xom9ikk/dotenv@v2181182      - name: Generate ENV related extend file for docker-compose183        uses: cuchi/jinja2-action@v1.2.0184        with:185          template: .docker/docker-compose.forkless-nodata.j2186          output_file: .docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml187          variables: |188            NETWORK=${{ matrix.network }}189            BUILD_TAG=${{ steps.branchname.outputs.value }}-$BUILD_SHA190191      - name: Show build configuration192        run: cat .docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml193194      - name: Log in to Docker Hub195        uses: docker/login-action@v2.1.0196        with:197          username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}198          password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}199200      - name: Build the stack201        run: docker-compose -f ".docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 300202203      - uses: actions/setup-node@v3.5.1204        with:205          node-version: 16206207      - name: Check if docker logs consist logs related to Runtime Upgrade testing.208        if: success()209        run: |210          counter=160211          function check_container_status {212                docker inspect -f {{.State.Running}} forkless-nodata213          }214          function do_docker_logs {215                docker logs --details forkless-nodata  2>&1216          }217          function is_started {218                if [ "$(check_container_status)" == "true" ]; then219                        echo "Container: forkless-nodata RUNNING";220                        echo "Check Docker logs"221                        DOCKER_LOGS=$(do_docker_logs)222                        if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then223                                echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"224                                return 0225                        elif [[ ${DOCKER_LOGS} = *"🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"* ]];then226                                echo "🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"227                                return 1228                        else229                                echo "Message not found in logs output, repeating..."230                                return 1231                        fi232                else233                        echo "Container forkless-nodata not RUNNING"234                        echo "Halting all future checks"235                        exit 1236                fi237          exit 0238          }239          while ! is_started; do240                echo "Waiting for special message in log files "241                sleep 30s242                counter=$(( $counter - 1 ))243                echo "Counter: $counter"244                if [ "$counter" -gt "0" ]; then245                         continue246                else247                         break248                fi249          done250          echo "Halting script"251          exit 0252        shell: bash253254      - name: Collect Docker Logs255        if: success() || failure()256        uses: jwalton/gh-docker-logs@v2.2.1257        with:258          dest: './forkless-parachain-upgrade-nodata-logs.${{ matrix.network }}'259260      - name: Show docker logs261        if: success() || failure()262        run: cat './forkless-parachain-upgrade-nodata-logs.${{ matrix.network }}/forkless-nodata.log'263264      - name: Run Parallel tests265        working-directory: tests266        run: |267          yarn install268          yarn add mochawesome269          ./scripts/wait_for_first_block.sh270          echo "Ready to start tests"271          yarn polkadot-types272          NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}273        env:274          RPC_URL: http://127.0.0.1:9933/275276      - name: Test Report Parallel277        uses: phoenix-actions/test-reporting@v10278        id: test-report-parallel279        if: success() || failure()    # run this step even if previous step failed280        with:281          name: Report Parallel tests results - ${{ matrix.network }}            # Name of the check run which will be created282          path: tests/mochawesome-report/test-parallel-*.json    # Path to test results283          reporter: mochawesome-json284          fail-on-error: 'false'285286      - name: Run Sequential tests287        working-directory: tests288        if: success() || failure()289        run: |290          yarn install291          yarn add mochawesome292          ./scripts/wait_for_first_block.sh293          echo "Ready to start tests"294          yarn polkadot-types295          NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}296        env:297          RPC_URL: http://127.0.0.1:9933/298299      - name: Test Report Sequential300        uses: phoenix-actions/test-reporting@v10301        id: test-report-sequential302        if: success() || failure()    # run this step even if previous step failed303        with:304          name: Report Sequential tests results - ${{ matrix.network }}            # Name of the check run which will be created305          path: tests/mochawesome-report/test-sequential-*.json    # Path to test results306          reporter: mochawesome-json307          fail-on-error: 'false'308309      - name: Stop running containers310        if: always()                   # run this step always311        run: docker-compose -f ".docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml" down312313      - name: Remove builder cache314        if: always()                   # run this step always315        run: |316          docker builder prune -f -a317          docker system prune -f318          docker image prune -f -a
after · .github/workflows/forkless-update-nodata.yml
1# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586837021/Forkless+update+without+data2# Forkless update without data replication34# Triger: only call from main workflow(re-usable workflows)5on:6  workflow_call:789# A workflow run is made up of one or more jobs that can run sequentially or in parallel10jobs:11  prepare-execution-marix:1213    name: Prepare execution matrix1415    runs-on: self-hosted-ci16    outputs:17      matrix: ${{ steps.create_matrix.outputs.matrix }}1819    steps:2021      - name: Clean Workspace22        uses: AutoModality/action-clean@v1.1.02324      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it25      - uses: actions/checkout@v3.1.026        with:27          ref: ${{ github.head_ref }}  #Checking out head commit2829      - name: Read .env file30        uses: xom9ikk/dotenv@v23132      - name: Create Execution matrix33        uses: CertainLach/create-matrix-action@v434        id: create_matrix35        with:36          matrix: |37            network {quartz}, wasm_name {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}38            network {unique}, wasm_name {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}39            network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}40            network {sapphire}, wasm_name {quartz}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}414243  forkless-nodata-build:44    needs: prepare-execution-marix45    # The type of runner that the job will run on46    runs-on: [self-hosted-ci,large]4748    timeout-minutes: 13804950    name: ${{ matrix.network }}-nodata-build5152    continue-on-error: false         #Do not stop testing of matrix runs failed.  As it decided during PR review - it required 50/50& Let's check it with false.5354    strategy:55      matrix:56        include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}5758    steps:59      - name: Clean Workspace60        uses: AutoModality/action-clean@v1.1.06162      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it63      - uses: actions/checkout@v3.1.064        with:65          ref: ${{ github.head_ref }}  #Checking out head commit6667      - name: Read .env file68        uses: xom9ikk/dotenv@v26970      # Prepare SHA  71      - name: Prepare SHA72        uses: ./.github/actions/prepare7374      - name: Log in to Docker Hub75        uses: docker/login-action@v2.1.076        with:77          username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}78          password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}7980      # Build main image for FORKLESS-UPDATE-NODATA81      - name: Generate ENV related extend Dockerfile file82        uses: cuchi/jinja2-action@v1.2.083        with:84          template: .docker/Dockerfile-parachain-upgrade.j285          output_file: .docker/Dockerfile-parachain-upgrade.${{ matrix.network }}.yml86          variables: |87            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}88            NETWORK=${{ matrix.network }}89            MAINNET_BRANCH=${{ matrix.mainnet_branch }}90            WASM_NAME=${{ matrix.wasm_name }}91            POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}92            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}9394      - name: Show build Dockerfile95        run: cat .docker/Dockerfile-parachain-upgrade.${{ matrix.network }}.yml9697      - name: Generate launch-config-forkless-nodata.json98        uses: cuchi/jinja2-action@v1.2.099        with:100          template: .docker/forkless-config/launch-config-forkless-nodata.j2101          output_file: .docker/forkless-config/launch-config-forkless-nodata.json102          variables: |103            WASM_NAME=${{ matrix.wasm_name }}104            RELAY_CHAIN_TYPE=${{ env.RELAY_CHAIN_TYPE }}105106      - name: Show launch-config-forkless configuration107        run: cat .docker/forkless-config/launch-config-forkless-nodata.json108109      - name: Run find-and-replace to remove slashes from branch name110        uses: mad9000/actions-find-and-replace-string@3111        id: branchname112        with:113          source: ${{ github.head_ref }}114          find: '/'115          replace: '-'116117      - name: Set build SHA118        shell: bash119        run: |120          echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV121122      - name: Build the stack123        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 ../124125      - name: Push docker image version126        run: docker push uniquenetwork/ci-forkless-nodata-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 -f133134135  forkless-nodata-tests:136    needs: [prepare-execution-marix, forkless-nodata-build]137    # The type of runner that the job will run on138    runs-on: [self-hosted-ci, large]139140    timeout-minutes: 600141142    name: ${{ matrix.network }}-nodata-tests143144    continue-on-error: false         #Do not stop testing of matrix runs failed.  As it decided during PR review - it required 50/50& Let's check it with false.145146    strategy:147      matrix:148        include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}149150    steps:151      - name: Skip if pull request is in Draft152        if: github.event.pull_request.draft == true153        run: exit 1154155      - name: Clean Workspace156        uses: AutoModality/action-clean@v1.1.0157158      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it159      - uses: actions/checkout@v3.1.0160        with:161          ref: ${{ github.head_ref }}  #Checking out head commit162163      - name: Prepare164        uses: ./.github/actions/prepare165166      - name: Set build SHA167        shell: bash168        run: |169          echo "BUILD_SHA=${LAST_COMMIT_SHA:0:8}" >> $GITHUB_ENV170171      - name: Run find-and-replace to remove slashes from branch name172        uses: mad9000/actions-find-and-replace-string@2173        id: branchname174        with:175          source: ${{ github.head_ref }}176          find: '/'177          replace: '-'178179      - name: Read .env file180        uses: xom9ikk/dotenv@v2181182      - name: Generate ENV related extend file for docker-compose183        uses: cuchi/jinja2-action@v1.2.0184        with:185          template: .docker/docker-compose.forkless-nodata.j2186          output_file: .docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml187          variables: |188            NETWORK=${{ matrix.network }}189            BUILD_TAG=${{ steps.branchname.outputs.value }}-$BUILD_SHA190191      - name: Show build configuration192        run: cat .docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml193194      - name: Log in to Docker Hub195        uses: docker/login-action@v2.1.0196        with:197          username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}198          password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}199200      - name: Build the stack201        run: docker-compose -f ".docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml" up -d --remove-orphans --force-recreate --timeout 300202203      - uses: actions/setup-node@v3.5.1204        with:205          node-version: 16206207      - name: Check if docker logs consist logs related to Runtime Upgrade testing.208        if: success()209        run: |210          counter=160211          function check_container_status {212                docker inspect -f {{.State.Running}} forkless-nodata213          }214          function do_docker_logs {215                docker logs --details forkless-nodata  2>&1216          }217          function is_started {218                if [ "$(check_container_status)" == "true" ]; then219                        echo "Container: forkless-nodata RUNNING";220                        echo "Check Docker logs"221                        DOCKER_LOGS=$(do_docker_logs)222                        if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then223                                echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"224                                return 0225                        elif [[ ${DOCKER_LOGS} = *"🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"* ]];then226                                echo "🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"227                                return 1228                        else229                                echo "Message not found in logs output, repeating..."230                                return 1231                        fi232                else233                        echo "Container forkless-nodata not RUNNING"234                        echo "Halting all future checks"235                        exit 1236                fi237          exit 0238          }239          while ! is_started; do240                echo "Waiting for special message in log files "241                sleep 30s242                counter=$(( $counter - 1 ))243                echo "Counter: $counter"244                if [ "$counter" -gt "0" ]; then245                         continue246                else247                         break248                fi249          done250          echo "Halting script"251          exit 0252        shell: bash253254      - name: Collect Docker Logs255        if: success() || failure()256        uses: jwalton/gh-docker-logs@v2.2.1257        with:258          dest: './forkless-parachain-upgrade-nodata-logs.${{ matrix.network }}'259260      - name: Show docker logs261        if: success() || failure()262        run: cat './forkless-parachain-upgrade-nodata-logs.${{ matrix.network }}/forkless-nodata.log'263264      - name: Run Parallel tests265        working-directory: tests266        run: |267          yarn install268          yarn add mochawesome269          ./scripts/wait_for_first_block.sh270          echo "Ready to start tests"271          yarn polkadot-types272          NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}273        env:274          RPC_URL: http://127.0.0.1:9933/275276      - name: Test Report Parallel277        uses: phoenix-actions/test-reporting@v10278        id: test-report-parallel279        if: success() || failure()    # run this step even if previous step failed280        with:281          name: Report Parallel tests results - ${{ matrix.network }}            # Name of the check run which will be created282          path: tests/mochawesome-report/test-parallel-*.json    # Path to test results283          reporter: mochawesome-json284          fail-on-error: 'false'285286      - name: Run Sequential tests287        working-directory: tests288        if: success() || failure()289        run: |290          yarn install291          yarn add mochawesome292          ./scripts/wait_for_first_block.sh293          echo "Ready to start tests"294          yarn polkadot-types295          NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}296        env:297          RPC_URL: http://127.0.0.1:9933/298299      - name: Test Report Sequential300        uses: phoenix-actions/test-reporting@v10301        id: test-report-sequential302        if: success() || failure()    # run this step even if previous step failed303        with:304          name: Report Sequential tests results - ${{ matrix.network }}            # Name of the check run which will be created305          path: tests/mochawesome-report/test-sequential-*.json    # Path to test results306          reporter: mochawesome-json307          fail-on-error: 'false'308309      - name: Stop running containers310        if: always()                   # run this step always311        run: docker-compose -f ".docker/docker-compose.forkless-nodata.${{ matrix.network }}.yml" down312313      - name: Remove builder cache314        if: always()                   # run this step always315        run: |316          docker builder prune -f -a317          docker system prune -f318          docker image prune -f -a
modified.github/workflows/try-runtime.ymldiffbeforeafterboth
--- a/.github/workflows/try-runtime.yml
+++ b/.github/workflows/try-runtime.yml
@@ -34,16 +34,16 @@
         with:
           matrix: |
             network {opal}, wasm_name {opal}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}
-#            network {sapphire}, wasm_name {quartz}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}
-#            network {quartz}, wasm_name {quartz}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}
-#            network {unique}, wasm_name {unique}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}
+            network {sapphire}, wasm_name {quartz}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}
+            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-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.
+    continue-on-error: false         #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-build
     strategy: