- ci.yml: lint + type-check + build on every push/PR to main; uploads dist artifact - docker.yml: builds and pushes image to ghcr.io/nmemmert/letter on main push and version tags; uses GHA layer cache - docker-compose.yml: `app` service runs the production nginx image on :8080; `dev` profile mounts source and runs vite dev server on :5173 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
35 lines
586 B
YAML
35 lines
586 B
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
build:
|
|
name: Type-check & build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: npm
|
|
|
|
- run: npm ci
|
|
|
|
- name: Lint
|
|
run: npm run lint
|
|
|
|
- name: Type-check + build
|
|
run: npm run build
|
|
|
|
- name: Upload dist artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: dist
|
|
path: dist/
|
|
retention-days: 7
|