git.delta.rocks / unique-network / refs/commits / fb3fa28b0be8

difftreelog

source

.github/workflows/market-test_v2.yml5.9 KiBsourcehistory
1name: market api tests23# Controls when the action will run.4on:5  workflow_call:678# A workflow run is made up of one or more jobs that can run sequentially or in parallel9jobs:1011  market_test:12    # The type of runner that the job will run on13    runs-on: [self-hosted-ci,large]14    timeout-minutes: 13801516    name: ${{ matrix.network }}    1718    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.19    20    strategy:21      matrix:22        include:23          - network: "opal"24            features: "opal-runtime"25#          - network: "quartz"26#            features: "quartz-runtime"27#          - network: "unique"28#            features: "unique-runtime"2930    steps:313233      - name: Clean Workspace34        uses: AutoModality/action-clean@v1.1.03536      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it37      - name: Checkout master repo38        uses: actions/checkout@master39        with:40          ref: ${{ github.head_ref }}  #Checking out head commit4142      - name: Checkout Market e2e tests43        uses: actions/checkout@v344        with:45          repository: 'UniqueNetwork/market-e2e-tests'46          ssh-key: ${{ secrets.GH_PAT }}47          path: 'qa-tests'48          ref: 'master'4950      - name: Read .env file51        uses: xom9ikk/dotenv@v1.0.252      53      - name: Copy qa-tests/.env.example to qa-tests/.env54        working-directory: qa-tests55        run: cp .env.docker .env56        57      - name: Generate ENV related extend file for docker-compose58        uses: cuchi/jinja2-action@v1.2.059        with:60          template: qa-tests/.docker/docker-compose.tmp-market.j261          output_file: qa-tests/.docker/docker-compose.${{ matrix.network }}.yml62          variables: |63            REPO_URL=${{ github.server_url }}/${{ github.repository }}.git64            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}65            POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}66            FEATURE=${{ matrix.features }}67            BRANCH=${{ github.head_ref }}686970      - name: Show build configuration71        working-directory: qa-tests72        run: cat .docker/docker-compose.${{ matrix.network }}.yml7374      - name: Start node-parachain75        working-directory: qa-tests76        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 77     78      - uses: actions/setup-node@v379        with:80          node-version: 16.178182      - name: Setup TypeScript83        working-directory: qa-tests84        run: |85          npm install -g ts-node86          npm install8788      - name: Copy qa-tests/.env.docker to qa-tests/.env89        working-directory: qa-tests90        run: | 91          rm -rf .env92          cp .env.docker .env9394      - name: Wait for chain up and running95        working-directory: tests96        run: |97          yarn install98          node scripts/readyness.js99          echo "Ready to start tests"100101      - name: Show content of .env file and Generate accounts102        working-directory: qa-tests103        run: |104          cat .env105          ts-node ./src/scripts/create-market-accounts.ts106107      - name: Copy qa-tests/.env to qa-tests/.env.docker108        working-directory: qa-tests109        run: | 110          rm -rf .env.docker111          cp .env .env.docker112113      - name: Get chain logs114        if: always()                   # run this step always115        run: |116          docker exec node-parachain cat /polkadot-launch/9944.log117          docker exec node-parachain cat /polkadot-launch/9945.log118          docker exec node-parachain cat /polkadot-launch/alice.log119          docker exec node-parachain cat /polkadot-launch/eve.log120          docker exec node-parachain cat /polkadot-launch/dave.log121          docker exec node-parachain cat /polkadot-launch/charlie.log122   123      - name: Deploy contracts124        run: |125          cd qa-tests126          ts-node ./src/scripts/deploy-contract.ts127128      - name: Timeout for debug129        if: failure()130        run: sleep 300s131132      - name: Import test data133        working-directory: qa-tests134        run: ts-node ./src/scripts/create-test-collections.ts135136      - name: Show content of qa-test .env137        working-directory: qa-tests138        run: cat .env139140      - name: Read qa -test .env file Before market start141        uses: xom9ikk/dotenv@v1.0.2142        with:143          path: qa-tests/144145146      - name: local-market:start147        run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" up -d --build148149      - name: Wait for market readyness150        working-directory: qa-tests151        run: src/scripts/wait-market-ready.sh152        shell: bash153154      - name: Install dependecies155        working-directory: qa-tests156        run: |157          npm ci158          npm install -D @playwright/test159          npx playwright install-deps160          npx playwright install161162      - name: Show content of qa-test .env163        working-directory: qa-tests164        run: cat .env165          166      - name: Test API interface167        working-directory: qa-tests168        run: |169          npx playwright test --workers=8 --quiet .*.api.test.ts --reporter=github --config playwright.config.ts170171      - name: Timeout for debug172        if: failure()173        run: sleep 300s174175      - name: Stop running containers176        if: always()                   # run this step always177        run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" down --volumes178179      - name: Remove builder cache180        if: always()                   # run this step always181        run: |182          docker builder prune -f183          docker system prune -f184185      - name: Clean Workspace186        if: always()187        uses: AutoModality/action-clean@v1.1.0188189190191