git.delta.rocks / unique-network / refs/commits / 35dd1a696a4f

difftreelog

Change CI workflows for parallel tests

Max Andreev2022-10-18parent: #67c56fa.patch.diff
in: master

6 files changed

modified.docker/Dockerfile-parachain-node-onlydiffbeforeafterboth
--- a/.docker/Dockerfile-parachain-node-only
+++ b/.docker/Dockerfile-parachain-node-only
@@ -80,7 +80,7 @@
     nvm install v16.16.0 && \
     nvm use v16.16.0
 
-RUN git clone https://github.com/uniquenetwork/polkadot-launch -b feature/runtime-upgrade-testing
+RUN git clone https://github.com/uniquenetwork/polkadot-launch -b unique-network
 
 RUN export NVM_DIR="$HOME/.nvm" && \
     [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
modified.docker/docker-compose.tmp-node.j2diffbeforeafterboth
--- a/.docker/docker-compose.tmp-node.j2
+++ b/.docker/docker-compose.tmp-node.j2
@@ -24,9 +24,11 @@
     expose:
       - 9944
       - 9933
+      - 9844
     ports:
       - 127.0.0.1:9944:9944
       - 127.0.0.1:9933:9933
+      - 127.0.0.1:9844:9844
     logging:
       options:
         max-size: "1m"
modified.envdiffbeforeafterboth
--- a/.env
+++ b/.env
@@ -2,26 +2,25 @@
 POLKADOT_BUILD_BRANCH=release-v0.9.29
 
 POLKADOT_MAINNET_BRANCH=release-v0.9.26
+STATEMINT_BUILD_BRANCH=release-parachains-v9230
+ACALA_BUILD_BRANCH=2.9.2
+MOONBEAM_BUILD_BRANCH=runtime-1701
+
 UNIQUE_MAINNET_TAG=v924010
+UNIQUE_REPLICA_FROM=wss://eu-ws.unique.network:443
 
 KUSAMA_MAINNET_BRANCH=release-v0.9.26
+STATEMINE_BUILD_BRANCH=parachains-v9270
+KARURA_BUILD_BRANCH=2.9.1
+MOONRIVER_BUILD_BRANCH=runtime-1701
+
 QUARTZ_MAINNET_TAG=quartz-v924012-2
+QUARTZ_REPLICA_FROM=wss://eu-ws-quartz.unique.network:443
 
 UNQWND_MAINNET_BRANCH=release-v0.9.24
 
+WESTMINT_BUILD_BRANCH=parachains-v9270
+OPAL_MAINNET_TAG=v924010
 OPAL_REPLICA_FROM=wss://eu-ws-opal.unique.network:443
-QUARTZ_REPLICA_FROM=wss://eu-ws-quartz.unique.network:443
-UNIQUE_REPLICA_FROM=wss://eu-ws.unique.network:443
 
 POLKADOT_LAUNCH_BRANCH=unique-network
-
-KARURA_BUILD_BRANCH=2.9.1
-ACALA_BUILD_BRANCH=2.9.2
-
-MOONRIVER_BUILD_BRANCH=runtime-1701
-MOONBEAM_BUILD_BRANCH=runtime-1701
-
-STATEMINE_BUILD_BRANCH=parachains-v9270
-STATEMINT_BUILD_BRANCH=release-parachains-v9230
-WESTMINT_BUILD_BRANCH=parachains-v9270
-
modified.github/workflows/forkless-update-nodata_v2.ymldiffbeforeafterboth
33 uses: xom9ikk/dotenv@v1.0.233 uses: xom9ikk/dotenv@v1.0.2
3434
35 - name: Create Execution matrix35 - name: Create Execution matrix
36 uses: fabiocaccamo/create-matrix-action@v236 uses: CertainLach/create-matrix-action@v3
37 id: create_matrix37 id: create_matrix
38 with:38 with:
39 matrix: |39 matrix: |
162 if: success() || failure()162 if: success() || failure()
163 run: cat './forkless-parachain-upgrade-nodata-logs.${{ matrix.features }}/node-parachain.log'163 run: cat './forkless-parachain-upgrade-nodata-logs.${{ matrix.features }}/node-parachain.log'
164
165 - name: Run Parellel tests
166 working-directory: tests
167 run: |
168 yarn install
169 yarn add mochawesome
170 node scripts/readyness.js
171 echo "Ready to start tests"
172 yarn polkadot-types
173 NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}
174 env:
175 RPC_URL: http://127.0.0.1:9933/
176
177 - name: Test Report Parallel
178 uses: phoenix-actions/test-reporting@v8
179 id: test-report-parallel
180 if: success() || failure() # run this step even if previous step failed
181 with:
182 name: Report Parallel tests results - ${{ matrix.network }} # Name of the check run which will be created
183 path: tests/mochawesome-report/test-parallel-*.json # Path to test results
184 reporter: mochawesome-json
185 fail-on-error: 'false'
186
187 - name: Run Sequential tests
188 working-directory: tests
189 run: |
190 yarn install
191 yarn add mochawesome
192 node scripts/readyness.js
193 echo "Ready to start tests"
194 yarn polkadot-types
195 NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}
196 env:
197 RPC_URL: http://127.0.0.1:9933/
198
199 - name: Test Report Sequential
200 uses: phoenix-actions/test-reporting@v8
201 id: test-report-sequential
202 if: success() || failure() # run this step even if previous step failed
203 with:
204 name: Report Sequential tests results - ${{ matrix.network }} # Name of the check run which will be created
205 path: tests/mochawesome-report/test-sequential-*.json # Path to test results
206 reporter: mochawesome-json
207 fail-on-error: 'false'
164208
165 - name: Stop running containers209 - name: Stop running containers
166 if: always() # run this step always210 if: always() # run this step always
modified.github/workflows/market-test_v2.ymldiffbeforeafterboth
--- a/.github/workflows/market-test_v2.yml
+++ b/.github/workflows/market-test_v2.yml
@@ -11,7 +11,7 @@
   market_test:
     # The type of runner that the job will run on
     runs-on: [self-hosted-ci,large]
-    timeout-minutes: 1380
+    timeout-minutes: 360
 
     name: ${{ matrix.network }}    
 
modified.github/workflows/node-only-update_v2.ymldiffbeforeafterboth
--- a/.github/workflows/node-only-update_v2.yml
+++ b/.github/workflows/node-only-update_v2.yml
@@ -32,11 +32,11 @@
         uses: xom9ikk/dotenv@v1.0.2
 
       - name: Create Execution matrix
-        uses: fabiocaccamo/create-matrix-action@v2
+        uses: CertainLach/create-matrix-action@v3
         id: create_matrix
         with:
           matrix: |
-            network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}
+            network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.OPAL_MAINNET_TAG }}}
             network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}
             network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}
 
@@ -49,7 +49,7 @@
 
 
 
-    timeout-minutes: 1380
+    timeout-minutes: 2880           # 48 hours for execution jobs.
 
     name: ${{ matrix.network }}
 
@@ -162,7 +162,6 @@
           ref: ${{ matrix.mainnet_branch }}  #Checking out head commit
           path: ${{ matrix.mainnet_branch }}
 
-
       - name: Run tests before Node Parachain upgrade
         working-directory: ${{ matrix.mainnet_branch }}/tests
         run: |
@@ -174,7 +173,7 @@
         env:
           RPC_URL: http://127.0.0.1:9933/
 
-      - name: Test Report Before Node upgrade
+      - name: Upload Test Report Before Node upgrade
         uses: phoenix-actions/test-reporting@v8
         id: test-report-before
         if: success() || failure()    # run this step even if previous step failed
@@ -184,14 +183,67 @@
           reporter: mochawesome-json
           fail-on-error: 'false'
 
-      - name: Send SIGUSR1 to polkadotlaunch process
+
+      # TODO uncomment thease steps after the merge
+      #- name: Run Parallel tests before Node Parachain upgrade
+      #  working-directory: ${{ matrix.mainnet_branch }}/tests
+      #  run: |
+      #    yarn install
+      #    yarn add mochawesome
+      #    echo "Ready to start tests"
+      #    yarn polkadot-types
+      #    NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}
+      #  env:
+      #    RPC_URL: http://127.0.0.1:9933/
+
+      #- name: Upload Parallel Test Report Before Node upgrade
+      #  uses: phoenix-actions/test-reporting@v8
+      #  id: test-parallel-report-before
+      #  if: success() || failure()    # run this step even if previous step failed
+      #  with:
+      #    name: Tests before node upgrade ${{ matrix.network }}            # Name of the check run which will be created
+      #    path: ${{ matrix.mainnet_branch }}/tests/mochawesome-report/test-parallel-*.json    # Path to test results
+      #    reporter: mochawesome-json
+      #    fail-on-error: 'false'
+
+      # - name: Run Sequential tests before Node Parachain upgrade
+      #   if: success() || failure()
+      #   working-directory: ${{ matrix.mainnet_branch }}/tests
+      #   run: NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}
+      #   env:
+      #     RPC_URL: http://127.0.0.1:9933/
+
+      # - name: Upload Sequential Test Report Before Node upgrade
+      #   uses: phoenix-actions/test-reporting@v8
+      #   id: test-sequential-report-before
+      #   if: success() || failure()    # run this step even if previous step failed
+      #   with:
+      #     name: Tests before node upgrade ${{ matrix.network }}            # Name of the check run which will be created
+      #     path: ${{ matrix.mainnet_branch }}/tests/mochawesome-report/test-sequential-*.json    # Path to test results
+      #     reporter: mochawesome-json
+      #     fail-on-error: 'false'
+     
+      - name: Send SIGUSR1 to polkadot-launch process
         if: success() || failure()
         run: |
           #Get PID of polkadot-launch
+          ContainerID=$(docker ps -aqf "name=node-parachain")
           PID=$(docker exec node-parachain pidof 'polkadot-launch')
           echo "Polkadot-launch PID: $PID"
           #Send SIGUSR1 signal to $PID
           docker exec node-parachain kill -SIGUSR1 ${PID}
+          echo "SIGUSR1 sent to Polkadot-launch PID: $PID"
+          docker logs ${ContainerID}
+      
+      - name: Get chain logs in case of docker image crashed after Polkadot Launch restart
+        if: failure()                   # run this step only at failure
+        run: |
+          docker exec node-parachain cat /polkadot-launch/9944.log
+          docker exec node-parachain cat /polkadot-launch/9945.log
+          docker exec node-parachain cat /polkadot-launch/alice.log
+          docker exec node-parachain cat /polkadot-launch/eve.log
+          docker exec node-parachain cat /polkadot-launch/dave.log
+          docker exec node-parachain cat /polkadot-launch/charlie.log  
 
       #  🌗 All parachain collators restarted with the new binaries.
       - name: Check if docker logs consist messages related to testing of Node Parachain Upgrade.
@@ -238,9 +290,10 @@
           echo "Halting script"
           exit 0
         shell: bash
-
+        
+      ## TODO: Remove next two blocks before switch to Parrallel & Sequental tests. Uncoment commented blocks.
       - name: Run tests after Node Parachain upgrade
-        working-directory: tests
+        working-directory: ${{ matrix.mainnet_branch }}/tests
         run: |
           yarn install
           yarn add mochawesome
@@ -257,11 +310,51 @@
         if: success() || failure()    # run this step even if previous step failed
         with:
           name: Tests after node upgrade ${{ matrix.network }}            # Name of the check run which will be created
-          path: tests/mochawesome-report/test-*.json    # Path to test results
+          path: ${{ matrix.mainnet_branch }}/tests/mochawesome-report/test-*.json    # Path to test results
           reporter: mochawesome-json
           fail-on-error: 'false'
 
+      # TODO uncomment thease steps after the merge
+      #- name: Run Parallel tests after Node Parachain upgrade
+      #  working-directory: ${{ matrix.mainnet_branch }}/tests
+      #  run: |
+      #    yarn install
+      #    yarn add mochawesome
+      #    node scripts/readyness.js
+      #    echo "Ready to start tests"
+      #    yarn polkadot-types
+      #    NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}
+      #  env:
+      #    RPC_URL: http://127.0.0.1:9933/
 
+      #- name: Test Report Parallel After Node upgrade
+      #  uses: phoenix-actions/test-reporting@v8
+      #  id: test-report-parallel-after
+      #  if: success() || failure()    # run this step even if previous step failed
+      #  with:
+      #    name: Tests after node upgrade ${{ matrix.network }}            # Name of the check run which will be created
+      #    path: ${{ matrix.mainnet_branch }}/tests/mochawesome-report/test-parallel-*.json    # Path to test results
+      #    reporter: mochawesome-json
+      #    fail-on-error: 'false'
+      
+      #- name: Run Sequential tests after Node Parachain upgrade
+      #  if: success() || failure()
+      #  working-directory: ${{ matrix.mainnet_branch }}/tests
+      #  run: NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}
+      #  env:
+      #    RPC_URL: http://127.0.0.1:9933/
+
+      #- name: Upload Sequential Test Report After Node upgrade
+      #  uses: phoenix-actions/test-reporting@v8
+      #  id: test-sequential-report-after
+      #  if: success() || failure()    # run this step even if previous step failed
+      #  with:
+      #    name: Tests before node upgrade ${{ matrix.network }}            # Name of the check run which will be created
+      #    path: ${{ matrix.mainnet_branch }}/tests/mochawesome-report/test-sequential-*.json    # Path to test results
+      #    reporter: mochawesome-json
+      #    fail-on-error: 'false'
+
+
       - name: Stop running containers
         if: always()                   # run this step always
         run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.node.${{ matrix.network }}.yml" down --volumes
@@ -273,6 +366,7 @@
           docker system prune -f
           docker image prune -f -a
 
-      - name: Clean Workspace
-        if: always()
-        uses: AutoModality/action-clean@v1.1.0
+      - name: Remove repo at the end
+        if: always()                   # run this step always
+        run: |
+          ls -ls ./