feat(M4): S-02部署基线复核+I-02本仓CI与备份演练+储备评审;M3遗留C-03/S-01/C-04证据补齐;12项PROGRESS归属+collect解析修复
vscode-planning-ci / planning-smoke (push) Failing after 1m31s

This commit is contained in:
2026-09-14 03:46:37 +08:00
parent ec55b5a845
commit 5b3850c191
23 changed files with 827 additions and 499 deletions
+36
View File
@@ -0,0 +1,36 @@
# infra 使用说明(I-02 · 本仓 CI + 备份)
本目录只收本仓(vscode-workbench)基建,不碰各项目仓、不含任何密钥。
## backup.sh(备份)
```bash
bash infra/backup.sh
# → backups/planning-backup-YYYYMMDD-HHMMSS.tar.gz + .sha256
```
- 内容:`PLANNING/` + `docs/e2e-proof/`(任务资产 + 验证证据)。
- 不含:`(服务器数据)`、`docker.env`、任何 key(见 `.gitignore`,`backups/` 不入库)。
- 保留:最近 7 个归档自动轮转。
## restore.sh(恢复演练)
```bash
bash infra/restore.sh backups/planning-backup-<stamp>.tar.gz
# → sha256 校验 → 解到临时目录 → 断言 00/02 + C-03 证据存在 → 清理
```
2026-09-14 实测:`planning-backup-20260914-034448.tar.gz` → `restore: OK`。
## CI
- `.gitea/workflows/planning-ci.yml`:push/PR 触发,跑 `tasks.py list/status/collect` +
`pytest tools/test_ci_smoke.py`(3 用例)。无私有凭据,Gitea Actions 与 GitHub Actions 均可直接用。
- 四项目 CI 现状:DSP 已有 `.github/workflows/ci.yml`(backend+web+android);
chunyu/english-drill/dealerhub 暂无 workflow——由各仓自行落地,本仓不代写。
## 回滚
- 本仓基建全是新增文件,回滚即删:`infra/`、`.gitea/`、`PLANNING/tools/test_ci_smoke.py`、
`docs/e2e-proof/`、`PROGRESS_S-02/I-02`。
- 备份归档在本地 `backups/`(git 忽略),删仓前拷一份即走。
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
# I-02 本仓备份脚本:打包 PLANNING(任务资产)+ docs/e2e-proof(验证证据)→ 带 sha256 的归档。
# 不含任何密钥:只收 PLANNING + docs/e2e-proof;(服务器数据)/.env/docker.env 一律不碰。
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
STAMP="$(date +%Y%m%d-%H%M%S)"
OUT_DIR="$ROOT/backups"
mkdir -p "$OUT_DIR"
ARCHIVE="$OUT_DIR/planning-backup-$STAMP.tar.gz"
tar -czf "$ARCHIVE" -C "$ROOT" PLANNING docs/e2e-proof
sha256sum "$ARCHIVE" > "$ARCHIVE.sha256"
# 保留策略:只留最近 7 个归档
ls -1t "$OUT_DIR"/planning-backup-*.tar.gz 2>/dev/null | tail -n +8 | xargs -r rm -f
ls -1t "$OUT_DIR"/planning-backup-*.tar.gz.sha256 2>/dev/null | tail -n +8 | xargs -r rm -f
echo "backup: $ARCHIVE"
cat "$ARCHIVE.sha256"
+13
View File
@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# I-02 本仓恢复演练:校验归档 → 解到临时目录 → 断言关键文件存在 → 清理。
set -euo pipefail
ARCHIVE="${1:?用法: restore.sh <archive.tar.gz>}"
TMP="$(mktemp -d)"
trap 'rm -rf "$TMP"' EXIT
sha256sum -c "$ARCHIVE.sha256"
tar -xzf "$ARCHIVE" -C "$TMP"
test -f "$TMP/PLANNING/02-任务总表.md"
test -f "$TMP/PLANNING/00-全局路线图.md"
test -f "$TMP/docs/e2e-proof/C-03-timeout-proof.png"
echo "restore: OK ($ARCHIVE → $TMP)"
ls "$TMP/PLANNING" | head -5