name: VPS Deploy # VPS 生产部署(人工 UI 点 Run workflow 或 agent 通过 API dispatch 触发)。 # 与 ci-cd.yml 分离: ci-cd(push) 只到 NAS 验证; VPS 必须 nas-verify 绿后由此 workflow 主动触发。 # # 严格版本一致: 接收 sha input, checkout 该 commit(= NAS 验证通过的那个), 部署到 VPS。 # 不会部署 nas-verify 未验证过的代码。 # # 触发方式: # 人工: Gitea → Actions → vps-deploy.yml → Run workflow → 填 sha(NAS 验证通过的 commit) # agent: MCP dispatch_workflow workflow_id=vps-deploy.yml ref=master inputs={sha:} # 或 curl POST /api/v1/repos/sanguo/sanguo_vnpy_v2/actions/workflows/vps-deploy.yml/dispatches on: workflow_dispatch: inputs: sha: description: "NAS 验证通过的 commit SHA(完整 40 位, ci-cd 的 nas-verify 输出)" required: true type: string jobs: vps: runs-on: macos-arm64 env: HOME: /Users/chufeng steps: - name: checkout 指定 commit(= NAS 验证通过的版本) env: TOKEN: ${{ github.token }} run: | set -e SHA="${{ inputs.sha }}" git init . git config --local http.proxy "" git config --local https.proxy "" git remote add origin "http://oauth2:${TOKEN}@192.168.2.154:3000/${GITHUB_REPOSITORY}.git" git fetch --depth 1 origin "$SHA" git checkout FETCH_HEAD echo "部署 commit: $(git rev-parse HEAD)" - name: promote 代码到 VPS (只推 VPS, 不动 NAS) run: bash scripts/nas_sync/promote.sh --target vps - 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'