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'48 ref: 'QA-65_maxandreev'4950 - name: Read .env file51 uses: xom9ikk/dotenv@v1.0.252 53 - name: Copy qa-tests/.env.example to qa-tests/.env54 working-directory: qa-tests55 run: cp .env.docker .env5657 - name: Show content of qa-test/.env58 working-directory: qa-tests59 run: cat .env6061 - name: Read qa -test .env file62 uses: xom9ikk/dotenv@v1.0.263 with:64 path: qa-tests/65 66 - name: Generate ENV related extend file for docker-compose67 uses: cuchi/jinja2-action@v1.2.068 with:69 template: qa-tests/.docker/docker-compose.tmp-market.j270 output_file: qa-tests/.docker/docker-compose.${{ matrix.network }}.yml71 variables: |72 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git73 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}74 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}75 FEATURE=${{ matrix.features }}76 BRANCH=${{ github.head_ref }}777879 - name: Show build configuration80 working-directory: qa-tests81 run: cat .docker/docker-compose.${{ matrix.network }}.yml8283 - name: Start node-parachain84 working-directory: qa-tests85 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 8687 - name: Start nonce-app88 working-directory: qa-tests89 run: docker-compose -f ".docker/docker-compose.market.yml" up -d --build --remove-orphans --force-recreate nonce-app 90 91 - uses: actions/setup-node@v392 with:93 node-version: 169495 - name: Setup TypeScript96 working-directory: qa-tests97 run: |98 npm install99 npm install -g ts-node100101 - name: Copy qa-tests/.env.example to qa-tests/.env102 working-directory: qa-tests103 run: | 104 rm -rf .env105 cp .env.example .env106 107 108 - name: Show content of qa-test/.env109 working-directory: qa-tests110 run: cat .env111112113 - name: Read qa -test .env file114 uses: xom9ikk/dotenv@v1.0.2115 with:116 path: qa-tests/117118 - name: Generate accounts119 working-directory: qa-tests120 run: ts-node ./src/scripts/create-market-accounts.ts121122 - name: Deploy contracts123 run: |124 cd qa-tests125 ts-node ./src/scripts/deploy-contract.ts126127 - name: Import test data128 working-directory: qa-tests129 run: ts-node ./src/scripts/create-test-collections.ts130131 - name: Show content of qa-test .env132 working-directory: qa-tests133 run: cat .env134135 - name: Copy qa-tests/.env.example to qa-tests/.env136 working-directory: qa-tests137 run: |138 rm -rf .env.docker139 cp .env .env.docker140 sed -i '/UNIQUE_WS_ENDPOINT/c UNIQUE_WS_ENDPOINT=ws://node-parachain:9944' .env.docker141142 - name: Read qa -test .env file143 uses: xom9ikk/dotenv@v1.0.2144 with:145 path: qa-tests/146147 - name: local-market:start148 run: docker-compose -f "qa-tests/.docker/docker-compose.market.yml" -f "qa-tests/.docker/docker-compose.${{ matrix.network }}.yml" up -d --build149150 - name: Wait for market readyness151 working-directory: qa-tests152 run: src/scripts/wait-market-ready.sh153 shell: bash154155 - name: Install dependecies156 working-directory: qa-tests157 run: |158 npm ci159 npm install -D @playwright/test160 npx playwright install-deps161 npx playwright install162 163 - name: 164 working-directory: qa-tests165 run: |166 npx playwright test --workers=8 --quiet .*.api.test.ts --reporter=github --config playwright.config.ts167168 - name: Show env variables169 if: success() || failure()170 run: printenv171172 - name: look up for report173 if: success() || failure()174 run: |175 ls -la 176 ls -la qa-tests/177178179 - 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 -f188189 - name: Clean Workspace190 if: always()191 uses: AutoModality/action-clean@v1.1.0192193194195