Skip to content

.

. #4240

Workflow file for this run

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@v4
with:
name: stateless-build-${{ github.run_id }}
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@v4
with:
name: stateful-build-${{ github.run_id }}
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@v4
with:
name: stateless-build-${{ github.run_id }}
- 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@v4
if: always()
with:
name: stateless-report-${{ github.run_id }}
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@v4
with:
name: stateful-build-${{ github.run_id }}
- 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@v4
if: always()
with:
name: stateful-report-${{ github.run_id }}
path: playwright-report/
retention-days: 30