Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 16 additions & 7 deletions .github/workflows/portability.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ name: Portability
# Catches RSC boundary, SSR, and middleware bugs.
#
# Layer 1 is cheap and gates everything else. Layer 2 runs on a small matrix.
# Layer 3 runs on Linux only and current LTS Node lines — Next.js runtime
# behaviour is not OS-sensitive, and Playwright/browser installation on the
# moving current Node line has been flaky enough to hide product regressions.
# Layer 3 runs on Linux only — Next.js runtime behaviour is not OS-sensitive,
# and Playwright+browsers on Windows/macOS add cost for little signal.

on:
push:
Expand Down Expand Up @@ -85,7 +84,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: ['20', '22']
node: ['20', '22', '24']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -94,9 +93,13 @@ jobs:
with:
bun-version: latest

- uses: actions/setup-node@v4
# Playwright 1.59.1 can hang after a 100% browser download under Node 24
# on ubuntu-24.04. Install the browser with Node 22, then switch to the
# matrix Node version before running the actual integration test.
- name: Set up Node for Playwright install
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
node-version: '22'

- name: Install dependencies
run: bun install --frozen-lockfile
Expand All @@ -105,7 +108,13 @@ jobs:
run: bun run build:packages

- name: Install Playwright browser (chromium only)
run: bunx playwright install --with-deps --only-shell chromium
timeout-minutes: 5
run: npx --no-install playwright install --with-deps --only-shell chromium

- name: Set up Node under test
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}

- name: Run Next.js integration E2E
run: bun run test:playwright
Expand Down
Loading