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: false 22 23 strategy:24 matrix:25 include:26 - network: "opal"2728 steps:29 - name: Clean Workspace30 uses: AutoModality/action-clean@v1.1.03132 33 - name: Checkout master repo34 uses: actions/checkout@master35 with:36 ref: ${{ github.head_ref }} 3738 - name: Checkout Market e2e tests39 uses: actions/checkout@v3.1.040 with:41 repository: 'UniqueNetwork/market-e2e-tests'42 ssh-key: ${{ secrets.GH_PAT }}43 path: 'qa-tests'44 ref: 'master'4546 - name: Read .env file47 uses: xom9ikk/dotenv@v248 49 - name: Copy qa-tests/.env.example to qa-tests/.env50 working-directory: qa-tests51 run: cp .env.docker .env52 53 - name: Generate ENV related extend file for docker-compose54 uses: cuchi/jinja2-action@v1.2.055 with:56 template: qa-tests/.docker/docker-compose.tmp-market.j257 output_file: qa-tests/.docker/docker-compose.${{ matrix.network }}.yml58 variables: |59 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git60 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}61 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}62 POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}63 NETWORK=${{ matrix.network }}64 BRANCH=${{ github.head_ref }}656667 - name: Show build configuration68 working-directory: qa-tests69 run: cat .docker/docker-compose.${{ matrix.network }}.yml7071 - name: Start node-parachain72 working-directory: qa-tests73 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 74 75 - uses: actions/setup-node@v3.5.176 with:77 node-version: 16.177879 - name: Setup TypeScript80 working-directory: qa-tests81 run: |82 npm install -g ts-node83 npm install8485 - name: Copy qa-tests/.env.docker to qa-tests/.env86 working-directory: qa-tests87 run: | 88 rm -rf .env89 cp .env.docker .env90919293949596979899100101 - name: Wait for chain up and running102 run: |103 sleep 1200s104 echo "Ready to start Market e2e tests"105106 - name: Show content of .env file and Generate accounts107 working-directory: qa-tests108 run: |109 cat .env110 ts-node ./src/scripts/create-market-accounts.ts111112 - name: Copy qa-tests/.env to qa-tests/.env.docker113 working-directory: qa-tests114 run: | 115 rm -rf .env.docker116 cp .env .env.docker117118 - name: Get chain logs119 if: always() 120 run: |121 docker exec node-parachain cat /polkadot-launch/9944.log122 docker exec node-parachain cat /polkadot-launch/9945.log123 docker exec node-parachain cat /polkadot-launch/alice.log124 docker exec node-parachain cat /polkadot-launch/eve.log125 docker exec node-parachain cat /polkadot-launch/dave.log126 docker exec node-parachain cat /polkadot-launch/charlie.log127 128 - name: Deploy contracts129 run: |130 cd qa-tests131 ts-node ./src/scripts/deploy-contract.ts132133 - name: Timeout for debug134 if: failure()135 run: sleep 300s136137 - name: Import test data138 working-directory: qa-tests139 run: ts-node ./src/scripts/create-test-collections.ts140141 - name: Show content of qa-test .env142 working-directory: qa-tests143 run: cat .env144145 - name: Read qa -test .env file Before market start146 uses: xom9ikk/dotenv@v2147 with:148 path: qa-tests/149150 - name: local-market:start151 run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" up -d --build152153 - name: Wait for market readyness154 working-directory: qa-tests155 run: src/scripts/wait-market-ready.sh156 shell: bash157158 - name: Install dependecies159 working-directory: qa-tests160 run: |161 npm ci162 npm install -D @playwright/test163 npx playwright install-deps164 npx playwright install165166 - name: Show content of qa-test .env167 working-directory: qa-tests168 run: cat .env169 170 - name: Test API interface171 working-directory: qa-tests172 run: |173 npx playwright test --workers=3 --quiet .*.api.test.ts --reporter=github --config playwright.config.ts174175 - name: Timeout for debug176 if: failure()177 run: sleep 300s178179 - name: Stop running containers180 if: always() 181 run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" down --volumes182183 - name: Remove builder cache184 if: always() 185 run: |186 docker builder prune -f187 docker system prune -f