-
Notifications
You must be signed in to change notification settings - Fork 0
47 lines (40 loc) · 1.58 KB
/
Copy pathci.yml
File metadata and controls
47 lines (40 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
name: skill-ci
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
structure-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- name: 环境自检(doctor)
run: node skill/scripts/doctor.js
- name: SKILL.md 结构校验(阶段/门禁/检查点关键词)
run: |
set -euo pipefail
grep -q '^name: fullstack-forge' skill/SKILL.md
grep -q '阶段 0' skill/SKILL.md
grep -q '阶段 9' skill/SKILL.md
grep -q 'R1\|A1\|D1\|B1\|F1\|S1\|T1\|O1\|W1' skill/SKILL.md
grep -q 'H1\|H2\|H3' skill/SKILL.md
grep -q 'AP1\|AP2\|AP3' skill/SKILL.md
- name: 9 本参考手册齐全
run: |
set -euo pipefail
for i in 01-requirements-analysis 02-architecture-selection 03-data-modeling \
04-backend-engineering 05-frontend-engineering 06-security-hardening \
07-testing-gates 08-deployment-ops 09-anti-patterns; do
test -s "skill/references/$i.md" || { echo "缺失: $i"; exit 1; }
done
echo "9 本手册齐全"
- name: 工作流脚本语法(ESM + top-level await)
run: |
set -euo pipefail
for f in skill/workflows/fullstack-build.js skill/workflows/adversarial-review.js; do
node -e "const fs=require('fs');const s=fs.readFileSync('$f','utf8');new Function('return (async function __main(){'+s+'\n})')();console.log('$f OK')"
done