1name: Build & test234on:5 6 7 8 pull_request:9 branches:10 - develop11 types:12 - opened13 - edited14 - reopened15 16 17 18 workflow_dispatch:192021env:22 ubuntu_version: focal23 chains_release_dir: /opt/runner/chains_release24 opal_chain_workdir: ./src_opal_chain25 quartz_chain_workdir: ./src_quartz_chain26 unique_chain_workdir: ./src_unique_chain27 RUST_TOOLCHAIN: nightly-2022-05-1128 REPO_URL: ${{ github.server_url }}/${{ github.repository }}293031jobs:32 pre-requisites:33 34 runs-on: self-hosted-ci3536 steps:37 38 - name: Install dependencies39 run: |40 sudo apt-get install git curl libssl-dev llvm pkg-config libclang-dev clang make cmake41 sudo apt autoremove42 curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none43 . $HOME/.cargo/env && cargo install --locked --git https://github.com/chevdor/subwasm44 rustup toolchain install ${{ env.RUST_TOOLCHAIN }}45 rustup default ${{ env.RUST_TOOLCHAIN }}46 rustup target add wasm32-unknown-unknown --toolchain ${{ env.RUST_TOOLCHAIN }}474849 build:50 51 runs-on: self-hosted-ci5253 needs: pre-requisites54 name: Build Container, Spin it Up an test5556 continue-on-error: true 5758 strategy:59 matrix:60 include:61 - network: "Opal"62 features: " "63 - network: "Quartz"64 features: "--features=quartz-runtime"65 - network: "Unique"66 features: "--features=unique-runtime"6768 steps:69 70 - uses: actions/checkout@v37172 - name: Generate ENV related extend file for docker-compose73 uses: cuchi/jinja2-action@v1.2.074 with:75 template: .docker/docker-compose.tmp.j276 output_file: .docker/docker-compose.${{ matrix.network }}.yml77 variables: |78 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git79 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}80 FEATURE=${{ matrix.features }}81 BRANCH=${{ github.head_ref }}8283 - name: Show temporary file84 run: cat .docker/docker-compose.${{ matrix.network }}.yml8586 - name: Build the stack87 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build8889909192 - name: Wait93 run: sleep 420s9495 - name: Install node96 uses: actions/setup-node@v197 with:98 node-version: 14.x99100 - name: Install dependencies101 run: |102 cd tests103 yarn install104 yarn add mochawesome105 yarn --pure-lockfile106107 - name: Run tests108 run: |109 cd tests110 NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}111 env:112 RPC_URL: http://127.0.0.1:9933/113114 - name: Test Report115 uses: phoenix-actions/test-reporting@v8116 id: test-report 117 if: success() || failure() 118 with:119 name: Tests ${{ matrix.network }} 120 path: tests/mochawesome-report/test-*.json 121 reporter: mochawesome-json122 fail-on-error: 'false'123124 - name: Stop running containers125 if: always() 126 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down