difftreelog
Merge pull request #656 from UniqueNetwork/tests/parallel-ci
in: master
Tests/parallel ci
10 files changed
.docker/Dockerfile-parachain-node-onlydiffbeforeafterboth80 nvm install v16.16.0 && \80 nvm install v16.16.0 && \81 nvm use v16.16.081 nvm use v16.16.0828283RUN git clone https://github.com/uniquenetwork/polkadot-launch -b feature/runtime-upgrade-testing83RUN git clone https://github.com/uniquenetwork/polkadot-launch -b unique-network848485RUN export NVM_DIR="$HOME/.nvm" && \85RUN export NVM_DIR="$HOME/.nvm" && \86 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \86 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \.docker/docker-compose.tmp-node.j2diffbeforeafterboth24 expose:24 expose:25 - 994425 - 994426 - 993326 - 993327 - 984427 ports:28 ports:28 - 127.0.0.1:9944:994429 - 127.0.0.1:9944:994429 - 127.0.0.1:9933:993330 - 127.0.0.1:9933:993331 - 127.0.0.1:9844:984430 logging:32 logging:31 options:33 options:32 max-size: "1m"34 max-size: "1m".envdiffbeforeafterboth1RUST_TOOLCHAIN=nightly-2022-07-241RUST_TOOLCHAIN=nightly-2022-07-242POLKADOT_BUILD_BRANCH=release-v0.9.292POLKADOT_BUILD_BRANCH=release-v0.9.29334POLKADOT_MAINNET_BRANCH=release-v0.9.264POLKADOT_MAINNET_BRANCH=release-v0.9.285UNIQUE_MAINNET_TAG=v9240105STATEMINT_BUILD_BRANCH=release-parachains-v927167KUSAMA_MAINNET_BRANCH=release-v0.9.266ACALA_BUILD_BRANCH=2.9.68QUARTZ_MAINNET_TAG=quartz-v924012-2-opal-runtime-feature7MOONBEAM_BUILD_BRANCH=v0.26.1910UNQWND_MAINNET_BRANCH=release-v0.9.248UNIQUE_MAINNET_TAG=v9240101112OPAL_REPLICA_FROM=wss://eu-ws-opal.unique.network:44313QUARTZ_REPLICA_FROM=wss://eu-ws-quartz.unique.network:44314UNIQUE_REPLICA_FROM=wss://eu-ws.unique.network:4439UNIQUE_REPLICA_FROM=wss://eu-ws.unique.network:443151016POLKADOT_LAUNCH_BRANCH=unique-network11KUSAMA_MAINNET_BRANCH=release-v0.9.291718KARURA_BUILD_BRANCH=2.9.112STATEMINE_BUILD_BRANCH=parachains-v927119ACALA_BUILD_BRANCH=2.9.213KARURA_BUILD_BRANCH=release-karura-2.9.52021MOONRIVER_BUILD_BRANCH=runtime-170114MOONRIVER_BUILD_BRANCH=v0.26.122MOONBEAM_BUILD_BRANCH=runtime-170115QUARTZ_MAINNET_TAG=quartz-v924012-22324STATEMINE_BUILD_BRANCH=parachains-v927016QUARTZ_REPLICA_FROM=wss://eu-ws-quartz.unique.network:4431725STATEMINT_BUILD_BRANCH=release-parachains-v923018UNQWND_MAINNET_BRANCH=release-v0.9.3026WESTMINT_BUILD_BRANCH=parachains-v927019WESTMINT_BUILD_BRANCH=parachains-v929020OPAL_MAINNET_TAG=quartz-v924012-2-opal-runtime-feature21OPAL_REPLICA_FROM=wss://eu-ws-opal.unique.network:44322POLKADOT_LAUNCH_BRANCH=unique-network272328.github/workflows/ci-develop.ymldiffbeforeafterboth30 uses: ./.github/workflows/xcm.yml30 uses: ./.github/workflows/xcm.yml31 secrets: inherit # pass all secrets31 secrets: inherit # pass all secrets32 33 forkless:34 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'forkless')) }}35 uses: ./.github/workflows/forkless.yml36 37 node-only-update:38 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'forkless')) }}39 uses: ./.github/workflows/node-only-update_v2.yml324033 codestyle:41 codestyle:34 if: github.event.pull_request.draft == false42 if: github.event.pull_request.draft == false.github/workflows/execution-matrix.ymldiffbeforeafterboth35 uses: CertainLach/create-matrix-action@v335 uses: CertainLach/create-matrix-action@v336 id: create_matrix36 id: create_matrix37 with:37 with:38 matrix: |38 matrix: |39 network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}39 network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.OPAL_MAINNET_TAG }}}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}40 network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}40 network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}41 network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}41 network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}42424343.github/workflows/forkless-update-data_v2.ymldiffbeforeafterboth35 uses: CertainLach/create-matrix-action@v335 uses: CertainLach/create-matrix-action@v336 id: create_matrix36 id: create_matrix37 with:37 with:38 matrix: |38 matrix: |39 network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}39 network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.OPAL_MAINNET_TAG }}}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}40 network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}40 network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}41 network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}41 network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}424243 forkless-update-data:43 forkless-update-data:44 needs: execution-marix44 needs: execution-marix.github/workflows/forkless-update-nodata_v2.ymldiffbeforeafterboth33 uses: xom9ikk/dotenv@v1.0.233 uses: xom9ikk/dotenv@v1.0.2343435 - name: Create Execution matrix35 - name: Create Execution matrix36 uses: fabiocaccamo/create-matrix-action@v236 uses: CertainLach/create-matrix-action@v337 id: create_matrix37 id: create_matrix38 with:38 with:39 matrix: |39 matrix: |40 network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}40 network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.OPAL_MAINNET_TAG }}}41 network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}41 network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}42 network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}42 network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}4343444445 forkless-update-nodata:45 forkless-update-nodata:100 - name: Show launch-config-forkless configuration100 - name: Show launch-config-forkless configuration101 run: cat .docker/launch-config-forkless-nodata.json101 run: cat .docker/launch-config-forkless-nodata.json102102103 - uses: actions/setup-node@v3104 with:105 node-version: 16103106104 - name: Build the stack107 - name: Build the stack105 run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --force-recreate --timeout 300108 run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --force-recreate --timeout 300162 if: success() || failure()165 if: success() || failure()163 run: cat './forkless-parachain-upgrade-nodata-logs.${{ matrix.features }}/node-parachain.log'166 run: cat './forkless-parachain-upgrade-nodata-logs.${{ matrix.features }}/node-parachain.log'167 168 - name: Run Parallel tests 169 working-directory: tests170 run: |171 yarn install172 yarn add mochawesome173 node scripts/readyness.js174 echo "Ready to start tests"175 yarn polkadot-types176 NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}177 env:178 RPC_URL: http://127.0.0.1:9933/179 180 - name: Test Report Parallel181 uses: phoenix-actions/test-reporting@v8182 id: test-report-parallel183 if: success() || failure() # run this step even if previous step failed184 with:185 name: Report Parallel tests results - ${{ matrix.network }} # Name of the check run which will be created186 path: tests/mochawesome-report/test-parallel-*.json # Path to test results187 reporter: mochawesome-json188 fail-on-error: 'false'189 190 - name: Run Sequential tests 191 working-directory: tests192 run: |193 yarn install194 yarn add mochawesome195 node scripts/readyness.js196 echo "Ready to start tests"197 yarn polkadot-types198 NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}199 env:200 RPC_URL: http://127.0.0.1:9933/201 202 - name: Test Report Sequential203 uses: phoenix-actions/test-reporting@v8204 id: test-report-sequential205 if: success() || failure() # run this step even if previous step failed206 with:207 name: Report Sequential tests results - ${{ matrix.network }} # Name of the check run which will be created208 path: tests/mochawesome-report/test-sequential-*.json # Path to test results209 reporter: mochawesome-json210 fail-on-error: 'false'164211165 - name: Stop running containers212 - name: Stop running containers166 if: always() # run this step always213 if: always() # run this step always.github/workflows/generate-execution-matrix.ymldiffbeforeafterboth39 uses: CertainLach/create-matrix-action@v339 uses: CertainLach/create-matrix-action@v340 id: create_matrix40 id: create_matrix41 with:41 with:42 matrix: |42 matrix: |43 network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}43 network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.OPAL_MAINNET_TAG }}}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}44 network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}44 network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}45 network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}45 network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}4646.github/workflows/market-test_v2.ymldiffbeforeafterboth101011 market_test:11 market_test:12 # The type of runner that the job will run on12 # The type of runner that the job will run on13 runs-on: [self-hosted-ci,medium]13 runs-on: [self-hosted-ci,large]14 timeout-minutes: 18014 timeout-minutes: 360151516 name: ${{ matrix.network }} 16 name: ${{ matrix.network }} 1717.github/workflows/node-only-update_v2.ymldiffbeforeafterboth32 uses: xom9ikk/dotenv@v1.0.232 uses: xom9ikk/dotenv@v1.0.2333334 - name: Create Execution matrix34 - name: Create Execution matrix35 uses: fabiocaccamo/create-matrix-action@v235 uses: CertainLach/create-matrix-action@v336 id: create_matrix36 id: create_matrix37 with:37 with:38 matrix: |38 matrix: |39 network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}39 network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.OPAL_MAINNET_TAG }}}40 network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}40 network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}41 network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}41 network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}4242434344444950514952 timeout-minutes: 288050 timeout-minutes: 2880 # 48 hours for execution jobs.535154 name: ${{ matrix.network }}52 name: ${{ matrix.network }}5553174 env:171 env:175 RPC_URL: http://127.0.0.1:9933/172 RPC_URL: http://127.0.0.1:9933/176173177 - name: Test Report Before Node upgrade174 - name: Upload Test Report Before Node upgrade178 uses: phoenix-actions/test-reporting@v8175 uses: phoenix-actions/test-reporting@v8179 id: test-report-before176 id: test-report-before180 if: success() || failure() # run this step even if previous step failed177 if: success() || failure() # run this step even if previous step failed184 reporter: mochawesome-json181 reporter: mochawesome-json185 fail-on-error: 'false'182 fail-on-error: 'false'186183184 # TODO uncomment thease steps after the merge185 #- name: Run Parallel tests before Node Parachain upgrade186 # working-directory: ${{ matrix.mainnet_branch }}/tests187 # run: |188 # yarn install189 # yarn add mochawesome190 # echo "Ready to start tests"191 # yarn polkadot-types192 # NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}193 # env:194 # RPC_URL: http://127.0.0.1:9933/195196 #- name: Upload Parallel Test Report Before Node upgrade197 # uses: phoenix-actions/test-reporting@v8198 # id: test-parallel-report-before199 # if: success() || failure() # run this step even if previous step failed200 # with:201 # name: Tests before node upgrade ${{ matrix.network }} # Name of the check run which will be created202 # path: ${{ matrix.mainnet_branch }}/tests/mochawesome-report/test-parallel-*.json # Path to test results203 # reporter: mochawesome-json204 # fail-on-error: 'false'205206 # - name: Run Sequential tests before Node Parachain upgrade207 # if: success() || failure()208 # working-directory: ${{ matrix.mainnet_branch }}/tests209 # run: NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}210 # env:211 # RPC_URL: http://127.0.0.1:9933/212213 # - name: Upload Sequential Test Report Before Node upgrade214 # uses: phoenix-actions/test-reporting@v8215 # id: test-sequential-report-before216 # if: success() || failure() # run this step even if previous step failed217 # with:218 # name: Tests before node upgrade ${{ matrix.network }} # Name of the check run which will be created219 # path: ${{ matrix.mainnet_branch }}/tests/mochawesome-report/test-sequential-*.json # Path to test results220 # reporter: mochawesome-json221 # fail-on-error: 'false'222 187 - name: Send SIGUSR1 to polkadot-launch process223 - name: Send SIGUSR1 to polkadot-launch process188 if: success() || failure()224 if: success() || failure()189 run: |225 run: |190 ContainerID=$(docker ps -aqf "name=node-parachain")226 #Get PID of polkadot-launch227 ContainerID=$(docker ps -aqf "name=node-parachain")191 PID=$(docker exec node-parachain pidof 'polkadot-launch')228 PID=$(docker exec node-parachain pidof 'polkadot-launch')192 sleep 30s229 sleep 30s193 echo -e "Show logs of node-parachain container.\n"230 echo -e "Show logs of node-parachain container.\n"194 docker logs ${ContainerID}231 docker logs ${ContainerID}195 echo -e "\n"232 echo -e "\n"196 echo -e "Restart polkadot-launch process: $PID\n"233 echo -e "Restart polkadot-launch process: $PID\n"197 docker exec node-parachain kill -SIGUSR1 ${PID}234 docker exec node-parachain kill -SIGUSR1 ${PID}198 echo -e "SIGUSR1 sent to Polkadot-launch PID: $PID\n"235 echo "SIGUSR1 sent to Polkadot-launch PID: $PID"199 echo -e "Get node-parachain logs:\n"236 docker logs ${ContainerID}200 docker logs -t -n 5 ${ContainerID}237 201 202 - name: Get chain logs238 - name: Get chain logs in case of docker image crashed after Polkadot Launch restart203 if: failure() # run this step only at failure239 if: failure() # run this step only at failure204 run: |240 run: |205 docker exec node-parachain cat /polkadot-launch/9944.log241 docker exec node-parachain cat /polkadot-launch/9944.log254 exit 0290 exit 0255 shell: bash291 shell: bash256292 293 ## TODO: Remove next two blocks before switch to Parrallel & Sequental tests. Uncoment commented blocks.257 - name: Run tests after Node Parachain upgrade294 - name: Run tests after Node Parachain upgrade258 if: success()259 working-directory: ${{ matrix.mainnet_branch }}/tests295 working-directory: ${{ matrix.mainnet_branch }}/tests260 run: |296 run: |261 yarn install297 yarn install276 reporter: mochawesome-json312 reporter: mochawesome-json277 fail-on-error: 'false'313 fail-on-error: 'false'314315 # TODO uncomment thease steps after the merge316 #- name: Run Parallel tests after Node Parachain upgrade317 # working-directory: ${{ matrix.mainnet_branch }}/tests318 # run: |319 # yarn install320 # yarn add mochawesome321 # node scripts/readyness.js322 # echo "Ready to start tests"323 # yarn polkadot-types324 # NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}325 # env:326 # RPC_URL: http://127.0.0.1:9933/327328 #- name: Test Report Parallel After Node upgrade329 # uses: phoenix-actions/test-reporting@v8330 # id: test-report-parallel-after331 # if: success() || failure() # run this step even if previous step failed332 # with:333 # name: Tests after node upgrade ${{ matrix.network }} # Name of the check run which will be created334 # path: ${{ matrix.mainnet_branch }}/tests/mochawesome-report/test-parallel-*.json # Path to test results335 # reporter: mochawesome-json336 # fail-on-error: 'false'337 338 #- name: Run Sequential tests after Node Parachain upgrade339 # if: success() || failure()340 # working-directory: ${{ matrix.mainnet_branch }}/tests341 # run: NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}342 # env:343 # RPC_URL: http://127.0.0.1:9933/344345 #- name: Upload Sequential Test Report After Node upgrade346 # uses: phoenix-actions/test-reporting@v8347 # id: test-sequential-report-after348 # if: success() || failure() # run this step even if previous step failed349 # with:350 # name: Tests before node upgrade ${{ matrix.network }} # Name of the check run which will be created351 # path: ${{ matrix.mainnet_branch }}/tests/mochawesome-report/test-sequential-*.json # Path to test results352 # reporter: mochawesome-json353 # fail-on-error: 'false'278354279355280 - name: Stop running containers356 - name: Stop running containers288 docker system prune -f364 docker system prune -f289 docker image prune -f -a365 docker image prune -f -a290366291 - name: Clean Workspace367 - name: Remove repo at the end292 if: always()368 if: always() # run this step always293 uses: AutoModality/action-clean@v1.1.0369 run: |370 ls -ls ./294371