1234name: market api tests567on:8 workflow_call:9101112jobs:1314 market_test:15 16 runs-on: [self-hosted-ci,large]17 timeout-minutes: 3601819 name: ${{ matrix.network }} 2021 continue-on-error: true 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 34 - name: Checkout master repo35 uses: actions/checkout@master36 with:37 ref: ${{ github.head_ref }} 3839 - 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 .env919293949596979899100101102 - 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() 121 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() 182 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() 186 run: |187 docker builder prune -f188 docker system prune -f