git.delta.rocks / unique-network / refs/commits / 4176e4ddae02

difftreelog

Merge branch 'develop' into feature/collator-selection

Fahrrader2022-12-28parents: #65e077c #3c2e49b.patch.diff
in: master

17 files changed

modified.docker/Dockerfile-parachain-node-onlydiffbeforeafterboth
--- a/.docker/Dockerfile-parachain-node-only
+++ b/.docker/Dockerfile-parachain-node-only
@@ -61,6 +61,7 @@
 
 ARG NETWORK
 ARG POLKADOT_LAUNCH_BRANCH
+ARG WASM_NAME
 
 RUN apt-get -y update && \
     apt-get -y install curl git && \
@@ -82,7 +83,7 @@
 
 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/"$NETWORK"-runtime/"$NETWORK"_runtime.compact.compressed.wasm /unique-chain/target/release/wbuild/"$NETWORK"-runtime/"$NETWORK"_runtime.compact.compressed.wasm
+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
modified.docker/Dockerfile-parachain-upgradediffbeforeafterboth
--- a/.docker/Dockerfile-parachain-upgrade
+++ b/.docker/Dockerfile-parachain-upgrade
@@ -59,6 +59,7 @@
 
 ARG NETWORK
 ARG POLKADOT_LAUNCH_BRANCH
+ARG WASM_NAME
 
 RUN apt-get -y update && \
     apt-get -y install curl git && \
@@ -80,7 +81,7 @@
 
 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/"$NETWORK"-runtime/"$NETWORK"_runtime.compact.compressed.wasm /unique-chain/target/release/wbuild/"$NETWORK"-runtime/"$NETWORK"_runtime.compact.compressed.wasm
+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
modified.docker/Dockerfile-parachain-upgrade-datadiffbeforeafterboth
--- a/.docker/Dockerfile-parachain-upgrade-data
+++ b/.docker/Dockerfile-parachain-upgrade-data
@@ -63,6 +63,7 @@
 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 && \
@@ -85,7 +86,7 @@
 
 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/"$NETWORK"-runtime/"$NETWORK"_runtime.compact.compressed.wasm /unique-chain/target/release/wbuild/"$NETWORK"-runtime/"$NETWORK"_runtime.compact.compressed.wasm
+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/
 
modified.docker/Dockerfile-try-runtimediffbeforeafterboth
--- a/.docker/Dockerfile-try-runtime
+++ b/.docker/Dockerfile-try-runtime
@@ -35,8 +35,10 @@
 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
@@ -46,4 +48,4 @@
     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/${NETWORK}-runtime/${NETWORK}_runtime.compact.compressed.wasm -lruntime=debug -ltry-runtime::cli=debug on-runtime-upgrade --checks live --uri $REPLICA_FROM
+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
modified.docker/docker-compose.tmp-forkless-data.j2diffbeforeafterboth
--- a/.docker/docker-compose.tmp-forkless-data.j2
+++ b/.docker/docker-compose.tmp-forkless-data.j2
@@ -13,6 +13,7 @@
         - "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
modified.docker/docker-compose.tmp-forkless-nodata.j2diffbeforeafterboth
--- a/.docker/docker-compose.tmp-forkless-nodata.j2
+++ b/.docker/docker-compose.tmp-forkless-nodata.j2
@@ -12,6 +12,7 @@
         - "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
modified.docker/docker-compose.tmp-node.j2diffbeforeafterboth
--- a/.docker/docker-compose.tmp-node.j2
+++ b/.docker/docker-compose.tmp-node.j2
@@ -12,6 +12,7 @@
         - "POLKADOT_LAUNCH_BRANCH={{ POLKADOT_LAUNCH_BRANCH }}"        
         - "MAINNET_TAG={{ MAINNET_TAG }}"
         - "MAINNET_BRANCH={{ MAINNET_BRANCH }}"
+        - "WASM_NAME={{ WASM_NAME }}"
       context: ../
       dockerfile: .docker/Dockerfile-parachain-node-only
     image: node-parachain
modified.docker/docker-compose.tmp-try-runtime.j2diffbeforeafterboth
--- a/.docker/docker-compose.tmp-try-runtime.j2
+++ b/.docker/docker-compose.tmp-try-runtime.j2
@@ -8,7 +8,8 @@
       args:
         - "RUST_TOOLCHAIN={{ RUST_TOOLCHAIN }}"
         - "NETWORK={{ NETWORK }}"
-        - "REPLICA_FROM={{ REPLICA_FROM }}"      
+        - "REPLICA_FROM={{ REPLICA_FROM }}"
+        - "WASM_NAME={{ WASM_NAME }}"      
     image: try-runtime
     container_name: try-runtime
     expose:
modified.docker/forkless-config/launch-config-forkless-data.j2diffbeforeafterboth
--- a/.docker/forkless-config/launch-config-forkless-data.j2
+++ b/.docker/forkless-config/launch-config-forkless-data.j2
@@ -88,7 +88,7 @@
         {
             "bin": "/unique-chain/current/release/unique-collator",
             "upgradeBin": "/unique-chain/target/release/unique-collator",
-            "upgradeWasm": "/unique-chain/target/release/wbuild/{{ NETWORK }}-runtime/{{ NETWORK }}_runtime.compact.compressed.wasm",
+            "upgradeWasm": "/unique-chain/target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm",
             "id": "1000",
             "balance": "1000000000000000000000000",
             "chainRawInitializer": [
modified.docker/forkless-config/launch-config-forkless-nodata.j2diffbeforeafterboth
--- a/.docker/forkless-config/launch-config-forkless-nodata.j2
+++ b/.docker/forkless-config/launch-config-forkless-nodata.j2
@@ -88,7 +88,7 @@
         {
             "bin": "/unique-chain/current/release/unique-collator",
             "upgradeBin": "/unique-chain/target/release/unique-collator",
-            "upgradeWasm": "/unique-chain/target/release/wbuild/{{ NETWORK }}-runtime/{{ NETWORK }}_runtime.compact.compressed.wasm",
+            "upgradeWasm": "/unique-chain/target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm",
             "id": "1000",
             "balance": "1000000000000000000000000",
             "nodes": [
modified.docker/forkless-config/launch-config-node-update-only-v3.j2diffbeforeafterboth
--- a/.docker/forkless-config/launch-config-node-update-only-v3.j2
+++ b/.docker/forkless-config/launch-config-node-update-only-v3.j2
@@ -88,7 +88,7 @@
         {
             "bin": "/unique-chain/current/release/unique-collator",
             "upgradeBin": "/unique-chain/target/release/unique-collator",
-            "upgradeWasm": "/unique-chain/target/release/wbuild/{{ NETWORK }}-runtime/{{ NETWORK }}_runtime.compact.compressed.wasm",
+            "upgradeWasm": "/unique-chain/target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm",
             "id": "1000",
             "balance": "1000000000000000000000000",
             "nodes": [
modified.github/workflows/forkless-update-data.ymldiffbeforeafterboth
before · .github/workflows/forkless-update-data.yml
1# Forkless update with data replication2# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586869792/Forkless+update+with+data34# 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:1112  execution-marix:1314    name: Prepare execution matrix1516    runs-on: self-hosted-ci17    outputs:18      matrix: ${{ steps.create_matrix.outputs.matrix }}1920    steps:2122      - name: Clean Workspace23        uses: AutoModality/action-clean@v1.1.02425      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it26      - uses: actions/checkout@v327        with:28          ref: ${{ github.head_ref }}  #Checking out head commit2930      - name: Read .env file31        uses: xom9ikk/dotenv@v23233      - name: Create Execution matrix34        uses: CertainLach/create-matrix-action@v335        id: create_matrix36        with:37          matrix: |38            network {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}39            network {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}40            network {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}41            network {sapphire}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}4243  forkless-update-data:44    needs: execution-marix45    # The type of runner that the job will run on46    runs-on: [self-hosted-ci,large]47    timeout-minutes: 138048    49    name: ${{ matrix.network }}-data50    strategy:51      matrix:52        include: ${{fromJson(needs.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@v362        with:63          ref: ${{ github.head_ref }}  #Checking out head commit6465      - name: Read .env file66        uses: xom9ikk/dotenv@v26768      - name: Generate ENV related extend file for docker-compose69        uses: cuchi/jinja2-action@v1.2.070        with:71          template: .docker/docker-compose.tmp-forkless-data.j272          output_file: .docker/docker-compose-forkless-data.${{ matrix.network }}.yml73          variables: |74            REPO_URL=${{ github.server_url }}/${{ github.repository }}.git75            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}76            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 }}8485      - name: Show build configuration86        run: cat .docker/docker-compose-forkless-data.${{ matrix.network }}.yml8788      - name: Generate launch-config-forkless-data.json89        uses: cuchi/jinja2-action@v1.2.090        with:91          template: .docker/forkless-config/launch-config-forkless-data.j292          output_file: .docker/launch-config-forkless-data.json93          variables: |94            NETWORK=${{ matrix.network }}95            REPLICA_FROM=${{ matrix.replica_from_address }}9697      - name: Show launch-config-forkless configuration98        run: cat .docker/launch-config-forkless-data.json99100      - name: Build the stack101        run: docker-compose -f ".docker/docker-compose-forkless-data.${{ matrix.network }}.yml" up -d --build  --force-recreate --timeout 300102103      - name: Check if docker logs consist logs related to Runtime Upgrade testing.104        if: success()105        run: |106          counter=160107          function check_container_status {108                docker inspect -f {{.State.Running}} node-parachain109          }110          function do_docker_logs {111                docker logs --details node-parachain  2>&1112          }113          function is_started {114                if [ "$(check_container_status)" == "true" ]; then115                        echo "Container: node-parachain RUNNING";116                        echo "Check Docker logs"117                        DOCKER_LOGS=$(do_docker_logs)118                        if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then119                                echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"120                                return 0121                        elif [[ ${DOCKER_LOGS} = *"🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"* ]];then122                                echo "🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"123                                return 1124                        else125                                echo "Message not found in logs output, repeating..."126                                return 1127                        fi128                else129                        echo "Container node-parachain not RUNNING"130                        echo "Halting all future checks"131                        exit 1132                fi133          exit 0134          }135          while ! is_started; do136                echo "Waiting for special message in log files "137                sleep 30s138                counter=$(( $counter - 1 ))139                echo "Counter: $counter"140                if [ "$counter" -gt "0" ]; then141                         continue142                else143                         break144                fi145          done146          echo "Halting script"147          exit 0148        shell: bash149150      - name: Collect Docker Logs151        if: success() || failure()152        uses: jwalton/gh-docker-logs@v2.2.0153        with:154          dest: './forkless-parachain-upgrade-data-logs.${{ matrix.features }}'155          images: 'node-parachain'156157      - name: Show Docker logs158        if: success() || failure()159        run: cat './forkless-parachain-upgrade-data-logs.${{ matrix.features }}/node-parachain.log'160161      - name: Stop running containers162        if: always()                   # run this step always163        run: docker-compose -f ".docker/docker-compose-forkless-data.${{ matrix.network }}.yml" down --volumes164        165      - name: Remove builder cache166        if: always()                   # run this step always167        run: |168          docker builder prune -f -a169          docker system prune -f170          docker image prune -f -a
after · .github/workflows/forkless-update-data.yml
1# Forkless update with data replication2# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586869792/Forkless+update+with+data34# 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:1112  execution-marix:1314    name: Prepare execution matrix1516    runs-on: self-hosted-ci17    outputs:18      matrix: ${{ steps.create_matrix.outputs.matrix }}1920    steps:2122      - name: Clean Workspace23        uses: AutoModality/action-clean@v1.1.02425      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it26      - uses: actions/checkout@v327        with:28          ref: ${{ github.head_ref }}  #Checking out head commit2930      - name: Read .env file31        uses: xom9ikk/dotenv@v23233      - name: Create Execution matrix34        uses: CertainLach/create-matrix-action@v335        id: create_matrix36        with:37          matrix: |38            network {quartz}, wasm_name {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}39            network {unique}, wasm_name {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}, relay_branch {${{ env.POLKADOT_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 {opal}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}4243  forkless-update-data:44    needs: execution-marix45    # The type of runner that the job will run on46    runs-on: [self-hosted-ci,large]47    timeout-minutes: 138048    49    name: ${{ matrix.network }}-data50    strategy:51      matrix:52        include: ${{fromJson(needs.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@v362        with:63          ref: ${{ github.head_ref }}  #Checking out head commit6465      - name: Read .env file66        uses: xom9ikk/dotenv@v26768      - name: Generate ENV related extend file for docker-compose69        uses: cuchi/jinja2-action@v1.2.070        with:71          template: .docker/docker-compose.tmp-forkless-data.j272          output_file: .docker/docker-compose-forkless-data.${{ matrix.network }}.yml73          variables: |74            REPO_URL=${{ github.server_url }}/${{ github.repository }}.git75            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}76            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 }}8586      - name: Show build configuration87        run: cat .docker/docker-compose-forkless-data.${{ matrix.network }}.yml8889      - name: Generate launch-config-forkless-data.json90        uses: cuchi/jinja2-action@v1.2.091        with:92          template: .docker/forkless-config/launch-config-forkless-data.j293          output_file: .docker/launch-config-forkless-data.json94          variables: |95            NETWORK=${{ matrix.network }}96            REPLICA_FROM=${{ matrix.replica_from_address }}97            WASM_NAME=${{ matrix.wasm_name}}9899      - name: Show launch-config-forkless configuration100        run: cat .docker/launch-config-forkless-data.json101102      - name: Build the stack103        run: docker-compose -f ".docker/docker-compose-forkless-data.${{ matrix.network }}.yml" up -d --build  --force-recreate --timeout 300104105      - name: Check if docker logs consist logs related to Runtime Upgrade testing.106        if: success()107        run: |108          counter=160109          function check_container_status {110                docker inspect -f {{.State.Running}} node-parachain111          }112          function do_docker_logs {113                docker logs --details node-parachain  2>&1114          }115          function is_started {116                if [ "$(check_container_status)" == "true" ]; then117                        echo "Container: node-parachain RUNNING";118                        echo "Check Docker logs"119                        DOCKER_LOGS=$(do_docker_logs)120                        if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then121                                echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"122                                return 0123                        elif [[ ${DOCKER_LOGS} = *"🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"* ]];then124                                echo "🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"125                                return 1126                        else127                                echo "Message not found in logs output, repeating..."128                                return 1129                        fi130                else131                        echo "Container node-parachain not RUNNING"132                        echo "Halting all future checks"133                        exit 1134                fi135          exit 0136          }137          while ! is_started; do138                echo "Waiting for special message in log files "139                sleep 30s140                counter=$(( $counter - 1 ))141                echo "Counter: $counter"142                if [ "$counter" -gt "0" ]; then143                         continue144                else145                         break146                fi147          done148          echo "Halting script"149          exit 0150        shell: bash151152      - name: Collect Docker Logs153        if: success() || failure()154        uses: jwalton/gh-docker-logs@v2.2.0155        with:156          dest: './forkless-parachain-upgrade-data-logs.${{ matrix.features }}'157          images: 'node-parachain'158159      - name: Show Docker logs160        if: success() || failure()161        run: cat './forkless-parachain-upgrade-data-logs.${{ matrix.features }}/node-parachain.log'162163      - name: Stop running containers164        if: always()                   # run this step always165        run: docker-compose -f ".docker/docker-compose-forkless-data.${{ matrix.network }}.yml" down --volumes166        167      - name: Remove builder cache168        if: always()                   # run this step always169        run: |170          docker builder prune -f -a171          docker system prune -f172          docker image prune -f -a
modified.github/workflows/forkless-update-nodata.ymldiffbeforeafterboth
--- a/.github/workflows/forkless-update-nodata.yml
+++ b/.github/workflows/forkless-update-nodata.yml
@@ -34,10 +34,10 @@
         id: create_matrix
         with:
           matrix: |
-            network {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}
-            network {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}
-            network {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}
-            network {sapphire}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
+            network {quartz}, wasm_name {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}
+            network {unique}, wasm_name {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}
+            network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}
+            network {sapphire}, wasm_name {opal}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
 
 
   forkless-update-nodata:
@@ -82,6 +82,7 @@
             MAINNET_BRANCH=${{ matrix.mainnet_branch }}
             NETWORK=${{ matrix.network }}
             # BRANCH=${{ github.head_ref }}
+            WASM_NAME=${{ matrix.wasm_name }}
 
       - name: Show build configuration
         run: cat .docker/docker-compose.${{ matrix.network }}.yml
@@ -93,6 +94,7 @@
           output_file: .docker/launch-config-forkless-nodata.json
           variables: |
             NETWORK=${{ matrix.network }}
+            WASM_NAME=${{ matrix.wasm_name }}
 
       - name: Show launch-config-forkless configuration
         run: cat .docker/launch-config-forkless-nodata.json
modified.github/workflows/integration-tests.ymldiffbeforeafterboth
--- a/.github/workflows/integration-tests.yml
+++ b/.github/workflows/integration-tests.yml
@@ -35,9 +35,10 @@
         id: create_matrix
         with:
           matrix: |
-            network {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}
-            network {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}
-            network {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}
+            network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}
+            network {sapphire}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}
+            network {quartz}, wasm_name {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}
+            network {unique}, wasm_name {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}
  
   parallel-test:
     needs: nodes-execution-matrix
@@ -82,6 +83,7 @@
             MAINNET_BRANCH=${{ matrix.mainnet_branch }}
             NETWORK=${{ matrix.network }}
             BRANCH=${{ github.head_ref }}
+            WASM_NAME=${{ matrix.wasm_name }}
             
       - name: Show build configuration
         run: cat .docker/docker-compose.node.${{ matrix.network }}.yml
@@ -230,6 +232,7 @@
             MAINNET_BRANCH=${{ matrix.mainnet_branch }}
             NETWORK=${{ matrix.network }}
             BRANCH=${{ github.head_ref }}
+            WASM_NAME=${{ matrix.wasm_name }}
             
       - name: Show build configuration
         run: cat .docker/docker-compose.node.${{ matrix.network }}.yml
modified.github/workflows/node-only-update.ymldiffbeforeafterboth
--- a/.github/workflows/node-only-update.yml
+++ b/.github/workflows/node-only-update.yml
@@ -37,10 +37,10 @@
         id: create_matrix
         with:
           matrix: |
-            network {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}
-            network {sapphire}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
-            network {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}
-            network {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}
+            network {opal}, wasm_name {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}
+            network {sapphire}, wasm_name {opal}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
+            network {quartz}, wasm_name {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}
+            network {unique}, wasm_name {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}
 
 
   nodes-only-update:
@@ -85,6 +85,7 @@
             # MAINNET_TAG=${{ matrix.mainnet_tag }}
             MAINNET_BRANCH=${{ matrix.mainnet_branch }}
             NETWORK=${{ matrix.network }}
+            WASM_NAME=${{ matrix.wasm_name }}
             # BRANCH=${{ github.head_ref }}
 
       - name: Show build configuration
@@ -97,6 +98,7 @@
           output_file: .docker/launch-config-forkless-nodata.json
           variables: |
             NETWORK=${{ matrix.network }}
+            WASM_NAME=${{ matrix.wasm_name }}
 
       - name: Show launch-config-forkless configuration
         run: cat .docker/launch-config-forkless-nodata.json
modified.github/workflows/try-runtime.ymldiffbeforeafterboth
--- a/.github/workflows/try-runtime.yml
+++ b/.github/workflows/try-runtime.yml
@@ -33,9 +33,10 @@
         id: create_matrix
         with:
           matrix: |
-            network {opal}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}
-            network {quartz}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}
-            network {unique}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}
+            network {opal}, wasm_name {opal}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}
+            network {sapphire}, wasm_name {opal}, 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:
     needs: prepare-execution-marix
@@ -70,6 +71,7 @@
           variables: |
             RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
             NETWORK=${{ matrix.network }}
+            WASM_NAME=${{ matrix.wasm_name }}
             REPLICA_FROM=${{ matrix.replica_from_address }}
 
       - name: Show build configuration
modified.github/workflows/yarn-dev.ymldiffbeforeafterboth
--- a/.github/workflows/yarn-dev.yml
+++ b/.github/workflows/yarn-dev.yml
@@ -24,6 +24,7 @@
       matrix:
         include:
           - network: "opal"
+          - network: "sapphire"
           - network: "quartz"
           - network: "unique"