1name: Develop - Build & test234on:5 6 pull_request:7 branches:8 - develop9 types:10 - opened11 - reopened12 - synchronize 1314 15 workflow_dispatch:161718env:19 RUST_TOOLCHAIN: nightly-2022-05-1120 REPO_URL: ${{ github.server_url }}/${{ github.repository }}21 POLKA_VERSION: release-v0.9.24222324jobs:25 build:26 27 runs-on: self-hosted-ci2829 name: Build Container, Spin it Up an test3031 continue-on-error: false 3233 strategy:34 matrix:35 include:36 - network: "Opal"37 features: "--features=opal-runtime"38 - network: "Quartz"39 features: "--features=quartz-runtime"40 - network: "Unique"41 features: "--features=unique-runtime"4243 steps:44 - name: Skip if pull request is in Draft45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 if: github.event.pull_request.draft == true60 run: exit 16162 63 - uses: actions/checkout@v364 with:65 ref: ${{ github.event.pull_request.head.sha }} 6667 - name: Generate ENV related extend file for docker-compose68 uses: cuchi/jinja2-action@v1.2.069 with:70 template: .docker/docker-compose.tmp.j271 output_file: .docker/docker-compose.${{ matrix.network }}.yml72 variables: |73 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git74 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}75 POLKA_VERSION=${{ env.POLKA_VERSION }}76 FEATURE=${{ matrix.features }}77 BRANCH=${{ github.head_ref }}7879 - name: Show build configuration80 run: cat .docker/docker-compose.${{ matrix.network }}.yml8182 - name: Build the stack83 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build8485 - uses: actions/setup-node@v386 with:87 node-version: 168889 - name: Run tests90 run: |91 yarn install92 yarn add @polkadot/api @polkadot/util@9.4.1 mochawesome93 yarn --pure-lockfile94 echo "Ready to start tests"95 node .docker/readyness.js96 cd tests97 NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}98 env:99 RPC_URL: http://127.0.0.1:9933/100101 - name: Test Report102 uses: phoenix-actions/test-reporting@v8103 id: test-report 104 if: success() || failure() 105 with:106 name: Tests ${{ matrix.network }} 107 path: tests/mochawesome-report/test-*.json 108 reporter: mochawesome-json109 fail-on-error: 'false'110111 - name: Stop running containers112 if: always() 113 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down