--- a/.github/workflows/ci-develop.yml +++ b/.github/workflows/ci-develop.yml @@ -1,51 +1,55 @@ +# 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, 'forkless')) }} # 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, 'para')) }} + if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'para')) }} # Conditional check for draft & labels per job. uses: ./.github/workflows/node-only-update_v3.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,18 @@ +# 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 +26,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,8 @@ +# 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,8 +1,9 @@ +# Integration test in --dev mode +# https://cryptousetech.atlassian.net/browse/CI-12 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: @@ -101,4 +102,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,11 +1,10 @@ -# Controls when the action will run. +# Forkless update with data replication +# https://cryptousetech.atlassian.net/browse/CI-42 + +# 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: @@ -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,6 +1,7 @@ +# Forkless update without data replication +# https://cryptousetech.atlassian.net/browse/CI-41 - -# Controls when the action will run. +# Triger: only call from main workflow(re-usable workflows) on: workflow_call: @@ -213,3 +214,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: --- a/.github/workflows/market-test_v2.yml +++ b/.github/workflows/market-test_v2.yml @@ -1,3 +1,6 @@ +#https://cryptousetech.atlassian.net/browse/CI-37 +# 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/browse/CI-85 +# 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/node-only-update_v3.yml +++ b/.github/workflows/node-only-update_v3.yml @@ -1,6 +1,7 @@ +# Test workflow for debug parallel and sequental tests in scope of execution time reducing. name: Parallele tests -# Controls when the action will run. +# Triger: only call from main workflow(re-usable workflows) on: workflow_call: #Define Workflow variables --- a/.github/workflows/test_codestyle_v2.yml +++ b/.github/workflows/test_codestyle_v2.yml @@ -1,5 +1,8 @@ +# 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/browse/CI-38 + +# Triger: only call from main workflow(re-usable workflows) on: workflow_call: @@ -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,9 @@ +# 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 +50,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