Skip to content

test-e2e-deploy

test-e2e-deploy #77

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