| 12345678910111213141516171819202122232425262728293031323334353637 |
- name: Import Layer Check
- on: [push, pull_request]
- jobs:
- layer-check:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - name: Check cross-layer import violations
- run: |
- violations=0
- echo "规则1: views/ 禁止直接导入 foundation/database/"
- result=$(grep -rn "from foundation\.database" views/ --include="*.py" || true)
- if [ -n "$result" ]; then
- echo "违规: views/ 直接导入了 foundation/database/"
- echo "$result"
- violations=$((violations + 1))
- fi
- echo "规则2: reviewers/doc_worker 禁止直接导入 foundation/database/"
- result=$(grep -rn "from foundation\.database" \
- core/construction_review/component/reviewers/ \
- core/construction_review/component/doc_worker/ \
- --include="*.py" || true)
- if [ -n "$result" ]; then
- echo "违规: 业务组件直接导入了 foundation/database/"
- echo "$result"
- violations=$((violations + 1))
- fi
- if [ $violations -gt 0 ]; then
- echo "共发现 $violations 类跨层导入违规"
- exit 1
- fi
- echo "Import layer check passed."
|