git.delta.rocks / unique-network / refs/commits / f2a945f52528

difftreelog

Merge pull request #664 from UniqueNetwork/rapid-parallel-start-v2

Yaroslav Bolyukin2022-10-21parents: #23f963d #6a048d7.patch.diff
in: master
Rapid parallel start v2

16 files changed

modified.docker/Dockerfile-parachain-upgradediffbeforeafterboth
70 nvm install v16.16.0 && \70 nvm install v16.16.0 && \
71 nvm use v16.16.071 nvm use v16.16.0
7272
73RUN git clone https://github.com/uniquenetwork/polkadot-launch -b feature/runtime-upgrade-testing73RUN git clone https://github.com/uniquenetwork/polkadot-launch -b unique-network
7474
75RUN export NVM_DIR="$HOME/.nvm" && \75RUN export NVM_DIR="$HOME/.nvm" && \
76 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \76 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
added.docker/forkless-config/launch-config-node-update-only-v3.j2diffbeforeafterboth

no changes

modified.github/workflows/ci-develop.ymldiffbeforeafterboth
1# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586869783/CI+Develop
2# Workflow which controls starts nested workflows.
1name: develop3name: develop
24
5# Triger: PR at 'develop' branch with following types of events.
3on:6on:
4 pull_request:7 pull_request:
5 branches: [ 'develop' ]8 branches: [ 'develop' ]
6 types: [ opened, reopened, synchronize, ready_for_review, converted_to_draft ]9 types: [ opened, reopened, synchronize, ready_for_review, converted_to_draft ]
710
11#Concurency group for control execution queue over github runners.
8concurrency:12concurrency:
9 group: ${{ github.workflow }}-${{ github.head_ref }}13 group: ${{ github.workflow }}-${{ github.head_ref }}
10 cancel-in-progress: true14 cancel-in-progress: true
1115
16# List of a jobs included into Workflow.
12jobs:17jobs:
1318
14 yarn-test-dev:19 yarn-test-dev:
15 if: github.event.pull_request.draft == false20 if: github.event.pull_request.draft == false # Conditional check for draft per job.
16 uses: ./.github/workflows/dev-build-tests_v2.yml21 uses: ./.github/workflows/dev-build-tests_v2.yml
1722
1823
19 unit-test:24 unit-test:
20 if: github.event.pull_request.draft == false25 if: github.event.pull_request.draft == false # Conditional check for draft per job.
21 uses: ./.github/workflows/unit-test_v2.yml26 uses: ./.github/workflows/unit-test_v2.yml
2227
23 canary:28 canary:
24 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'canary')) }}29 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'canary')) }} # Conditional check for draft & labels per job.
25 uses: ./.github/workflows/canary.yml30 uses: ./.github/workflows/canary.yml
26 secrets: inherit # pass all secrets31 secrets: inherit # pass all secrets from initial workflow to nested
2732
28 xcm:33 xcm:
29 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'xcm')) }}34 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'xcm')) }} # Conditional check for draft & labels per job.
30 uses: ./.github/workflows/xcm.yml35 uses: ./.github/workflows/xcm.yml
31 secrets: inherit # pass all secrets36 secrets: inherit # pass all secrets from initial workflow to nested
32 37
33 forkless:38 forkless:
34 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'forkless')) }}39 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'forkless')) }} # Conditional check for draft & labels per job.
35 uses: ./.github/workflows/forkless.yml40 uses: ./.github/workflows/forkless.yml
36 41
37 node-only-update:42 node-only-update:
38 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'forkless')) }}43 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'node-only-update')) }} # Conditional check for draft & labels per job.
39 uses: ./.github/workflows/node-only-update_v2.yml44 uses: ./.github/workflows/node-only-update_v2.yml
45
46 parallel_and_sequential_tests:
47 if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'integration')) }} # Conditional check for draft & labels per job.
48 uses: ./.github/workflows/integration-tests.yml
4049
41 codestyle:50 codestyle:
42 if: github.event.pull_request.draft == false51 if: github.event.pull_request.draft == false # Conditional check for draft per job.
43 uses: ./.github/workflows/codestyle_v2.yml52 uses: ./.github/workflows/codestyle_v2.yml
44 53
45 yarn_eslint:54 yarn_eslint:
46 if: github.event.pull_request.draft == false55 if: github.event.pull_request.draft == false # Conditional check for draft per job.
47 uses: ./.github/workflows/test_codestyle_v2.yml56 uses: ./.github/workflows/test_codestyle_v2.yml
4857
modified.github/workflows/ci-master.ymldiffbeforeafterboth
1# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2587656193/CI+Master
2# Workflow which controls starts nested workflows.
1name: master3name: master
24
5# Triger: PR at 'master' branch with following types of events.
3on:6on:
4 pull_request:7 pull_request:
5 branches: [ 'master' ]8 branches: [ 'master' ]
6 types: [ opened, reopened, synchronize, ready_for_review ]9 types: [ opened, reopened, synchronize, ready_for_review ]
710
11#Concurency group for control execution queue over github runners.
8concurrency:12concurrency:
9 group: ${{ github.workflow }}-${{ github.head_ref }}13 group: ${{ github.workflow }}-${{ github.head_ref }}
10 cancel-in-progress: true14 cancel-in-progress: true
1115
16# List of a jobs included into Workflow.
12jobs:17jobs:
1318
14 unit-test:19 unit-test:
2227
23 canary:28 canary:
24 uses: ./.github/workflows/canary.yml29 uses: ./.github/workflows/canary.yml
25 secrets: inherit # pass all secrets30 secrets: inherit # pass all secrets from initial workflow to nested
2631
27 xcm:32 xcm:
28 uses: ./.github/workflows/xcm.yml33 uses: ./.github/workflows/xcm.yml
29 secrets: inherit # pass all secrets34 secrets: inherit # pass all secrets from initial workflow to nested
3035
31 codestyle:36 codestyle:
32 uses: ./.github/workflows/codestyle_v2.yml37 uses: ./.github/workflows/codestyle_v2.yml
modified.github/workflows/codestyle_v2.ymldiffbeforeafterboth
1# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586837012/Code+style+testing
2# Nested workflow for checks related to formatting Rust code
3
1name: cargo fmt4name: cargo fmt
25
6# Triger: only call from main workflow(re-usable workflows)
3on:7on:
4 workflow_call:8 workflow_call:
59
modified.github/workflows/dev-build-tests_v2.ymldiffbeforeafterboth
1# Integration test in --dev mode
2# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586411104/Integration+tests
1name: yarn test dev3name: yarn test dev
24
3# Controls when the action will run.5# Triger: only call from main workflow(re-usable workflows)
4on:6on:
5 # Triggers the workflow on push or pull request events but only for the master branch
6 workflow_call:7 workflow_call:
78
89
9#Define Workflow variables10
10env:11# A workflow run is made up of one or more jobs that can run sequentially or in parallel
11 REPO_URL: ${{ github.server_url }}/${{ github.repository }}
12
13
14# A workflow run is made up of one or more jobs that can run sequentially or in parallel
15jobs:12jobs:
16 13
17 dev_build_int_tests:14 dev_build_int_tests:
modified.github/workflows/forkless-update-data_v2.ymldiffbeforeafterboth
1# Controls when the action will run.1# Forkless update with data replication
2# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586869792/Forkless+update+with+data
3
4# Triger: only call from main workflow(re-usable workflows)
2on:5on:
3 workflow_call:6 workflow_call:
47
58
6#Define Workflow variables9# A workflow run is made up of one or more jobs that can run sequentially or in parallel
7env:
8 REPO_URL: ${{ github.server_url }}/${{ github.repository }}
9
10# A workflow run is made up of one or more jobs that can run sequentially or in parallel
11jobs:10jobs:
1211
13 execution-marix:12 execution-marix:
1413
15 name: execution matrix14 name: Prepare execution matrix
1615
17 runs-on: self-hosted-ci16 runs-on: self-hosted-ci
18 outputs:17 outputs:
46 runs-on: [self-hosted-ci,large]45 runs-on: [self-hosted-ci,large]
47 timeout-minutes: 138046 timeout-minutes: 1380
48 47
49 name: ${{ matrix.network }}48 name: ${{ matrix.network }}-data
50 strategy:49 strategy:
51 matrix:50 matrix:
52 include: ${{fromJson(needs.execution-marix.outputs.matrix)}}51 include: ${{fromJson(needs.execution-marix.outputs.matrix)}}
164 if: always() # run this step always163 if: always() # run this step always
165 run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down --volumes164 run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down --volumes
165
166 - name: Remove builder cache
167 if: always() # run this step always
168 run: |
169 docker builder prune -f -a
170 docker system prune -f
171 docker image prune -f -a
166172
modified.github/workflows/forkless-update-nodata_v2.ymldiffbeforeafterboth
11# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586837021/Forkless+update+without+data
22# Forkless update without data replication
3# Controls when the action will run.3
4# Triger: only call from main workflow(re-usable workflows)
4on:5on:
5 workflow_call:6 workflow_call:
67
78
8#Define Workflow variables9# A workflow run is made up of one or more jobs that can run sequentially or in parallel
9env:
10 REPO_URL: ${{ github.server_url }}/${{ github.repository }}
11
12# A workflow run is made up of one or more jobs that can run sequentially or in parallel
13jobs:10jobs:
14 execution-marix:11 execution-marix:
1512
4946
50 timeout-minutes: 138047 timeout-minutes: 1380
5148
52 name: ${{ matrix.network }}49 name: ${{ matrix.network }}-nodata
5350
54 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.51 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.
5552
189 186
190 - name: Run Sequential tests 187 - name: Run Sequential tests
191 working-directory: tests188 working-directory: tests
189 if: success() || failure()
192 run: |190 run: |
193 yarn install191 yarn install
194 yarn add mochawesome192 yarn add mochawesome
213 if: always() # run this step always211 if: always() # run this step always
214 run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down212 run: docker-compose -f ".docker/docker-compose-forkless.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down
213
214 - name: Remove builder cache
215 if: always() # run this step always
216 run: |
217 docker builder prune -f -a
218 docker system prune -f
219 docker image prune -f -a
215220
modified.github/workflows/forkless.ymldiffbeforeafterboth
1# Intermediate Nested Workflow for calling subworkflows as a parallel tasks.
2
1name: Nesting Forkless3name: Nesting Forkless
24
added.github/workflows/integration-tests.ymldiffbeforeafterboth

no changes

modified.github/workflows/market-test_v2.ymldiffbeforeafterboth
1# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586509375/Market+e2e+test
2# Nested workflow for lunching Market e2e tests from external repository https://github.com/UniqueNetwork/market-e2e-tests
3
1name: market api tests4name: market api tests
25
22 include:25 include:
23 - network: "opal"26 - network: "opal"
24 features: "opal-runtime"27 features: "opal-runtime"
25# - network: "quartz"
26# features: "quartz-runtime"
27# - network: "unique"
28# features: "unique-runtime"
2928
30 steps:29 steps:
31
189 docker builder prune -f186 docker builder prune -f
190 docker system prune -f187 docker system prune -f
191
192 - name: Clean Workspace
193 if: always()
194 uses: AutoModality/action-clean@v1.1.0
195188
196
197
modified.github/workflows/node-only-update_v2.ymldiffbeforeafterboth
1# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586837028/Nodes+only+update
2# Node only update with restart polkadot-launch process.
3
1name: nodes-only update4name: nodes-only update
25
3# Controls when the action will run.6# Triger: only call from main workflow(re-usable workflows)
4on:7on:
5 workflow_call:8 workflow_call:
6#Define Workflow variables9
7env:10
8 REPO_URL: ${{ github.server_url }}/${{ github.repository }}11# A workflow run is made up of one or more jobs that can run sequentially or in parallel
9
10# A workflow run is made up of one or more jobs that can run sequentially or in parallel
11jobs:12jobs:
1213
13 nodes-execution-matrix:14 nodes-execution-matrix:
modified.github/workflows/test_codestyle_v2.ymldiffbeforeafterboth
1# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586804253/Yarn+eslint
2# Yarn Eslint over tests
3#
1name: yarn eslint4name: yarn eslint
25
6# Triger: only call from main workflow(re-usable workflows)
3on:7on:
4 workflow_call:8 workflow_call:
59
modified.github/workflows/try-runtime_v2.ymldiffbeforeafterboth
1# Try-runtime checks
2# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2587656213/Try+runtime
3
4# Triger: only call from main workflow(re-usable workflows)
1on:5on:
2 workflow_call:6 workflow_call:
37
7 # The type of runner that the job will run on11 # The type of runner that the job will run on
8 runs-on: self-hosted-ci12 runs-on: self-hosted-ci
9 13
10 name: ${{ matrix.network }}14 name: ${{ matrix.network }}-try-runtime
1115
12 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.16 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.
1317
67 if: always() # run this step always71 if: always() # run this step always
68 run: docker-compose -f ".docker/docker-compose-try-runtime.yml" -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" down72 run: docker-compose -f ".docker/docker-compose-try-runtime.yml" -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" down
73
74 - name: Remove builder cache
75 if: always() # run this step always
76 run: |
77 docker builder prune -f -a
78 docker system prune -f
79 docker image prune -f -a
6980
modified.github/workflows/unit-test_v2.ymldiffbeforeafterboth
1# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586738699/Unit+Tests
2# Re-Usable Workflow for lanching Unit tests
1name: unit tests3name: unit tests
24
3# Controls when the action will run.5# Controls when the action will run.
6# Triger: only call from main workflow(re-usable workflows)
4on:7on:
5 # Triggers the workflow on push or pull request events but only for the master branch
6 workflow_call:8 workflow_call:
79
8# A workflow run is made up of one or more jobs that can run sequentially or in parallel10# A workflow run is made up of one or more jobs that can run sequentially or in parallel
50 if: always() # run this step always52 if: always() # run this step always
51 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.unit.yml" down53 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.unit.yml" down
54
55 - name: Remove builder cache
56 if: always() # run this step always
57 run: |
58 docker builder prune -f -a
59 docker system prune -f
60 docker image prune -f -a
5261
modified.github/workflows/xcm.ymldiffbeforeafterboth
5252
53 timeout-minutes: 60053 timeout-minutes: 600
5454
55 name: ${{ matrix.network }}55 name: ${{ matrix.network }}-build
5656
57 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.57 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.
5858
276276
277 timeout-minutes: 600277 timeout-minutes: 600
278278
279 name: ${{ matrix.network }}279 name: ${{ matrix.network }}-tests
280280
281 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.281 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.
282282