1name: yarn test dev234on:5 6 pull_request:7 branches:8 - develop9 types:10 - opened11 - reopened12 - synchronize 13 - ready_for_review1415 16 workflow_dispatch:171819env:20 REPO_URL: ${{ github.server_url }}/${{ github.repository }}2122concurrency: 23 group: ${{ github.workflow }}-${{ github.ref }}24 cancel-in-progress: true252627jobs:28 29 dev_build_int_tests:30 31 runs-on: [self-hosted-ci,medium]32 timeout-minutes: 13803334 name: ${{ matrix.network }}3536 continue-on-error: true 3738 strategy:39 matrix:40 include:41 - network: "opal"42 features: "opal-runtime"43 - network: "quartz"44 features: "quartz-runtime"45 - network: "unique"46 features: "unique-runtime"4748 steps:49 - name: Skip if pull request is in Draft50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 if: github.event.pull_request.draft == true65 run: exit 16667 - name: Clean Workspace68 uses: AutoModality/action-clean@v1.1.06970 71 - uses: actions/checkout@v372 with:73 ref: ${{ github.head_ref }} 7475 - name: Read .env file76 uses: xom9ikk/dotenv@v1.0.27778 - name: Generate ENV related extend file for docker-compose79 uses: cuchi/jinja2-action@v1.2.080 with:81 template: .docker/docker-compose.tmp-dev.j282 output_file: .docker/docker-compose.${{ matrix.network }}.yml83 variables: |84 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}85 FEATURE=${{ matrix.features }}86 8788 - name: Show build configuration89 run: cat .docker/docker-compose.${{ matrix.network }}.yml9091 - name: Build the stack92 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --remove-orphans9394 - uses: actions/setup-node@v395 with:96 node-version: 169798 - name: Run tests99 run: |100 cd tests101 yarn install102 yarn add mochawesome103 echo "Ready to start tests"104 node scripts/readyness.js105 NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}106 env:107 RPC_URL: http://127.0.0.1:9933/108109 - name: Test Report110 uses: phoenix-actions/test-reporting@v8111 id: test-report112 if: success() || failure() 113 with:114 name: int test results: ${{ matrix.network }} # Name of the check run which will be created115 path: tests/mochawesome-report/test-*.json # Path to test results116 reporter: mochawesome-json117 fail-on-error: 'false'118119 - name: Read output variables120 run: |121 echo "url is ${{ steps.test-report.outputs.runHtmlUrl }}"122123 - name: Stop running containers124 if: always() # run this step always125 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down126127128 dev_build_unit_test:129 # The type of runner that the job will run on130 runs-on: [self-hosted-ci,medium]131 timeout-minutes: 1380132133 name: unit tests134135136 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.137138139 steps:140 - name: Skip if pull request is in Draft141 # `if: github.event.pull_request.draft == true` should be kept here, at142 # the step level, rather than at the job level. The latter is not143 # recommended because when the PR is moved from "Draft" to "Ready to144 # 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 for146 # the workflow to start. This is also disclosed in:147 # https://github.community/t/dont-run-actions-on-draft-pull-requests/16817/17148 # That scenario would open an opportunity for the check to be bypassed:149 # 1. Get your PR approved150 # 2. Move it to Draft151 # 3. Push whatever commits you want152 # 4. Move it to "Ready for review"; now the workflow is passing (it was153 # skipped) and "Check reviews" is also passing (it won't be updated154 # until the workflow is finished)155 if: github.event.pull_request.draft == true156 run: exit 1157158 - name: Clean Workspace159 uses: AutoModality/action-clean@v1.1.0160161 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it162 - uses: actions/checkout@v3163 with:164 ref: ${{ github.head_ref }} #Checking out head commit165166 - name: Read .env file167 uses: xom9ikk/dotenv@v1.0.2168169 - name: Generate ENV related extend file for docker-compose170 uses: cuchi/jinja2-action@v1.2.0171 with:172 template: .docker/docker-compose.tmp-unit.j2173 output_file: .docker/docker-compose.unit.yml174 variables: |175 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}176 FEATURE=${{ matrix.features }}177 178179 - name: Show build configuration180 run: cat .docker/docker-compose.unit.yml181182 - name: Build the stack183 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.unit.yml" up -d --build --remove-orphans184185186 - name: Stop running containers187 if: always() # run this step always188 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.unit.yml" down