Skip to content

Bump actions/checkout from 6 to 7 #257

Bump actions/checkout from 6 to 7

Bump actions/checkout from 6 to 7 #257

Workflow file for this run

name: CI
on:
pull_request:
branches: [main]
push:
branches: [main]
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint & Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: latest
- uses: actions/setup-node@v7
with:
node-version: "24"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Biome lint & format check
run: pnpm lint
type-check:
name: Type Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: latest
- uses: actions/setup-node@v7
with:
node-version: "24"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: TypeScript type check
run: npx tsc --noEmit
build:
name: Build
runs-on: ubuntu-latest
env:
NEXT_TURBOPACK_EXPERIMENTAL_USE_SYSTEM_TLS_CERTS: "1"
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: latest
- uses: actions/setup-node@v7
with:
node-version: "24"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build Next.js app
id: build
run: pnpm build
continue-on-error: true
- name: Check build failure reason
if: steps.build.outcome == 'failure'
run: |
pnpm build 2>&1 > /tmp/build.log || true
if grep -qE "can't recognize the exported|Module not found|SyntaxError|Cannot find module" /tmp/build.log; then
echo "::error::Build failed with code errors"
exit 1
fi
echo "::warning::Build failed due to external fetch issues (e.g. Google Fonts) — not a code error"
test-unit:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: latest
- uses: actions/setup-node@v7
with:
node-version: "24"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run unit tests with coverage
run: pnpm test:unit:coverage
test-integration:
name: Integration Tests
runs-on: ubuntu-latest
env:
SESSION_SECRET: ci-integration-test-secret
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: latest
- uses: actions/setup-node@v7
with:
node-version: "24"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run integration tests
run: pnpm test:integration
test-e2e:
name: E2E Tests
runs-on: ubuntu-latest
env:
SESSION_SECRET: ci-e2e-test-secret
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: latest
- uses: actions/setup-node@v7
with:
node-version: "24"
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Install Playwright browsers
run: pnpm exec playwright install chromium --with-deps
- name: Run e2e tests
run: pnpm test:e2e