# 质量门禁 CI —— 构建 / 静态检查 / 测试 # 本文件为 GovAi 自行编写,未复制任何第三方项目配置。 name: CI on: push: branches: [main, master, dev] pull_request: # 最小权限:默认只读,按需在 job 内提权。 permissions: contents: read concurrency: group: ci-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: go: name: Go 构建 / vet / 测试 runs-on: ubuntu-latest defaults: run: working-directory: server steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: server/go.mod cache-dependency-path: server/go.sum - name: 下载依赖 run: go mod download - name: 构建 run: go build ./... - name: 静态检查 (go vet) run: go vet ./... - name: 测试 run: go test ./... -count=1 web: name: 前端 lint runs-on: ubuntu-latest defaults: run: working-directory: apps/web steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20 cache: npm cache-dependency-path: apps/web/package-lock.json - name: 安装依赖 run: npm ci - name: ESLint run: npm run lint