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: true 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.head_ref }} 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 cd tests92 yarn install93 yarn add mochawesome94 echo "Ready to start tests"95 node scripts/readyness.js96 NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}97 env:98 RPC_URL: http://127.0.0.1:9933/99100 - name: Test Report101 uses: phoenix-actions/test-reporting@v8102 if: success() || failure() 103 with:104 name: Tests ${{ matrix.network }} 105 path: tests/mochawesome-report/test-*.json 106 reporter: mochawesome-json107 fail-on-error: 'false'108109 - name: Read output variables110 run: |111 echo "url is ${{ steps.test-report.outputs.runHtmlUrl }}"112113 - name: Stop running containers114 if: always() 115 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down