diff --git a/.gitea/workflows/ci-cd.yml b/.gitea/workflows/ci-cd.yml index ab417a1..7c7dc2a 100644 --- a/.gitea/workflows/ci-cd.yml +++ b/.gitea/workflows/ci-cd.yml @@ -17,9 +17,21 @@ jobs: COMMIT_SHA: ${{ github.sha }} run: | set -euo pipefail - curl -fLsS -H "Authorization: token ${GITEA_TOKEN}" \ - "https://git.sundynix.cn/${REPOSITORY}/archive/${COMMIT_SHA}.tar.gz" \ - | tar -xz --strip-components=1 + archive_path="$(mktemp)" + trap 'rm -f "$archive_path"' EXIT + archive_ready=false + for attempt in 1 2 3 4 5; do + if curl -fLsS --connect-timeout 10 --max-time 180 --retry 2 --retry-all-errors \ + -H "Authorization: token ${GITEA_TOKEN}" \ + "https://git.sundynix.cn/${REPOSITORY}/archive/${COMMIT_SHA}.tar.gz" \ + -o "$archive_path" && tar -tzf "$archive_path" >/dev/null 2>&1; then + archive_ready=true + break + fi + sleep "$attempt" + done + test "$archive_ready" = true + tar -xzf "$archive_path" --strip-components=1 - name: Install SSH tools run: | set -eu @@ -48,9 +60,21 @@ jobs: COMMIT_SHA: ${{ github.sha }} run: | set -euo pipefail - curl -fLsS -H "Authorization: token ${GITEA_TOKEN}" \ - "https://git.sundynix.cn/${REPOSITORY}/archive/${COMMIT_SHA}.tar.gz" \ - | tar -xz --strip-components=1 + archive_path="$(mktemp)" + trap 'rm -f "$archive_path"' EXIT + archive_ready=false + for attempt in 1 2 3 4 5; do + if curl -fLsS --connect-timeout 10 --max-time 180 --retry 2 --retry-all-errors \ + -H "Authorization: token ${GITEA_TOKEN}" \ + "https://git.sundynix.cn/${REPOSITORY}/archive/${COMMIT_SHA}.tar.gz" \ + -o "$archive_path" && tar -tzf "$archive_path" >/dev/null 2>&1; then + archive_ready=true + break + fi + sleep "$attempt" + done + test "$archive_ready" = true + tar -xzf "$archive_path" --strip-components=1 - name: Install SSH tools run: | set -eu diff --git a/docs/development-state.md b/docs/development-state.md index 9848a1c..bbe79a4 100644 --- a/docs/development-state.md +++ b/docs/development-state.md @@ -7,7 +7,7 @@ - 用户明确要求 AI 分析/审核通过后自动发布、不逐条人工操作,并授权通过 CI/CD 部署到现有服务器。新增十五版迁移:审核策略配置与候选分析任务,所有表使用 veyra_、字符串 UUID。 - 接入 Responses / Chat Completions 结构化调用,密钥从现有 Vault 解密,禁止重定向携带密钥;主分析与独立复核严格验证证券、Schema、证据索引与文本边界。不改写价格、不生成用户计划或成交。 - 后台增加 AI 审核和自动发布开关、任务状态、处理入口、分析与复核结果;审核模型可安全复用主配置。Worker 每 30 秒检查,五分钟租约、版本去重、失败最多三次并间隔五分钟;提交时重新核对配置、授权身份、策略与候选,结果和发布/审计/Outbox 同事务。 -- App 详情增加真实 AI 分析、复核与资料缺口;统一 Screen 隐藏纵横滚动条,保留滑动。完整 Go race、类型检查、管理端构建与 App 双端 Hermes 导出通过。实际服务器调用与最终部署状态稍后补记。 +- App 详情增加真实 AI 分析、复核与资料缺口;统一 Screen 隐藏纵横滚动条,保留滑动。完整 Go race、类型检查、管理端构建与 App 双端 Hermes 导出通过。已用现有 Vault 密钥实际调用 gpt-5.5:约 3.4 秒返回有效结构化 REJECT(明确缺少研究数据的连接测试),接口可用且没有发布测试候选。PR #3 合并 bf643b0,run 40 因源码下载截断失败,未部署;正在补下载重试与 tar 完整性校验。 - iPhone 包新增 Expo 云端未签名设备 IPA 构建;只上传隔离 App 源码,不上传后端私有环境。首轮自定义步骤名称错误已修正为显式 pod install;已提交构建 e36bba44-4949-4069-a2fb-e1f491dac7f1,普通 Apple ID 安装仍需个人重签,尚未声称安装包完成或可直接安装。 ## App Expo Go 真机入口(2026-10-09)