cheatingchelsea/.forgejo/workflows/ci.yml
Derek Slenk ba3c89196a
All checks were successful
CI / test (push) Successful in 14m6s
CI / test (pull_request) Successful in 14m44s
Fix Next.js build caching
- Separate npm dependencies and Next.js build cache
- Use proper cache keys following Next.js CI docs
- Fix file pattern matching for cache invalidation
2025-07-16 16:50:15 -04:00

45 lines
No EOL
1.2 KiB
YAML

name: CI
on:
push:
branches: [ main, master, feature/* ]
pull_request:
branches: [ main, master ]
jobs:
test:
runs-on: self-hosted
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Cache dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Cache Next.js build
uses: actions/cache@v3
with:
path: ${{ github.workspace }}/.next/cache
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**/*.[jt]s', '**/*.[jt]sx') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
- name: Install dependencies
run: npm ci
- name: Run linting
run: npm run lint
- name: Run type checking
run: npm run typecheck
- name: Build application
run: npm run build
env:
# Use empty string for YOUTUBE_API_KEY during CI build
YOUTUBE_API_KEY: ""