自动更新
Sync Upstream 每天北京时间 09:17、21:17(UTC 01:17、13:17)检查上游发布,GitHub 调度可能延迟。合并代码后自动运行 00 Deploy Worker。
首次启用
- 先手动同步,让默认分支包含
.github/workflows/sync-upstream.yml。 - 在
Actions启用Sync Upstream。 - 创建 fine-grained GitHub PAT,只授权自己的 fork,开启 Contents: Read and write 和 Workflows: Read and write。
- 在 Repository Secrets 添加
EDGECHAT_SYNC_TOKEN,值为这个 PAT。 - 运行
Actions → Sync Upstream → Run workflow验证。
派发部署使用内置令牌,PAT 无需额外 Actions 权限。未配置 PAT 时可同步普通源码,但涉及工作流文件的更新会失败。
如何确认已更新
先查看 Sync Upstream 是否成功,再确认相同提交 SHA 的 00 Deploy Worker 成功。同步与部署是两次工作流运行。
已有成功或运行中的部署会去重;派发失败、部署失败或取消,会在下次检查重试。
暂停与故障处理
在工作流菜单选择 Disable workflow 可暂停,重新启用后恢复。公开仓库长期无活动(60 天)时 GitHub 可能暂停定时任务。
失败时检查 PAT 是否过期、分支保护是否允许写入、是否有合并冲突。同步使用普通合并,保留 fork 的自定义提交;冲突需手动解决。
会跟进哪些版本
只同步上游最新带 EdgeChat-Update: stable 或 EdgeChat-Update: security 标记的提交,包含之前积累的变更;之后的未标记开发提交暂不跟进。上游主仓跳过同步自身。
上游维护者如何发布
更新版本文件后,在最终发布提交正文末尾加独立 trailer:
bash
git commit -m "release: stable version" -m "EdgeChat-Update: stable"
git push origin master安全修复使用 EdgeChat-Update: security。PR 合并或 squash 时,将标记保留在默认分支的最终提交正文中。
自动合并提交带 [skip ci],同步脚本再显式派发部署,避免重复运行。两类标记均遵循 fork 权限与合并规则。