git.delta.rocks / unique-network / refs/commits / 0dc1cc1bdbe5

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"27            features: "opal-runtime"2829    steps:30      - name: Clean Workspace31        uses: AutoModality/action-clean@v1.1.03233      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it34      - name: Checkout master repo35        uses: actions/checkout@master36        with:37          ref: ${{ github.head_ref }}  #Checking out head commit3839      - name: Checkout Market e2e tests40        uses: actions/checkout@v341        with:42          repository: 'UniqueNetwork/market-e2e-tests'43          ssh-key: ${{ secrets.GH_PAT }}44          path: 'qa-tests'45          ref: 'master'4647      - name: Read .env file48        uses: xom9ikk/dotenv@v249      50      - name: Copy qa-tests/.env.example to qa-tests/.env51        working-directory: qa-tests52        run: cp .env.docker .env53        54      - name: Generate ENV related extend file for docker-compose55        uses: cuchi/jinja2-action@v1.2.056        with:57          template: qa-tests/.docker/docker-compose.tmp-market.j258          output_file: qa-tests/.docker/docker-compose.${{ matrix.network }}.yml59          variables: |60            REPO_URL=${{ github.server_url }}/${{ github.repository }}.git61            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}62            POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}63            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}64            FEATURE=${{ matrix.features }}65            BRANCH=${{ github.head_ref }}666768      - name: Show build configuration69        working-directory: qa-tests70        run: cat .docker/docker-compose.${{ matrix.network }}.yml7172      - name: Start node-parachain73        working-directory: qa-tests74        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 75     76      - uses: actions/setup-node@v377        with:78          node-version: 16.177980      - name: Setup TypeScript81        working-directory: qa-tests82        run: |83          npm install -g ts-node84          npm install8586      - name: Copy qa-tests/.env.docker to qa-tests/.env87        working-directory: qa-tests88        run: | 89          rm -rf .env90          cp .env.docker .env9192# Temporary disable node readyness check. Have to dig into the script logic.93#      - name: Wait for chain up and running94#        working-directory: tests95#        run: |96#          yarn install97#          node scripts/readyness.js98#          echo "Ready to start tests"99#        env:100#          RPC_URL: http://127.0.0.1:9933/101102      - name: Wait for chain up and running103        run: |104          sleep 1200s105          echo "Ready to start Market e2e tests"106107      - name: Show content of .env file and Generate accounts108        working-directory: qa-tests109        run: |110          cat .env111          ts-node ./src/scripts/create-market-accounts.ts112113      - name: Copy qa-tests/.env to qa-tests/.env.docker114        working-directory: qa-tests115        run: | 116          rm -rf .env.docker117          cp .env .env.docker118119      - name: Get chain logs120        if: always()                   # run this step always121        run: |122          docker exec node-parachain cat /polkadot-launch/9944.log123          docker exec node-parachain cat /polkadot-launch/9945.log124          docker exec node-parachain cat /polkadot-launch/alice.log125          docker exec node-parachain cat /polkadot-launch/eve.log126          docker exec node-parachain cat /polkadot-launch/dave.log127          docker exec node-parachain cat /polkadot-launch/charlie.log128   129      - name: Deploy contracts130        run: |131          cd qa-tests132          ts-node ./src/scripts/deploy-contract.ts133134      - name: Timeout for debug135        if: failure()136        run: sleep 300s137138      - name: Import test data139        working-directory: qa-tests140        run: ts-node ./src/scripts/create-test-collections.ts141142      - name: Show content of qa-test .env143        working-directory: qa-tests144        run: cat .env145146      - name: Read qa -test .env file Before market start147        uses: xom9ikk/dotenv@v2148        with:149          path: qa-tests/150151      - name: local-market:start152        run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" up -d --build153154      - name: Wait for market readyness155        working-directory: qa-tests156        run: src/scripts/wait-market-ready.sh157        shell: bash158159      - name: Install dependecies160        working-directory: qa-tests161        run: |162          npm ci163          npm install -D @playwright/test164          npx playwright install-deps165          npx playwright install166167      - name: Show content of qa-test .env168        working-directory: qa-tests169        run: cat .env170          171      - name: Test API interface172        working-directory: qa-tests173        run: |174          npx playwright test --workers=3 --quiet .*.api.test.ts --reporter=github --config playwright.config.ts175176      - name: Timeout for debug177        if: failure()178        run: sleep 300s179180      - name: Stop running containers181        if: always()                   # run this step always182        run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" down --volumes183184      - name: Remove builder cache185        if: always()                   # run this step always186        run: |187          docker builder prune -f188          docker system prune -f