1name: Develop - Build & test234on:5 6 pull_request:7 branches:8 - develop9 types:10 - opened11 - reopened12 - synchronize 1314 15 workflow_dispatch:161718env:19 REPO_URL: ${{ github.server_url }}/${{ github.repository }}202122jobs:23 dev_build_test:24 25 runs-on: self-hosted-ci2627 name: Build Container, Spin it Up an test2829 continue-on-error: true 3031 strategy:32 matrix:33 include:34 - network: "Opal"35 features: "--features=opal-runtime"36 - network: "Quartz"37 features: "--features=quartz-runtime"38 - network: "Unique"39 features: "--features=unique-runtime"4041 steps:42 - name: Skip if pull request is in Draft43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 if: github.event.pull_request.draft == true58 run: exit 15960 61 - uses: actions/checkout@v362 with:63 ref: ${{ github.head_ref }} 6465 - name: Read .env file66 uses: xom9ikk/dotenv@v1.0.26768 - name: Generate ENV related extend file for docker-compose69 uses: cuchi/jinja2-action@v1.2.070 with:71 template: .docker/docker-compose.tmp.j272 output_file: .docker/docker-compose.${{ matrix.network }}.yml73 variables: |74 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git75 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}76 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}77 FEATURE='${{ matrix.features }}'78 BRANCH=${{ github.head_ref }}7980 - name: Show build configuration81 run: cat .docker/docker-compose.${{ matrix.network }}.yml8283 - name: Build the stack84 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build8586 - uses: actions/setup-node@v387 with:88 node-version: 168990 - name: Run tests91 run: |92 cd tests93 yarn install94 yarn add mochawesome95 echo "Ready to start tests"96 node scripts/readyness.js97 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 if: success() || failure() 104 with:105 name: Tests ${{ matrix.network }} 106 path: tests/mochawesome-report/test-*.json 107 reporter: mochawesome-json108 fail-on-error: 'false'109110 - name: Read output variables111 run: |112 echo "url is ${{ steps.test-report.outputs.runHtmlUrl }}"113114 - name: Stop running containers115 if: always() 116 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down