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 src_repo_url: https://github.com/lzadjsf/unique-chain.git28 RUST_TOOLCHAIN: nightly-2022-05-1129 REPO_URL: ${{ github.server_url }}/${{ github.repository }}303132jobs:33 pre-requisites:34 35 runs-on: self-hosted-ci3637 steps:38 39 - name: Install dependencies40 run: |41 sudo apt-get install git curl libssl-dev llvm pkg-config libclang-dev clang make cmake42 sudo apt autoremove43 curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none44 . $HOME/.cargo/env && cargo install --locked --git https://github.com/chevdor/subwasm45 rustup toolchain install ${{ env.RUST_TOOLCHAIN }}46 rustup default ${{ env.RUST_TOOLCHAIN }}47 rustup target add wasm32-unknown-unknown --toolchain ${{ env.RUST_TOOLCHAIN }}484950 build:51 52 runs-on: self-hosted-ci5354 needs: pre-requisites55 name: Build Container, Spin it Up an test5657 continue-on-error: true 5859 strategy:60 matrix:61 include:62 - network: "Opal"63 features: " "64 - network: "Quartz"65 features: "--features=quartz-runtime"66 - network: "Unique"67 features: "--features=unique-runtime"6869 steps:70 71 - uses: actions/checkout@v37273 - name: Generate ENV related extend file for docker-compose74 uses: cuchi/jinja2-action@v1.2.075 with:76 template: .docker/docker-compose.tmp.j277 output_file: .docker/docker-compose.${{ matrix.network }}.yml78 variables: |79 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git80 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}81 FEATURE=${{ matrix.features }}82 BRANCH=${{ github.head_ref }}8384 - name: Show temporary file85 run: cat .docker/docker-compose.${{ matrix.network }}.yml8687 - name: Build the stack88 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build8990919293 - name: Wait94 run: sleep 420s9596 - name: Install node97 uses: actions/setup-node@v198 with:99 node-version: 14.x100101 - name: Install dependencies102 run: |103 cd tests104 yarn install105 yarn add mochawesome106 yarn --pure-lockfile107108 - name: Run tests109 run: |110 cd tests111 NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}112 env:113 RPC_URL: http://127.0.0.1:9933/114115 - name: Test Report116 uses: phoenix-actions/test-reporting@v8117 id: test-report 118 if: success() || failure() 119 with:120 name: Tests ${{ matrix.network }} 121 path: tests/mochawesome-report/test-*.json 122 reporter: mochawesome-json123 fail-on-error: 'false'124125 - name: Stop running containers126 if: always() 127 run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down