- 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
39 lines
904 B
YAML
39 lines
904 B
YAML
name: CI Go
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'services/api-gateway/**'
|
|
- 'services/push-gateway/**'
|
|
- 'packages/shared-go/**'
|
|
- 'go.work'
|
|
pull_request:
|
|
branches: [main]
|
|
paths:
|
|
- 'services/api-gateway/**'
|
|
- 'services/push-gateway/**'
|
|
- 'packages/shared-go/**'
|
|
- 'go.work'
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '1.22'
|
|
- name: golangci-lint
|
|
uses: golangci/golangci-lint-action@v6
|
|
with:
|
|
working-directory: services/api-gateway
|
|
- name: Build
|
|
working-directory: services/api-gateway
|
|
run: |
|
|
go mod download
|
|
go build ./...
|
|
- name: Test
|
|
working-directory: services/api-gateway
|
|
run: go test ./... -v -coverprofile=coverage.out
|