From f2a945f52528760d65c4bbe7f8acb1efcb97ecfa Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Fri, 21 Oct 2022 13:21:03 +0000 Subject: [PATCH] Merge pull request #664 from UniqueNetwork/rapid-parallel-start-v2 Rapid parallel start v2 --- --- a/.docker/Dockerfile-parachain-upgrade +++ b/.docker/Dockerfile-parachain-upgrade @@ -70,7 +70,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" && \ --- /dev/null +++ b/.docker/forkless-config/launch-config-node-update-only-v3.j2 @@ -0,0 +1,127 @@ +{ + "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 +} --- a/.github/workflows/ci-develop.yml +++ b/.github/workflows/ci-develop.yml @@ -1,47 +1,56 @@ +# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586869783/CI+Develop +# Workflow which controls starts nested workflows. name: develop +# Triger: PR at 'develop' branch with following types of events. on: pull_request: branches: [ 'develop' ] types: [ opened, reopened, synchronize, ready_for_review, converted_to_draft ] +#Concurency group for control execution queue over github runners. concurrency: group: ${{ github.workflow }}-${{ github.head_ref }} cancel-in-progress: true +# List of a jobs included into Workflow. jobs: yarn-test-dev: - if: github.event.pull_request.draft == false + if: github.event.pull_request.draft == false # Conditional check for draft per job. uses: ./.github/workflows/dev-build-tests_v2.yml unit-test: - if: github.event.pull_request.draft == false + if: github.event.pull_request.draft == false # Conditional check for draft per job. uses: ./.github/workflows/unit-test_v2.yml canary: - if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'canary')) }} + if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'canary')) }} # Conditional check for draft & labels per job. uses: ./.github/workflows/canary.yml - secrets: inherit # pass all secrets + secrets: inherit # pass all secrets from initial workflow to nested xcm: - if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'xcm')) }} + if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'xcm')) }} # Conditional check for draft & labels per job. uses: ./.github/workflows/xcm.yml - secrets: inherit # pass all secrets + secrets: inherit # pass all secrets from initial workflow to nested forkless: - if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'forkless')) }} + if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'forkless')) }} # Conditional check for draft & labels per job. uses: ./.github/workflows/forkless.yml node-only-update: - if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'forkless')) }} + if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'node-only-update')) }} # Conditional check for draft & labels per job. uses: ./.github/workflows/node-only-update_v2.yml + + parallel_and_sequential_tests: + if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'integration')) }} # Conditional check for draft & labels per job. + uses: ./.github/workflows/integration-tests.yml codestyle: - if: github.event.pull_request.draft == false + if: github.event.pull_request.draft == false # Conditional check for draft per job. uses: ./.github/workflows/codestyle_v2.yml yarn_eslint: - if: github.event.pull_request.draft == false + if: github.event.pull_request.draft == false # Conditional check for draft per job. uses: ./.github/workflows/test_codestyle_v2.yml --- a/.github/workflows/ci-master.yml +++ b/.github/workflows/ci-master.yml @@ -1,14 +1,19 @@ +# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2587656193/CI+Master +# Workflow which controls starts nested workflows. name: master +# Triger: PR at 'master' branch with following types of events. on: pull_request: branches: [ 'master' ] types: [ opened, reopened, synchronize, ready_for_review ] +#Concurency group for control execution queue over github runners. concurrency: group: ${{ github.workflow }}-${{ github.head_ref }} cancel-in-progress: true +# List of a jobs included into Workflow. jobs: unit-test: @@ -22,11 +27,11 @@ canary: uses: ./.github/workflows/canary.yml - secrets: inherit # pass all secrets + secrets: inherit # pass all secrets from initial workflow to nested xcm: uses: ./.github/workflows/xcm.yml - secrets: inherit # pass all secrets + secrets: inherit # pass all secrets from initial workflow to nested codestyle: - uses: ./.github/workflows/codestyle_v2.yml \ No newline at end of file + uses: ./.github/workflows/codestyle_v2.yml --- a/.github/workflows/codestyle_v2.yml +++ b/.github/workflows/codestyle_v2.yml @@ -1,5 +1,9 @@ +# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586837012/Code+style+testing +# Nested workflow for checks related to formatting Rust code + name: cargo fmt +# Triger: only call from main workflow(re-usable workflows) on: workflow_call: --- a/.github/workflows/dev-build-tests_v2.yml +++ b/.github/workflows/dev-build-tests_v2.yml @@ -1,15 +1,12 @@ +# Integration test in --dev mode +# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586411104/Integration+tests name: yarn test dev -# Controls when the action will run. +# Triger: only call from main workflow(re-usable workflows) on: - # Triggers the workflow on push or pull request events but only for the master branch workflow_call: -#Define Workflow variables -env: - REPO_URL: ${{ github.server_url }}/${{ github.repository }} - # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: @@ -101,4 +98,4 @@ run: | docker builder prune -f -a docker system prune -f - docker image prune -f -a \ No newline at end of file + docker image prune -f -a --- a/.github/workflows/forkless-update-data_v2.yml +++ b/.github/workflows/forkless-update-data_v2.yml @@ -1,18 +1,17 @@ -# Controls when the action will run. +# Forkless update with data replication +# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586869792/Forkless+update+with+data + +# Triger: only call from main workflow(re-usable workflows) on: workflow_call: -#Define Workflow variables -env: - REPO_URL: ${{ github.server_url }}/${{ github.repository }} - # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: execution-marix: - name: execution matrix + name: Prepare execution matrix runs-on: self-hosted-ci outputs: @@ -46,7 +45,7 @@ runs-on: [self-hosted-ci,large] timeout-minutes: 1380 - name: ${{ matrix.network }} + name: ${{ matrix.network }}-data strategy: matrix: include: ${{fromJson(needs.execution-marix.outputs.matrix)}} @@ -163,3 +162,10 @@ - name: Stop running containers if: always() # run this step always run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.${{ 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 --- a/.github/workflows/forkless-update-nodata_v2.yml +++ b/.github/workflows/forkless-update-nodata_v2.yml @@ -1,14 +1,11 @@ - +# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586837021/Forkless+update+without+data +# Forkless update without data replication -# Controls when the action will run. +# Triger: only call from main workflow(re-usable workflows) on: workflow_call: -#Define Workflow variables -env: - REPO_URL: ${{ github.server_url }}/${{ github.repository }} - # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: execution-marix: @@ -49,7 +46,7 @@ timeout-minutes: 1380 - name: ${{ matrix.network }} + name: ${{ matrix.network }}-nodata 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. @@ -189,6 +186,7 @@ - name: Run Sequential tests working-directory: tests + if: success() || failure() run: | yarn install yarn add mochawesome @@ -212,3 +210,10 @@ - name: Stop running containers if: always() # run this step always run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down + + - 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 --- a/.github/workflows/forkless.yml +++ b/.github/workflows/forkless.yml @@ -1,3 +1,5 @@ +# Intermediate Nested Workflow for calling subworkflows as a parallel tasks. + name: Nesting Forkless on: --- /dev/null +++ b/.github/workflows/integration-tests.yml @@ -0,0 +1,339 @@ +# Test workflow for debug parallel and sequental tests in scope of execution time reducing. +name: Integration tests + +# Triger: only call from main workflow(re-usable workflows) +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.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 }}} + + parallel-test: + 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 }} - parallel + + 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: 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: tests/mochawesome-report/test-parallel-*.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() + run: ls -la ./ + + sequential-test: + 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 }} - sequential + + 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 Sequential tests on Node Parachain + working-directory: 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: 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() + run: ls -la ./ --- a/.github/workflows/market-test_v2.yml +++ b/.github/workflows/market-test_v2.yml @@ -1,3 +1,6 @@ +# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586509375/Market+e2e+test +# Nested workflow for lunching Market e2e tests from external repository https://github.com/UniqueNetwork/market-e2e-tests + name: market api tests # Controls when the action will run. @@ -22,14 +25,8 @@ include: - network: "opal" features: "opal-runtime" -# - network: "quartz" -# features: "quartz-runtime" -# - network: "unique" -# features: "unique-runtime" steps: - - - name: Clean Workspace uses: AutoModality/action-clean@v1.1.0 @@ -188,10 +185,3 @@ run: | docker builder prune -f docker system prune -f - - - name: Clean Workspace - if: always() - uses: AutoModality/action-clean@v1.1.0 - - - --- a/.github/workflows/node-only-update_v2.yml +++ b/.github/workflows/node-only-update_v2.yml @@ -1,12 +1,13 @@ +# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586837028/Nodes+only+update +# Node only update with restart polkadot-launch process. + name: nodes-only update -# Controls when the action will run. +# Triger: only call from main workflow(re-usable workflows) on: workflow_call: -#Define Workflow variables -env: - REPO_URL: ${{ github.server_url }}/${{ github.repository }} + # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: --- a/.github/workflows/test_codestyle_v2.yml +++ b/.github/workflows/test_codestyle_v2.yml @@ -1,5 +1,9 @@ +# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586804253/Yarn+eslint +# Yarn Eslint over tests +# name: yarn eslint +# Triger: only call from main workflow(re-usable workflows) on: workflow_call: --- a/.github/workflows/try-runtime_v2.yml +++ b/.github/workflows/try-runtime_v2.yml @@ -1,3 +1,7 @@ +# Try-runtime checks +# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2587656213/Try+runtime + +# Triger: only call from main workflow(re-usable workflows) on: workflow_call: @@ -7,7 +11,7 @@ # The type of runner that the job will run on runs-on: self-hosted-ci - name: ${{ matrix.network }} + name: ${{ matrix.network }}-try-runtime 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. @@ -66,3 +70,10 @@ - name: Stop running containers if: always() # run this step always run: docker-compose -f ".docker/docker-compose-try-runtime.yml" -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" down + + - 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 --- a/.github/workflows/unit-test_v2.yml +++ b/.github/workflows/unit-test_v2.yml @@ -1,8 +1,10 @@ +# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586738699/Unit+Tests +# Re-Usable Workflow for lanching Unit tests name: unit tests # Controls when the action will run. +# Triger: only call from main workflow(re-usable workflows) on: - # Triggers the workflow on push or pull request events but only for the master branch workflow_call: # A workflow run is made up of one or more jobs that can run sequentially or in parallel @@ -49,3 +51,10 @@ - name: Stop running containers if: always() # run this step always run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.unit.yml" down + + - 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 --- a/.github/workflows/xcm.yml +++ b/.github/workflows/xcm.yml @@ -52,7 +52,7 @@ timeout-minutes: 600 - name: ${{ matrix.network }} + name: ${{ matrix.network }}-build 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. @@ -276,7 +276,7 @@ timeout-minutes: 600 - name: ${{ matrix.network }} + name: ${{ matrix.network }}-tests 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. -- gitstuff