difftreelog
Merge pull request #662 from UniqueNetwork/revert-659-rapid-parallel-start
in: master
Revert "[DON'T MERGE] Rapid parallel start"
4 files changed
.docker/Dockerfile-parachain-upgradediffbeforeafterboth--- a/.docker/Dockerfile-parachain-upgrade
+++ b/.docker/Dockerfile-parachain-upgrade
@@ -81,7 +81,7 @@
nvm install v16.16.0 && \
nvm use v16.16.0
-RUN git clone https://github.com/uniquenetwork/polkadot-launch -b unique-network
+RUN git clone https://github.com/uniquenetwork/polkadot-launch -b feature/runtime-upgrade-testing
RUN export NVM_DIR="$HOME/.nvm" && \
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
.docker/forkless-config/launch-config-node-update-only-v3.j2diffbeforeafterboth--- a/.docker/forkless-config/launch-config-node-update-only-v3.j2
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- "relaychain": {
- "bin": "/polkadot/target/release/polkadot",
- "upgradeBin": "/polkadot/target/release/polkadot",
- "upgradeWasm": "/polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm",
- "chain": "rococo-local",
- "nodes": [
- {
- "name": "alice",
- "wsPort": 9844,
- "rpcPort": 9843,
- "port": 30444,
- "flags": [
- "-lparachain::candidate_validation=debug",
- "-lxcm=trace",
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external"
- ]
- },
- {
- "name": "bob",
- "wsPort": 9855,
- "rpcPort": 9854,
- "port": 30555,
- "flags": [
- "-lparachain::candidate_validation=debug",
- "-lxcm=trace",
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external"
- ]
- },
- {
- "name": "charlie",
- "wsPort": 9866,
- "rpcPort": 9865,
- "port": 30666,
- "flags": [
- "-lparachain::candidate_validation=debug",
- "-lxcm=trace",
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external"
- ]
- },
- {
- "name": "dave",
- "wsPort": 9877,
- "rpcPort": 9876,
- "port": 30777,
- "flags": [
- "-lparachain::candidate_validation=debug",
- "-lxcm=trace",
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external"
- ]
- },
- {
- "name": "eve",
- "wsPort": 9888,
- "rpcPort": 9887,
- "port": 30888,
- "flags": [
- "-lparachain::candidate_validation=debug",
- "-lxcm=trace",
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external"
- ]
- }
- ],
- "genesis": {
- "runtime": {
- "runtime_genesis_config": {
- "parachainsConfiguration": {
- "config": {
- "validation_upgrade_frequency": 1,
- "validation_upgrade_delay": 1
- }
- }
- }
- }
- }
- },
- "parachains": [
- {
- "bin": "/unique-chain/current/release/unique-collator",
- "upgradeBin": "/unique-chain/target/release/unique-collator",
- "upgradeWasm": "/unique-chain/target/release/wbuild/{{ FEATURE }}/{{ RUNTIME }}_runtime.compact.compressed.wasm",
- "id": "1000",
- "balance": "1000000000000000000000000",
- "nodes": [
- {
- "port": 31200,
- "wsPort": 9944,
- "rpcPort": 9933,
- "name": "alice",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external",
- "-lxcm=trace",
- "--ws-max-connections=1000"
- ]
- },
- {
- "port": 31201,
- "wsPort": 9945,
- "rpcPort": 9934,
- "name": "bob",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external",
- "-lxcm=trace",
- "--ws-max-connections=1000"
- ]
- }
- ]
- }
- ],
- "simpleParachains": [],
- "hrmpChannels": [],
- "finalization": false
-}
.github/workflows/ci-develop.ymldiffbeforeafterboth1name: develop23on:4 pull_request:5 branches: [ 'develop' ]6 types: [ opened, reopened, synchronize, ready_for_review, converted_to_draft ]78concurrency:9 group: ${{ github.workflow }}-${{ github.head_ref }}10 cancel-in-progress: true1112jobs:1314 yarn-test-dev:15 if: github.event.pull_request.draft == false16 uses: ./.github/workflows/dev-build-tests_v2.yml171819 unit-test:20 if: github.event.pull_request.draft == false21 uses: ./.github/workflows/unit-test_v2.yml2223 canary:24 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'canary')) }}25 uses: ./.github/workflows/canary.yml26 secrets: inherit # pass all secrets2728 xcm:29 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'xcm')) }}30 uses: ./.github/workflows/xcm.yml31 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.yml3637 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.yml40 41 parallel_and_sequential_tests:42 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'para')) }}43 uses: ./.github/workflows/node-only-update_v3.yml444546 codestyle:47 if: github.event.pull_request.draft == false48 uses: ./.github/workflows/codestyle_v2.yml49 50 yarn_eslint:51 if: github.event.pull_request.draft == false52 uses: ./.github/workflows/test_codestyle_v2.yml1name: develop23on:4 pull_request:5 branches: [ 'develop' ]6 types: [ opened, reopened, synchronize, ready_for_review, converted_to_draft ]78concurrency:9 group: ${{ github.workflow }}-${{ github.head_ref }}10 cancel-in-progress: true1112jobs:1314 yarn-test-dev:15 if: github.event.pull_request.draft == false16 uses: ./.github/workflows/dev-build-tests_v2.yml171819 unit-test:20 if: github.event.pull_request.draft == false21 uses: ./.github/workflows/unit-test_v2.yml2223 canary:24 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'canary')) }}25 uses: ./.github/workflows/canary.yml26 secrets: inherit # pass all secrets2728 xcm:29 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'xcm')) }}30 uses: ./.github/workflows/xcm.yml31 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.yml4041 codestyle:42 if: github.event.pull_request.draft == false43 uses: ./.github/workflows/codestyle_v2.yml44 45 yarn_eslint:46 if: github.event.pull_request.draft == false47 uses: ./.github/workflows/test_codestyle_v2.yml.github/workflows/node-only-update_v3.ymldiffbeforeafterboth--- a/.github/workflows/node-only-update_v3.yml
+++ /dev/null
@@ -1,212 +0,0 @@
-name: Parallele tests
-
-# Controls when the action will run.
-on:
- workflow_call:
-#Define Workflow variables
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-
- nodes-execution-matrix:
-
- name: execution matrix
-
- runs-on: self-hosted-ci
- outputs:
- matrix: ${{ steps.create_matrix.outputs.matrix }}
-
- steps:
-
- - name: Clean Workspace
- uses: AutoModality/action-clean@v1.1.0
-
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
- with:
- ref: ${{ github.head_ref }} #Checking out head commit
-
- - name: Read .env file
- uses: xom9ikk/dotenv@v1.0.2
-
- - name: Create Execution matrix
- uses: fabiocaccamo/create-matrix-action@v2
- id: create_matrix
- with:
- matrix: |
- network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.QUARTZ_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 }}}
-
- nodes-only-update:
- needs: nodes-execution-matrix
- # The type of runner that the job will run on
- runs-on: [self-hosted-ci,large]
-
-
-
- timeout-minutes: 1380
-
- name: ${{ matrix.network }}
-
- continue-on-error: true #Do not stop testing of matrix runs failed. As it decided during PR review - it required 50/50& Let's check it with false.
-
- strategy:
- matrix:
- include: ${{fromJson(needs.nodes-execution-matrix.outputs.matrix)}}
-
- steps:
-
- - name: Clean Workspace
- uses: AutoModality/action-clean@v1.1.0
-
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
- with:
- ref: ${{ github.head_ref }} #Checking out head commit
-
- - name: Read .env file
- uses: xom9ikk/dotenv@v1.0.2
-
- - name: Generate ENV related extend file for docker-compose
- uses: cuchi/jinja2-action@v1.2.0
- with:
- template: .docker/docker-compose.tmp-node.j2
- output_file: .docker/docker-compose.node.${{ matrix.network }}.yml
- variables: |
- REPO_URL=${{ github.server_url }}/${{ github.repository }}.git
- RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
- POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}
- POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}
- MAINNET_TAG=${{ matrix.mainnet_tag }}
- MAINNET_BRANCH=${{ matrix.mainnet_branch }}
- FEATURE=${{ matrix.features }}
- RUNTIME=${{ matrix.runtime }}
- BRANCH=${{ github.head_ref }}
-
- - name: Show build configuration
- run: cat .docker/docker-compose.node.${{ matrix.network }}.yml
-
- - name: Generate launch-config-forkless-nodata.json
- uses: cuchi/jinja2-action@v1.2.0
- with:
- template: .docker/forkless-config/launch-config-node-update-only-v3.j2
- output_file: .docker/launch-config-forkless-nodata.json
- variables: |
- FEATURE=${{ matrix.features }}
- RUNTIME=${{ matrix.runtime }}
-
- - name: Show launch-config-forkless configuration
- run: cat .docker/launch-config-forkless-nodata.json
-
- - uses: actions/setup-node@v3
- with:
- node-version: 16
-
- - name: Build the stack
- run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.node.${{ matrix.network }}.yml" up -d --build --remove-orphans --force-recreate --timeout 300
-
- # 🚀 POLKADOT LAUNCH COMPLETE 🚀
- - name: Check if docker logs consist messages related to testing of Node Parachain Upgrade.
- if: success()
- run: |
- counter=160
- function check_container_status {
- docker inspect -f {{.State.Running}} node-parachain
- }
- function do_docker_logs {
- docker logs --details node-parachain 2>&1
- }
- function is_started {
- if [ "$(check_container_status)" == "true" ]; then
- echo "Container: node-parachain RUNNING";
- echo "Check Docker logs"
- DOCKER_LOGS=$(do_docker_logs)
- if [[ ${DOCKER_LOGS} = *"POLKADOT LAUNCH COMPLETE"* ]];then
- echo "🚀 POLKADOT LAUNCH COMPLETE 🚀"
- return 0
- else
- echo "Message not found in logs output, repeating..."
- return 1
- fi
- else
- echo "Container node-parachain NOT RUNNING"
- echo "Halting all future checks"
- exit 1
- fi
- echo "something goes wrong"
- exit 1
- }
- while ! is_started; do
- echo "Waiting for special message in log files "
- sleep 30s
- counter=$(( $counter - 1 ))
- echo "Counter: $counter"
- if [ "$counter" -gt "0" ]; then
- continue
- else
- break
- fi
- done
- echo "Halting script"
- exit 0
- shell: bash
-
- - name: Run Parallel tests on Node Parachain
- 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: Parallel Tests report
- uses: phoenix-actions/test-reporting@v8
- id: test-report-parallel
- if: success() || failure() # run this step even if previous step failed
- with:
- name: Parallel Tests report - ${{ 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 on Node Parachain
- working-directory: ${{ matrix.mainnet_branch }}/tests
- run: |
- yarn install
- yarn add mochawesome
- echo "Ready to start tests"
- yarn polkadot-types
- NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}
- env:
- RPC_URL: http://127.0.0.1:9933/
-
- - name: Sequential Tests report
- uses: phoenix-actions/test-reporting@v8
- id: test-report-sequential
- if: success() || failure() # run this step even if previous step failed
- with:
- name: Parallel Tests report - ${{ 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
-
- - name: Remove builder cache
- if: always() # run this step always
- run: |
- docker builder prune -f -a
- docker system prune -f
- docker image prune -f -a
-
-# - name: List files in Workspace
-# if: always()
-# uses: |
-# ls -la ./
-#