aps-agent/.github/workflows/ci.yml

60 lines
1.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CI 基线(任务 A1.6):平台门禁 + APS 分流
# 平台:typecheck / lint / 依赖方向 / 跨库访问 / 能力描述 / 测试
# APS:目前尚无代码,检测到 aps/ 下有 Python 文件时自动启用(B1 落地后接 ruff + pytest)
name: ci
on:
push:
branches: [rewrite/platform, main]
pull_request:
jobs:
platform:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 11
- uses: actions/setup-node@v4
with:
node-version: '22.19.0'
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: typecheck
run: pnpm typecheck
- name: lint
run: pnpm lint
- name: 依赖方向检查
run: pnpm check:deps
- name: 跨库访问检查
run: pnpm check:db
- name: 能力描述检查
run: pnpm check:capabilities
- name: 测试(契约 / 依赖方向 / 跨库 / 能力描述 / 服务端冒烟)
run: pnpm test
aps:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: 检测 APS 代码
id: detect
run: |
if compgen -G "aps/**/*.py" > /dev/null; then
echo "found=true" >> "$GITHUB_OUTPUT"
else
echo "found=false" >> "$GITHUB_OUTPUT"
echo "aps/ 下暂无 Python 代码,跳过(B1 落地后自动启用)"
fi
- uses: actions/setup-python@v5
if: steps.detect.outputs.found == 'true'
with:
python-version: '3.11'
- name: APS 检查(ruff + pytest)
if: steps.detect.outputs.found == 'true'
run: |
python -m pip install --upgrade pip
pip install ruff pytest
ruff check aps
pytest aps -q