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"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 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: Show 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.ts160161 - name: Show content of qa-test .env162 working-directory: qa-tests163 run: cat .env164165166167168169170171172 - name: Read qa -test .env file Before market start173 uses: xom9ikk/dotenv@v1.0.2174 with:175 path: qa-tests/176177178 - name: local-market:start179 run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" up -d --build180181 - name: Wait for market readyness182 working-directory: qa-tests183 run: src/scripts/wait-market-ready.sh184 shell: bash185186 - name: Install dependecies187 working-directory: qa-tests188 run: |189 npm ci190 npm install -D @playwright/test191 npx playwright install-deps192 npx playwright install193 194 - name: 195 working-directory: qa-tests196 run: |197 npx playwright test --workers=8 --quiet .*.api.test.ts --reporter=github --config playwright.config.ts198199200201202203204205206207208209210 - name: Stop running containers211 if: always() 212 run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" down --volumes213214215 - name: Remove builder cache216 if: always() 217 run: |218 docker builder prune -f219 docker system prune -f220221 - name: Clean Workspace222 if: always()223 uses: AutoModality/action-clean@v1.1.0224225226227