git.delta.rocks / unique-network / refs/commits / 5b9d45cd7e40

difftreelog

enable governance workflow for develop and master branch

Konstantin Astakhov2023-09-05parent: #0e75cd9.patch.diff
in: master

4 files changed

modified.github/workflows/ci-develop.ymldiffbeforeafterboth
--- a/.github/workflows/ci-develop.yml
+++ b/.github/workflows/ci-develop.yml
@@ -5,7 +5,7 @@
 # Triger: PR at 'develop' branch with following types of events.
 on:
   pull_request:
-    branches: [ 'develop', 'ci/baedeker' ]
+    branches: [ 'develop' ]
     types: [ opened, reopened, synchronize, ready_for_review, converted_to_draft ]
 
 #Concurency group for control execution queue over github runners.
@@ -61,9 +61,9 @@
     uses: ./.github/workflows/node-only-update.yml
     secrets: inherit
 
-  gov:
+  governance:
     if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'CI-gov')) }}       # Conditional check for draft & labels per job.
-    uses: ./.github/workflows/gov.yml
+    uses: ./.github/workflows/governance.yml
     secrets: inherit # pass all secrets from initial workflow to nested
 
   codestyle:
modified.github/workflows/ci-master.ymldiffbeforeafterboth
--- a/.github/workflows/ci-master.yml
+++ b/.github/workflows/ci-master.yml
@@ -52,6 +52,10 @@
     uses: ./.github/workflows/node-only-update.yml
     secrets: inherit
 
+  governance:
+    uses: ./.github/workflows/governance.yml
+    secrets: inherit
+
   codestyle:
     uses: ./.github/workflows/codestyle.yml
     secrets: inherit
deleted.github/workflows/gov.ymldiffbeforeafterboth
before · .github/workflows/gov.yml
1# Governance tests in --dev mode with gov-test-timings feature enabled to reduce gov timings2name: governance tests34# Triger: only call from main workflow(re-usable workflows)5on:6  workflow_call:78# A workflow run is made up of one or more jobs that can run sequentially or in parallel9jobs:10  prepare-execution-marix:11    name: Prepare execution matrix1213    runs-on: self-hosted-ci14    outputs:15      matrix: ${{ steps.create_matrix.outputs.matrix }}1617    steps:18      - name: Clean Workspace19        uses: AutoModality/action-clean@v1.1.02021      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it22      - uses: actions/checkout@v3.1.023        with:24          ref: ${{ github.head_ref }} #Checking out head commit2526      - name: Read .env file27        uses: xom9ikk/dotenv@v22829      - name: Create Execution matrix30        uses: CertainLach/create-matrix-action@v431        id: create_matrix32        with:33          matrix: |34            network {quartz}, wasm_name {quartz}35            network {opal}, wasm_name {opal}36            network {sapphire}, wasm_name {quartz}3738  dev_build_int_tests:39    needs: prepare-execution-marix40    # The type of runner that the job will run on41    runs-on: [self-hosted-ci, medium]42    timeout-minutes: 13804344    name: ${{ matrix.network }}45    strategy:46      matrix:47        include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}4849    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.5051    steps:52      - name: Clean Workspace53        uses: AutoModality/action-clean@v1.1.05455      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it56      - uses: actions/checkout@v3.1.057        with:58          ref: ${{ github.head_ref }} #Checking out head commit5960      - name: Read .env file61        uses: xom9ikk/dotenv@v26263      - name: Generate ENV related extend file for docker-compose64        uses: cuchi/jinja2-action@v1.2.065        with:66          template: .docker/docker-compose.gov.j267          output_file: .docker/docker-compose.${{ matrix.network }}.yml68          variables: |69            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}70            NETWORK=${{ matrix.network }}71            WASM_NAME=${{ matrix.wasm_name }}7273      - name: Show build configuration74        run: cat .docker/docker-compose.${{ matrix.network }}.yml7576      - name: Build the stack77        run: docker-compose -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --remove-orphans7879      - uses: actions/setup-node@v3.5.180        with:81          node-version: 168283      - name: Run tests84        working-directory: tests85        run: |86          yarn install87          yarn add mochawesome88          ./scripts/wait_for_first_block.sh89          echo "Ready to start tests"90          NOW=$(date +%s) && yarn testGovernance --reporter mochawesome --reporter-options reportFilename=test-${NOW}91        env:92          RPC_URL: http://127.0.0.1:9944/9394      - name: Test Report95        uses: phoenix-actions/test-reporting@v1096        id: test-report97        if: success() || failure() # run this step even if previous step failed98        with:99          name: int test results - ${{ matrix.network }} # Name of the check run which will be created100          path: tests/mochawesome-report/test-*.json # Path to test results101          reporter: mochawesome-json102          fail-on-error: 'false'103104      - name: Read output variables105        run: |106          echo "url is ${{ steps.test-report.outputs.runHtmlUrl }}"107108      - name: Stop running containers109        if: always() # run this step always110        run: docker-compose -f ".docker/docker-compose.${{ matrix.network }}.yml" down111112      - name: Remove builder cache113        if: always() # run this step always114        run: |115          docker builder prune -f -a116          docker system prune -f117          docker image prune -f -a
added.github/workflows/governance.ymldiffbeforeafterboth
--- /dev/null
+++ b/.github/workflows/governance.yml
@@ -0,0 +1,117 @@
+# Governance tests in --dev mode with gov-test-timings feature enabled to reduce gov timings
+name: governance tests
+
+# Triger: only call from main workflow(re-usable workflows)
+on:
+  workflow_call:
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+  prepare-execution-marix:
+    name: Prepare 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.1.0
+        with:
+          ref: ${{ github.head_ref }} #Checking out head commit
+
+      - name: Read .env file
+        uses: xom9ikk/dotenv@v2
+
+      - name: Create Execution matrix
+        uses: CertainLach/create-matrix-action@v4
+        id: create_matrix
+        with:
+          matrix: |
+            network {quartz}, wasm_name {quartz}
+            network {opal}, wasm_name {opal}
+            network {sapphire}, wasm_name {quartz}
+
+  dev_build_int_tests:
+    needs: prepare-execution-marix
+    # The type of runner that the job will run on
+    runs-on: [self-hosted-ci, medium]
+    timeout-minutes: 1380
+
+    name: ${{ matrix.network }}
+    strategy:
+      matrix:
+        include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
+
+    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.
+
+    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.1.0
+        with:
+          ref: ${{ github.head_ref }} #Checking out head commit
+
+      - name: Read .env file
+        uses: xom9ikk/dotenv@v2
+
+      - name: Generate ENV related extend file for docker-compose
+        uses: cuchi/jinja2-action@v1.2.0
+        with:
+          template: .docker/docker-compose.gov.j2
+          output_file: .docker/docker-compose.${{ matrix.network }}.yml
+          variables: |
+            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
+            NETWORK=${{ matrix.network }}
+            WASM_NAME=${{ matrix.wasm_name }}
+
+      - name: Show build configuration
+        run: cat .docker/docker-compose.${{ matrix.network }}.yml
+
+      - name: Build the stack
+        run: docker-compose -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --remove-orphans
+
+      - uses: actions/setup-node@v3.5.1
+        with:
+          node-version: 16
+
+      - name: Run tests
+        working-directory: tests
+        run: |
+          yarn install
+          yarn add mochawesome
+          ./scripts/wait_for_first_block.sh
+          echo "Ready to start tests"
+          NOW=$(date +%s) && yarn testGovernance --reporter mochawesome --reporter-options reportFilename=test-${NOW}
+        env:
+          RPC_URL: http://127.0.0.1:9944/
+
+      - name: Test Report
+        uses: phoenix-actions/test-reporting@v10
+        id: test-report
+        if: success() || failure() # run this step even if previous step failed
+        with:
+          name: int test results - ${{ matrix.network }} # Name of the check run which will be created
+          path: tests/mochawesome-report/test-*.json # Path to test results
+          reporter: mochawesome-json
+          fail-on-error: 'false'
+
+      - name: Read output variables
+        run: |
+          echo "url is ${{ steps.test-report.outputs.runHtmlUrl }}"
+
+      - name: Stop running containers
+        if: always() # run this step always
+        run: docker-compose -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