Skip to content

fix(recalls): align skip link target and DUE_30 badge tone #689

fix(recalls): align skip link target and DUE_30 badge tone

fix(recalls): align skip link target and DUE_30 badge tone #689

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
check:
runs-on: ubuntu-latest
env:
DATABASE_URL: "postgresql://test:test@localhost:5432/test"
NEXT_PUBLIC_BUILD_SHA: ${{ github.sha }}
# CI runs against test stubs — the strict pre-build env check
# (scripts/check-env.ts, wired into the `prebuild` lifecycle hook)
# would fail because AUTH_SECRET, AUTH_URL etc. aren't real. Skip
# it here. Vercel deploys do NOT set this flag, so the check
# still fires there as intended.
SKIP_ENV_VALIDATION: "true"
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 20
cache: npm
- run: npm ci
- run: npm run lint
- run: npm run typecheck
- run: npx prisma validate
- run: npx prisma generate
- run: npm run test -- --passWithNoTests
- run: npm run build
docker:
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Build Docker image
run: |
docker build \
--build-arg DATABASE_URL="postgresql://test:test@localhost:5432/test" \
--build-arg NEXT_PUBLIC_BUILD_SHA="${{ github.sha }}" \
--build-arg SKIP_ENV_VALIDATION="true" \
-t equismile:ci .
- name: Verify container starts
run: |
docker run -d --name equismile-test \
-e DATABASE_URL="postgresql://test:test@localhost:5432/test" \
-e NEXT_PUBLIC_APP_URL="http://localhost:3000" \
-p 3000:3000 \
equismile:ci
sleep 5
docker logs equismile-test
docker stop equismile-test
docker rm equismile-test
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 20
cache: npm
- run: npm ci
- name: Security audit
run: npm audit --audit-level=high || true