test-e2e-deploy #77
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-e2e-deploy | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| nextjsRef: | |
| description: "Next.js repo ref (branch/tag/SHA)" | |
| default: "canary" | |
| type: string | |
| # schedule: | |
| # - cron: '0 2 * * *' | |
| jobs: | |
| build: | |
| name: Build Next.js + adapter | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| path: adapter-bun | |
| - uses: actions/checkout@v4 | |
| with: | |
| repository: vercel/next.js | |
| ref: ${{ inputs.nextjsRef || 'canary' }} | |
| path: next.js | |
| fetch-depth: 25 | |
| - uses: actions/setup-node@v4 | |
| with: { node-version: "20" } | |
| - uses: oven-sh/setup-bun@v2 | |
| with: { bun-version: "latest" } | |
| - name: Setup pnpm | |
| run: npm i -g corepack@0.31 && corepack enable | |
| - name: Install & build Next.js | |
| working-directory: next.js | |
| run: pnpm install && pnpm build && pnpm install | |
| - name: Install Playwright | |
| working-directory: next.js | |
| run: pnpm playwright install --with-deps chromium | |
| - name: Build adapter-bun | |
| working-directory: adapter-bun | |
| run: bun install && bun run build | |
| - uses: actions/cache/save@v4 | |
| with: | |
| path: | | |
| next.js | |
| adapter-bun | |
| ~/.cache/ms-playwright | |
| key: build-${{ github.sha }}-${{ github.run_id }} | |
| test: | |
| name: Tests (${{ matrix.group }}) | |
| needs: build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| group: | |
| [ | |
| 1/16, | |
| 2/16, | |
| 3/16, | |
| 4/16, | |
| 5/16, | |
| 6/16, | |
| 7/16, | |
| 8/16, | |
| 9/16, | |
| 10/16, | |
| 11/16, | |
| 12/16, | |
| 13/16, | |
| 14/16, | |
| 15/16, | |
| 16/16, | |
| ] | |
| steps: | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| next.js | |
| adapter-bun | |
| ~/.cache/ms-playwright | |
| key: build-${{ github.sha }}-${{ github.run_id }} | |
| - uses: actions/setup-node@v4 | |
| with: { node-version: "20" } | |
| - uses: oven-sh/setup-bun@v2 | |
| with: { bun-version: "latest" } | |
| - name: Setup pnpm | |
| run: npm i -g corepack@0.31 && corepack enable | |
| - name: Ensure Playwright browser | |
| working-directory: next.js | |
| run: pnpm playwright install chromium | |
| - name: Make scripts executable | |
| run: | |
| chmod +x adapter-bun/scripts/e2e-deploy.sh | |
| adapter-bun/scripts/e2e-logs.sh | |
| adapter-bun/scripts/e2e-cleanup.sh | |
| - name: Run deploy tests | |
| working-directory: next.js | |
| env: | |
| NEXT_TEST_MODE: deploy | |
| NEXT_E2E_TEST_TIMEOUT: 240000 | |
| NEXT_EXTERNAL_TESTS_FILTERS: | |
| test/deploy-tests-manifest.json,${{ github.workspace }}/adapter-bun/test/deploy-tests-manifest.adapter-bun.json | |
| NEXT_TEST_DEPLOY_SCRIPT_PATH: | |
| ${{ github.workspace }}/adapter-bun/scripts/e2e-deploy.sh | |
| NEXT_TEST_DEPLOY_LOGS_SCRIPT_PATH: | |
| ${{ github.workspace }}/adapter-bun/scripts/e2e-logs.sh | |
| NEXT_TEST_CLEANUP_SCRIPT_PATH: | |
| ${{ github.workspace }}/adapter-bun/scripts/e2e-cleanup.sh | |
| ADAPTER_BUN_DIR: ${{ github.workspace }}/adapter-bun | |
| IS_TURBOPACK_TEST: 1 | |
| NEXT_TEST_JOB: 1 | |
| NEXT_TELEMETRY_DISABLED: 1 | |
| run: node run-tests.js --timings -g ${{ matrix.group }} -c 1 --type e2e |