mirror of
https://github.com/xCyanGrizzly/DragonsStash.git
synced 2026-05-11 14:21:15 +00:00
The standalone `npx tsc --noEmit` can't resolve @/ path aliases for generated Prisma client files on CI, even with baseUrl set. next build already runs TypeScript type checking and ESLint via its own bundler which handles path aliases correctly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
56 lines
1.2 KiB
YAML
56 lines
1.2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
env:
|
|
DATABASE_URL: postgresql://dragons:stash@localhost:5432/dragonsstash
|
|
|
|
jobs:
|
|
lint-and-build:
|
|
runs-on: ubuntu-latest
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
env:
|
|
POSTGRES_USER: dragons
|
|
POSTGRES_PASSWORD: stash
|
|
POSTGRES_DB: dragonsstash
|
|
ports:
|
|
- 5432:5432
|
|
options: >-
|
|
--health-cmd "pg_isready -U dragons -d dragonsstash"
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: npm
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Generate Prisma client
|
|
run: npx prisma generate
|
|
|
|
- name: Run database migrations
|
|
run: npx prisma migrate deploy
|
|
|
|
- name: Build (includes type check and lint)
|
|
run: npm run build
|
|
env:
|
|
AUTH_SECRET: ci-test-secret-not-for-production
|
|
AUTH_TRUST_HOST: "true"
|
|
NEXT_PUBLIC_APP_URL: http://localhost:3000
|