1name: market api tests234on:5 workflow_call:6789jobs:1011 market_test:12 13 runs-on: [self-hosted-ci,large]14 timeout-minutes: 13801516 name: ${{ matrix.network }} 1718 continue-on-error: true 19 20 strategy:21 matrix:22 include:23 - network: "opal"24 features: "opal-runtime"252627282930 steps:313233 - name: Clean Workspace34 uses: AutoModality/action-clean@v1.1.03536 37 - name: Checkout master repo38 uses: actions/checkout@master39 with:40 ref: ${{ github.head_ref }} 4142 - 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'4849 ref: 'ci_test_v2'5051 - name: Read .env file52 uses: xom9ikk/dotenv@v1.0.253 54 - name: Copy qa-tests/.env.example to qa-tests/.env55 working-directory: qa-tests56 run: cp .env.docker .env57585960616263646566 67 - name: Generate ENV related extend file for docker-compose68 uses: cuchi/jinja2-action@v1.2.069 with:70 template: qa-tests/.docker/docker-compose.tmp-market.j271 output_file: qa-tests/.docker/docker-compose.${{ matrix.network }}.yml72 variables: |73 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git74 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}75 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}76 FEATURE=${{ matrix.features }}77 BRANCH=${{ github.head_ref }}787980 - name: Show build configuration81 working-directory: qa-tests82 run: cat .docker/docker-compose.${{ matrix.network }}.yml8384 - name: Start node-parachain85 working-directory: qa-tests86 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 8788899091 92 - uses: actions/setup-node@v393 with:94 node-version: 16.179596 - name: Setup TypeScript97 working-directory: qa-tests98 run: |99 npm install -g ts-node100 npm install101102 - name: Copy qa-tests/.env.docker to qa-tests/.env103 working-directory: qa-tests104 run: | 105 rm -rf .env106 cp .env.docker .env107 108 109110111112113114115116117118119 - name: Wait for chain up and running120 working-directory: tests121 run: |122 yarn install123 node scripts/readyness.js124 echo "Ready to start tests"125126 - name: WShow content of .env file and Generate accounts127 working-directory: qa-tests128 run: |129 cat .env130 ts-node ./src/scripts/create-market-accounts.ts131132 - name: Copy qa-tests/.env to qa-tests/.env.docker133 working-directory: qa-tests134 run: | 135 rm -rf .env.docker136 cp .env .env.docker137138 - name: Get chain logs139 if: always() 140 run: |141 docker exec node-parachain cat /polkadot-launch/9944.log142 docker exec node-parachain cat /polkadot-launch/9945.log143 docker exec node-parachain cat /polkadot-launch/alice.log144 docker exec node-parachain cat /polkadot-launch/eve.log145 docker exec node-parachain cat /polkadot-launch/dave.log146 docker exec node-parachain cat /polkadot-launch/charlie.log147 148 - name: Deploy contracts149 run: |150 cd qa-tests151 ts-node ./src/scripts/deploy-contract.ts152153 - name: Timeout for debug154 if: failure()155 run: sleep 900s156157 - name: Import test data158 working-directory: qa-tests159 run: ts-node ./src/scripts/create-test-collections.ts160161162163164165166167168169170171172173174175176177 - name: local-market:start178 run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" up -d --build179180 - name: Wait for market readyness181 working-directory: qa-tests182 run: src/scripts/wait-market-ready.sh183 shell: bash184185 - name: Install dependecies186 working-directory: qa-tests187 run: |188 npm ci189 npm install -D @playwright/test190 npx playwright install-deps191 npx playwright install192 193 - name: 194 working-directory: qa-tests195 run: |196 npx playwright test --workers=8 --quiet .*.api.test.ts --reporter=github --config playwright.config.ts197198199200201202203204205206207208209 - name: Stop running containers210 if: always() 211212 run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" down213214215216217218219220 - name: Clean Workspace221 if: always()222 uses: AutoModality/action-clean@v1.1.0223224225226