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

difftreelog

tests: separate unit tests into own workflow. apply for master and develop branches.

Alexander Aksenov2022-08-22parent: #88e3646.patch.diff
in: master

5 files changed

modified.docker/Dockerfile-chain-dev-unitdiffbeforeafterboth
--- a/.docker/Dockerfile-chain-dev-unit
+++ b/.docker/Dockerfile-chain-dev-unit
@@ -23,4 +23,4 @@
 
 WORKDIR /dev_chain
 
-RUN cargo test --features=limit-testing
+CMD cargo test --features=limit-testing
modified.envdiffbeforeafterboth
--- a/.env
+++ b/.env
@@ -7,6 +7,9 @@
 KUSAMA_MAINNET_BRANCH=release-v0.9.26
 QUARTZ_MAINNET_TAG=quartz-v924012-2
 
+UNQWND_MAINNET_BRANCH=release-v0.9.24
+
 OPAL_REPLICA_FROM=wss://eu-ws-opal.unique.network:443
 QUARTZ_REPLICA_FROM=wss://eu-ws-quartz.unique.network:443
 UNIQUE_REPLICA_FROM=wss://eu-ws.unique.network:443
+
modified.github/workflows/codestyle.ymldiffbeforeafterboth
--- a/.github/workflows/codestyle.yml
+++ b/.github/workflows/codestyle.yml
@@ -49,7 +49,7 @@
         run: cargo fmt -- --check   # In that mode it returns only exit code.
       - name: Cargo fmt state
         if: success()
-        run: echo "Nothing to do. Cargo fmt returned exit code 0."
+        run: echo "Nothing to do. Cargo fmt check - returned exit code 0."
 
 
   clippy:
modified.github/workflows/dev-build-tests.ymldiffbeforeafterboth
125 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down125 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down
126
127
128 dev_build_unit_test:
129 # The type of runner that the job will run on
130 runs-on: [self-hosted-ci,medium]
131 timeout-minutes: 1380
132
133 name: unit tests
134
135
136 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.
137
138
139 steps:
140 - name: Skip if pull request is in Draft
141 # `if: github.event.pull_request.draft == true` should be kept here, at
142 # the step level, rather than at the job level. The latter is not
143 # recommended because when the PR is moved from "Draft" to "Ready to
144 # review" the workflow will immediately be passing (since it was skipped),
145 # even though it hasn't actually ran, since it takes a few seconds for
146 # the workflow to start. This is also disclosed in:
147 # https://github.community/t/dont-run-actions-on-draft-pull-requests/16817/17
148 # That scenario would open an opportunity for the check to be bypassed:
149 # 1. Get your PR approved
150 # 2. Move it to Draft
151 # 3. Push whatever commits you want
152 # 4. Move it to "Ready for review"; now the workflow is passing (it was
153 # skipped) and "Check reviews" is also passing (it won't be updated
154 # until the workflow is finished)
155 if: github.event.pull_request.draft == true
156 run: exit 1
157
158 - name: Clean Workspace
159 uses: AutoModality/action-clean@v1.1.0
160
161 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
162 - uses: actions/checkout@v3
163 with:
164 ref: ${{ github.head_ref }} #Checking out head commit
165
166 - name: Read .env file
167 uses: xom9ikk/dotenv@v1.0.2
168
169 - name: Generate ENV related extend file for docker-compose
170 uses: cuchi/jinja2-action@v1.2.0
171 with:
172 template: .docker/docker-compose.tmp-unit.j2
173 output_file: .docker/docker-compose.unit.yml
174 variables: |
175 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
176 FEATURE=${{ matrix.features }}
177
178
179 - name: Show build configuration
180 run: cat .docker/docker-compose.unit.yml
181
182 - name: Build the stack
183 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.unit.yml" up -d --build --remove-orphans
184
185
186 - name: Stop running containers
187 if: always() # run this step always
188 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.unit.yml" down
189126
127
128
added.github/workflows/unit-tests.ymldiffbeforeafterboth
--- /dev/null
+++ b/.github/workflows/unit-tests.yml
@@ -0,0 +1,89 @@
+name: yarn test
+
+# Controls when the action will run.
+on:
+ # Triggers the workflow on push or pull request events but only for the master branch
+  pull_request:
+    branches:
+      - develop
+      - master
+    types:
+      - opened
+      - reopened
+      - synchronize   #commit(s) pushed to the pull request
+      - ready_for_review
+
+  # Allows you to run this workflow manually from the Actions tab
+  workflow_dispatch:
+
+#Define Workflow variables
+env:
+  REPO_URL: ${{ github.server_url }}/${{ github.repository }}
+
+concurrency: 
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+
+  unit_tests:
+    # The type of runner that the job will run on
+    runs-on: [self-hosted-ci,medium]
+    timeout-minutes: 1380
+
+    name: unit 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.
+
+
+    steps:
+      - name: Skip if pull request is in Draft
+        # `if: github.event.pull_request.draft == true` should be kept here, at
+        # the step level, rather than at the job level. The latter is not
+        # recommended because when the PR is moved from "Draft" to "Ready to
+        # review" the workflow will immediately be passing (since it was skipped),
+        # even though it hasn't actually ran, since it takes a few seconds for
+        # the workflow to start. This is also disclosed in:
+        # https://github.community/t/dont-run-actions-on-draft-pull-requests/16817/17
+        # That scenario would open an opportunity for the check to be bypassed:
+        # 1. Get your PR approved
+        # 2. Move it to Draft
+        # 3. Push whatever commits you want
+        # 4. Move it to "Ready for review"; now the workflow is passing (it was
+        #    skipped) and "Check reviews" is also passing (it won't be updated
+        #    until the workflow is finished)
+        if: github.event.pull_request.draft == true
+        run: exit 1
+
+      - 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-unit.j2
+          output_file: .docker/docker-compose.unit.yml
+          variables: |
+            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
+            FEATURE=${{ matrix.features }}
+    
+
+      - name: Show build configuration
+        run: cat .docker/docker-compose.unit.yml
+
+      - name: Build the stack
+        run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.unit.yml" up --build  --force-recreate --timeout 300 --remove-orphans --exit-code-from node-dev
+
+      - 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