- monorepo: pnpm workspace + go.work + pyproject.toml + commitlint/husky - infra: docker-compose (minimal + full profiles) + init-sql + prometheus - arch-scan: multi-language scanner skeleton (TS/Go/Python/Proto) - shared-proto: buf v2 + classes.proto (ClassService CRUD contract) - api-gateway: Go/Gin + JWT HS256 auth + reverse proxy + request ID - classes: NestJS golden template (error system + observability + middleware + CRUD + tests) - teacher-portal: Next.js + paper-feel UI design system - CI/CD: 4 workflows (go/ts/py/proto) - docs: migration guide + project_rules + coding-standards + git-workflow + ui-design-system + 004 + 9 module READMEs + known-issues + spec/plan migration + roadmap
44 lines
911 B
YAML
44 lines
911 B
YAML
name: CI TypeScript
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'services/classes/**'
|
|
- 'apps/**'
|
|
- 'packages/**'
|
|
- 'scripts/**'
|
|
- 'package.json'
|
|
- 'pnpm-workspace.yaml'
|
|
- 'tsconfig.base.json'
|
|
pull_request:
|
|
branches: [main]
|
|
paths:
|
|
- 'services/classes/**'
|
|
- 'apps/**'
|
|
- 'packages/**'
|
|
- 'scripts/**'
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 9
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
cache: 'pnpm'
|
|
- name: Install
|
|
run: pnpm install --frozen-lockfile
|
|
- name: Lint
|
|
run: pnpm -r run lint
|
|
- name: Typecheck
|
|
run: pnpm -r run typecheck
|
|
- name: Test
|
|
run: pnpm -r run test
|
|
- name: Build
|
|
run: pnpm -r run build
|