Files
sanguo_vnpy_v2/.gitea/workflows/ci-cd.yml
T
claude_dev efd0b23cd3
CI/CD / test (push) Failing after 37s
CI/CD / nas-smoke (push) Has been skipped
CI/CD / vps (push) Has been skipped
feat(ci): 开发session环境手册 + Gitea Actions CI/CD workflow + parquet同步脚本
- docs/session-environment-guide.md: 面向各开发session的部署→验证→冒烟手册(P1)
- .gitea/workflows/ci-cd.yml: 复用Mac runner编排 test→nas-smoke→vps(prod gate)
- scripts/nas_sync/sync_parquet.sh: parquet全量scp(static+valuation), setsid脱离会话
2026-07-30 20:58:51 +08:00

46 lines
1.9 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.
name: CI/CD
# 三机流水线:push master → Mac runner 单测 → NAS 冒烟(ssh) → [审批] → VPS 部署+冒烟(ssh)
# Runner: 复用现有 online 的 mac-mini-arm64 (label: macos-arm64),不另起 NAS runner。
# Mac runner 作为编排节点,ssh 到 NAS/VPS 执行(~/.ssh/config 已配 sanguo-nas + 49.232.102.198)。
on:
push:
branches: [master]
workflow_dispatch: {} # 允许 Gitea UI 手动触发(实测/重跑用)
jobs:
# ---------- P2: 验证 ----------
test:
runs-on: macos-arm64
steps:
- uses: actions/checkout@v4
- name: pytest (Mac venv310, fixture)
run: |
source ~/.openclaw/sanguo_projects/sanguo_vnpy_v2/venv310/bin/activate
pytest tests/ -q
# TODO 实测: actions/checkout 能否在 Mac 拉取(Mac 外网)venv310 依赖是否覆盖 checkout 代码的 import
nas-smoke:
needs: test
runs-on: macos-arm64
steps:
- name: NAS 冒烟 (ssh NAS 跑容器读 quant_trading.db)
run: |
ssh sanguo-nas 'cd /volume1/stock/sanguo_vnpy_v2 && \
/var/packages/Docker/target/usr/bin/docker run --rm \
-v /volume1/stock:/volume1/stock -v $(pwd):/app \
sanguo_vnpy_v2:with-sqlite python /app/scripts/smoke_e2e.py'
# TODO 实测: Mac runner job 用户能否 ssh sanguo-nas(ssh key/known_hosts)
# ---------- P3: VPS CD (带人工 gate) ----------
vps:
needs: nas-smoke
runs-on: macos-arm64
environment: prod # 人工审批 gate;删除此行 = 验证通过全自动推 VPS
steps:
- uses: actions/checkout@v4
- name: promote 代码到 NAS+VPS
run: bash scripts/nas_sync/promote.sh
- name: VPS 冒烟 (LocalUnifiedProvider 真数据)
run: ssh 49.232.102.198 'cd C:\sanguo_vnpy_v2 && C:\Python310\python.exe -X utf8 scripts/data_platform/verify_unified_e2e.py'
# TODO 实测: prod environment 审批在 Gitea UI(仓库 Settings → Environments → prod 加 reviewer)