Merge pull request #907 from ensdomains/FET-1689 #4218
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: [push] | |
env: | |
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
jobs: | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install pnpm | |
run: corepack enable pnpm | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- run: pnpm install --frozen-lockfile | |
- name: Get contract addresses | |
run: 'parallel --lb --halt now,success=1,fail=1 ::: \ | |
"pnpm tenv start -ng -ns -nb" \ | |
"pnpm wait-on ./.env.local"' | |
- run: pnpm test:coverage | |
build-stateless: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install pnpm | |
run: corepack enable pnpm | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- run: pnpm install --frozen-lockfile | |
- name: Get contract addresses | |
run: 'parallel --lb --halt now,success=1,fail=1 ::: \ | |
"pnpm tenv start -ng -ns -nb" \ | |
"pnpm wait-on ./.env.local"' | |
- name: Build stateless and export | |
run: pnpm build:glocal && pnpm export | |
- name: Tar stateless files | |
run: tar -cvf stateless-build.tar out | |
- name: Upload stateless | |
uses: actions/upload-artifact@v3 | |
with: | |
name: stateless-build | |
path: stateless-build.tar | |
build-stateful: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install pnpm | |
run: corepack enable pnpm | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- run: pnpm install --frozen-lockfile | |
- name: Build stateful and export | |
run: pnpm build && pnpm export | |
- name: Tar stateful files | |
run: tar -cvf stateful-build.tar out | |
- name: Upload stateful | |
uses: actions/upload-artifact@v3 | |
with: | |
name: stateful-build | |
path: stateful-build.tar | |
stateless: | |
name: stateless (${{matrix.shard}}) | |
needs: build-stateless | |
timeout-minutes: 20 | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install pnpm | |
run: corepack enable pnpm | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- run: pnpm install --frozen-lockfile | |
- run: pnpm rebuild -r | |
- name: Download build | |
id: download | |
uses: actions/download-artifact@v3 | |
with: | |
name: stateless-build | |
- name: Untar files | |
run: tar -xvf stateless-build.tar | |
- name: Install playwright | |
run: npx playwright install chromium | |
- name: Run tests | |
run: | | |
PLAYWRIGHT_SHARD=${{matrix.shard}} PLAYWRIGHT_TOTAL=${{strategy.job-total}} pnpm e2e:ci -nb | |
- uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: stateless-report | |
path: playwright-report/ | |
retention-days: 30 | |
stateful: | |
name: stateful (${{matrix.shard}}) | |
needs: build-stateful | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
shard: [1, 2, 3] | |
steps: | |
- uses: actions/checkout@v3 | |
- run: ./scripts/check-chrome.sh | |
- name: Install pnpm | |
run: corepack enable pnpm | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'pnpm' | |
- run: pnpm install --frozen-lockfile | |
- run: pnpm rebuild -r | |
- name: Download build | |
id: download | |
uses: actions/download-artifact@v3 | |
with: | |
name: stateful-build | |
- name: Untar files | |
run: tar -xvf stateful-build.tar | |
- name: Install playwright | |
run: npx playwright install chromium | |
- name: Run tests | |
run: | | |
parallel --lb --halt now,success=1,fail=1 ::: \ | |
"pnpm wrangle" \ | |
"pnpm wait-on http://127.0.0.1:8788 && npx playwright test --shard=${{matrix.shard}}/${{strategy.job-total}} --project=stateful" | |
env: | |
# NEXT_PUBLIC_GRAPH_URI: https://api.studio.thegraph.com/query/49574/ensholesky/version/latest | |
SECRET_WORDS: ${{ secrets.SECRET_WORDS }} | |
- uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: stateful-report | |
path: playwright-report/ | |
retention-days: 30 |