1name: market api tests234on:5 6 pull_request:7 branches:8 - master9 types:10 - opened11 - reopened12 - synchronize 13 - ready_for_review1415 16 workflow_dispatch:171819concurrency:20 group: ${{ github.workflow }}-${{ github.ref }}21 cancel-in-progress: true222324jobs:2526 market_test:27 28 runs-on: [self-hosted-ci,large]29 timeout-minutes: 138030 31 strategy:32 matrix:33 include:34 - network: "opal"35 features: "opal-runtime"36 - network: "quartz"37 features: "quartz-runtime"38 - network: "unique"39 features: "unique-runtime"4041 name: draft job4243 continue-on-error: true 444546 steps:4748 49 50 51 52 53 54 55 56 57 58 59 60 61 62636465 - name: Clean Workspace66 uses: AutoModality/action-clean@v1.1.06768 69 - name: Checkout master repo70 uses: actions/checkout@master71 with:72 ref: ${{ github.head_ref }} 7374 - name: Checkout Market e2e tests75 uses: actions/checkout@v376 with:77 repository: 'UniqueNetwork/market-e2e-tests'78 ssh-key: '${{ secrets.GH_PAT }}'79 path: 'qa-tests'80 ref: 'QA-65_maxandreev'8182 - name: Read .env file83 uses: xom9ikk/dotenv@v1.0.284 85 - name: Copy qa-tests/.env.example to qa-tests/.env86 working-directory: qa-tests87 run: cp .env.docker .env8889 - name: Show content of qa-test/.env90 working-directory: qa-tests91 run: cat .env9293 - name: Read qa -test .env file94 uses: xom9ikk/dotenv@v1.0.295 with:96 path: qa-tests/97 98 - name: Generate ENV related extend file for docker-compose99 uses: cuchi/jinja2-action@v1.2.0100 with:101 template: qa-tests/.docker/docker-compose.tmp-market.j2102 output_file: qa-tests/.docker/docker-compose.${{ matrix.network }}.yml103 variables: |104 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git105 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}106 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}107 FEATURE=${{ matrix.features }}108 BRANCH=${{ github.head_ref }}109110111 - name: Show build configuration112 working-directory: qa-tests113 run: cat .docker/docker-compose.${{ matrix.network }}.yml114115 - name: Start node-parachain116 working-directory: qa-tests117 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 118119 - name: Start nonce-app120 working-directory: qa-tests121 run: docker-compose -f ".docker/docker-compose.market.yml" up -d --build --remove-orphans --force-recreate nonce-app 122 123 - uses: actions/setup-node@v3124 with:125 node-version: 16126127 - name: Setup TypeScript128 working-directory: qa-tests129 run: |130 npm install131 npm install -g ts-node132133 - name: Copy qa-tests/.env.example to qa-tests/.env134 working-directory: qa-tests135 run: | 136 rm -rf .env137 cp .env.example .env138 139 140 - name: Show content of qa-test/.env141 working-directory: qa-tests142 run: cat .env143144145 - name: Read qa -test .env file146 uses: xom9ikk/dotenv@v1.0.2147 with:148 path: qa-tests/149150 - name: Generate accounts151 working-directory: qa-tests152 run: ts-node ./src/scripts/create-market-accounts.ts153154 - name: Deploy contracts155 run: |156 cd qa-tests157 ts-node ./src/scripts/deploy-contract.ts158159 - name: Import test data160 working-directory: qa-tests161 run: ts-node ./src/scripts/create-test-collections.ts162163 - name: Show content of qa-test .env164 working-directory: qa-tests165 run: cat .env166167 - name: Copy qa-tests/.env.example to qa-tests/.env168 working-directory: qa-tests169 run: |170 rm -rf .env.docker171 cp .env .env.docker172 sed -i '/UNIQUE_WS_ENDPOINT/c UNIQUE_WS_ENDPOINT=ws://node-parachain:9944' .env.docker173174 - name: Read qa -test .env file175 uses: xom9ikk/dotenv@v1.0.2176 with:177 path: qa-tests/178179 - name: local-market:start180 run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" up -d --build181182 - name: Wait for market readyness183 working-directory: qa-tests184 run: src/scripts/wait-market-ready.sh185 shell: bash186187 - name: Install dependecies188 working-directory: qa-tests189 run: |190 npm ci191 npm install -D @playwright/test192 npx playwright install-deps193 npx playwright install194 195 - name: 196 working-directory: qa-tests197 run: |198 npx playwright test --workers=8 --quiet .*.api.test.ts --reporter=github --config playwright.config.ts199200 - name: Show env variables201 if: success() || failure()202 run: printenv203204 - name: look up for report205 if: success() || failure()206 run: |207 ls -la 208 ls -la qa-tests/209210211 - name: Stop running containers212 if: always() 213 run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" down --volumes214215 - 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