git.delta.rocks / unique-network / refs/commits / 3b8cf7632970

difftreelog

source

.github/workflows/market-test.yml6.1 KiBsourcehistory
1# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586509375/Market+e2e+test2# Nested workflow for lunching Market e2e tests from external repository https://github.com/UniqueNetwork/market-e2e-tests34name: market api tests56# Controls when the action will run.7on:8  workflow_call:91011# A workflow run is made up of one or more jobs that can run sequentially or in parallel12jobs:1314  market_test:15    # The type of runner that the job will run on16    runs-on: [self-hosted-ci,large]17    timeout-minutes: 3601819    name: ${{ matrix.network }}    2021    continue-on-error: true         #Do not stop testing of matrix runs failed.  As it decided during PR review - it required 50/50& Let's check it with false.22    23    strategy:24      matrix:25        include:26          - network: "opal"2728    steps:29      - name: Clean Workspace30        uses: AutoModality/action-clean@v1.1.03132      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it33      - name: Checkout master repo34        uses: actions/checkout@master35        with:36          ref: ${{ github.head_ref }}  #Checking out head commit3738      - name: Checkout Market e2e tests39        uses: actions/checkout@v340        with:41          repository: 'UniqueNetwork/market-e2e-tests'42          ssh-key: ${{ secrets.GH_PAT }}43          path: 'qa-tests'44          ref: 'master'4546      - name: Read .env file47        uses: xom9ikk/dotenv@v248      49      - name: Copy qa-tests/.env.example to qa-tests/.env50        working-directory: qa-tests51        run: cp .env.docker .env52        53      - name: Generate ENV related extend file for docker-compose54        uses: cuchi/jinja2-action@v1.2.055        with:56          template: qa-tests/.docker/docker-compose.tmp-market.j257          output_file: qa-tests/.docker/docker-compose.${{ matrix.network }}.yml58          variables: |59            REPO_URL=${{ github.server_url }}/${{ github.repository }}.git60            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}61            POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}62            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}63            NETWORK=${{ matrix.network }}64            BRANCH=${{ github.head_ref }}656667      - name: Show build configuration68        working-directory: qa-tests69        run: cat .docker/docker-compose.${{ matrix.network }}.yml7071      - name: Start node-parachain72        working-directory: qa-tests73        run: docker-compose -f ".docker/docker-compose.market.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --remove-orphans --force-recreate node-parachain 74     75      - uses: actions/setup-node@v376        with:77          node-version: 16.177879      - name: Setup TypeScript80        working-directory: qa-tests81        run: |82          npm install -g ts-node83          npm install8485      - name: Copy qa-tests/.env.docker to qa-tests/.env86        working-directory: qa-tests87        run: | 88          rm -rf .env89          cp .env.docker .env9091# Temporary disable node readyness check. Have to dig into the script logic.92#      - name: Wait for chain up and running93#        working-directory: tests94#        run: |95#          yarn install96#          node scripts/readyness.js97#          echo "Ready to start tests"98#        env:99#          RPC_URL: http://127.0.0.1:9933/100101      - name: Wait for chain up and running102        run: |103          sleep 1200s104          echo "Ready to start Market e2e tests"105106      - name: Show content of .env file and Generate accounts107        working-directory: qa-tests108        run: |109          cat .env110          ts-node ./src/scripts/create-market-accounts.ts111112      - name: Copy qa-tests/.env to qa-tests/.env.docker113        working-directory: qa-tests114        run: | 115          rm -rf .env.docker116          cp .env .env.docker117118      - name: Get chain logs119        if: always()                   # run this step always120        run: |121          docker exec node-parachain cat /polkadot-launch/9944.log122          docker exec node-parachain cat /polkadot-launch/9945.log123          docker exec node-parachain cat /polkadot-launch/alice.log124          docker exec node-parachain cat /polkadot-launch/eve.log125          docker exec node-parachain cat /polkadot-launch/dave.log126          docker exec node-parachain cat /polkadot-launch/charlie.log127   128      - name: Deploy contracts129        run: |130          cd qa-tests131          ts-node ./src/scripts/deploy-contract.ts132133      - name: Timeout for debug134        if: failure()135        run: sleep 300s136137      - name: Import test data138        working-directory: qa-tests139        run: ts-node ./src/scripts/create-test-collections.ts140141      - name: Show content of qa-test .env142        working-directory: qa-tests143        run: cat .env144145      - name: Read qa -test .env file Before market start146        uses: xom9ikk/dotenv@v2147        with:148          path: qa-tests/149150      - name: local-market:start151        run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" up -d --build152153      - name: Wait for market readyness154        working-directory: qa-tests155        run: src/scripts/wait-market-ready.sh156        shell: bash157158      - name: Install dependecies159        working-directory: qa-tests160        run: |161          npm ci162          npm install -D @playwright/test163          npx playwright install-deps164          npx playwright install165166      - name: Show content of qa-test .env167        working-directory: qa-tests168        run: cat .env169          170      - name: Test API interface171        working-directory: qa-tests172        run: |173          npx playwright test --workers=3 --quiet .*.api.test.ts --reporter=github --config playwright.config.ts174175      - name: Timeout for debug176        if: failure()177        run: sleep 300s178179      - name: Stop running containers180        if: always()                   # run this step always181        run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" down --volumes182183      - name: Remove builder cache184        if: always()                   # run this step always185        run: |186          docker builder prune -f187          docker system prune -f