Merge branch 'main' into remove-dev-telegram #4825
Workflow file for this run
This file contains hidden or 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@v4 | |
| - name: Install corepack | |
| run: npm i -g corepack | |
| - name: Install pnpm | |
| run: npm i -g --force corepack && corepack enable pnpm | |
| - name: Install Node.js | |
| uses: actions/setup-node@v4 | |
| 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 --no-graph --no-scripts --no-build --exit-after-deploy" \ | |
| "pnpm wait-on ./.env.local"' | |
| - run: pnpm test:coverage | |
| build-stateless: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install corepack | |
| run: npm i -g corepack | |
| - name: Install pnpm | |
| run: npm i -g --force corepack && corepack enable pnpm | |
| - name: Install Node.js | |
| uses: actions/setup-node@v4 | |
| 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 --no-graph --no-scripts --no-build --exit-after-deploy" \ | |
| "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 | |
| path: stateless-build.tar | |
| build-stateful: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install corepack | |
| run: npm i -g corepack | |
| - name: Install pnpm | |
| run: npm i -g --force corepack && corepack enable pnpm | |
| - name: Install Node.js | |
| uses: actions/setup-node@v4 | |
| 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 | |
| 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@v4 | |
| - name: Install corepack | |
| run: npm i -g corepack | |
| - name: Install pnpm | |
| run: npm i -g --force corepack && corepack enable pnpm | |
| - name: Install Node.js | |
| uses: actions/setup-node@v4 | |
| 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 | |
| merge-multiple: true | |
| - name: Untar files | |
| run: tar -xvf stateless-build.tar | |
| - name: Install playwright | |
| run: pnpm playwright install chromium | |
| - name: Run tests | |
| run: | | |
| PLAYWRIGHT_SHARD=${{matrix.shard}} PLAYWRIGHT_TOTAL=${{strategy.job-total}} pnpm e2e:ci --no-build | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: stateless-report-${{matrix.shard}} | |
| path: playwright-report/ | |
| retention-days: 30 | |
| overwrite: true | |
| 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@v4 | |
| - run: ./scripts/check-chrome.sh | |
| - name: Install corepack | |
| run: npm i -g corepack | |
| - name: Install pnpm | |
| run: npm i -g --force corepack && corepack enable pnpm | |
| - name: Install Node.js | |
| uses: actions/setup-node@v4 | |
| 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 | |
| - name: Untar files | |
| run: tar -xvf stateful-build.tar | |
| - name: Install playwright | |
| run: pnpm 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 && pnpm playwright test --shard=${{matrix.shard}}/${{strategy.job-total}} --project=stateful" | |
| env: | |
| NEXT_PUBLIC_CHAIN_NAME: holesky | |
| SECRET_WORDS: ${{ secrets.SECRET_WORDS }} | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: stateful-report-${{matrix.shard}} | |
| path: playwright-report/ | |
| retention-days: 30 |