Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: 同步官网桌面版本与更新记录
name: 官网版本与发布记录同步

on:
workflow_dispatch:
Expand Down
4 changes: 2 additions & 2 deletions docs/发布流程.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
| `.github/workflows/release-desktop.yml` | `desktop-v*` tag | 检查 → 各平台打包与验收 → Release 草稿 |
| `.github/workflows/release-cli.yml` | `cli-v*` tag | 检查 → CLI 打包与验收 → npm 发布 |

正式桌面 Release 发布或编辑后,`.github/workflows/sync-website.yml` 仅按事件中的 Release ID 读取该版本的当前内容,创建或更新官网 `src/content/releases/<版本号>.md`,不遍历历史 Release 或官网文件树,也不自动补齐历史记录。Markdown frontmatter 保存版本、发布日期与来源链接,正文保留 Release 原文;无正文时显示未填写说明。仅当该版本高于官网 `desktopVersion` 时才更新下载版本;编辑旧版说明只更新该版本文件,不会降级下载入口。当前或更新版本缺少任一平台安装包时失败,旧版说明同步不检查安装包。版本变量与当前发布文件的变化通过 Git Trees API 在同一个 commit 中提交到 `joinTARP/web-site` 的 `main` 分支,内容相同则不提交,不修改其他版本文件或列表页 Markdown。草稿、预发布、CLI 发布不触发同步。官网托管平台需已连接该仓库,并启用 `main` 分支 push 自动构建。
正式桌面 Release 发布或编辑后,`.github/workflows/sync-website-release.yml` 仅按事件中的 Release ID 读取该版本的当前内容,创建或更新官网 `src/content/releases/<版本号>.md`,不遍历历史 Release 或官网文件树,也不自动补齐历史记录。Markdown frontmatter 保存版本、发布日期与来源链接,正文保留 Release 原文;无正文时显示未填写说明。仅当该版本高于官网 `desktopVersion` 时才更新下载版本;编辑旧版说明只更新该版本文件,不会降级下载入口。当前或更新版本缺少任一平台安装包时失败,旧版说明同步不检查安装包。版本变量与当前发布文件的变化通过 Git Trees API 在同一个 commit 中提交到 `joinTARP/web-site` 的 `main` 分支,内容相同则不提交,不修改其他版本文件或列表页 Markdown。草稿、预发布、CLI 发布不触发同步。官网托管平台需已连接该仓库,并启用 `main` 分支 push 自动构建。

已发布版本不需要删除 Release 或移动标签。先合入官网改动,再将同步工作流合入桌面仓库默认分支并配置下述 Secret,随后打开桌面仓库 **Actions → 同步官网桌面版本与更新记录 → Run workflow**,选择默认分支,在 `tag` 填写真实发布标签(如 `desktop-v0.1.1`)后运行。手动入口只读取指定 Release,仍会拒绝草稿、预发布和不符合格式的标签;重复运行不会重复提交。旧标签对应的提交若尚未包含本工作流,编辑该 Release 不会触发新增工作流,使用手动入口补同步即可。不要为启用官网同步覆盖既有发布标签或重新打包。
已发布版本不需要删除 Release 或移动标签。先合入官网改动,再将同步工作流合入桌面仓库默认分支并配置下述 Secret,随后打开桌面仓库 **Actions → 官网版本与发布记录同步 → Run workflow**,选择默认分支,在 `tag` 填写真实发布标签(如 `desktop-v0.1.1`)后运行。手动入口只读取指定 Release,仍会拒绝草稿、预发布和不符合格式的标签;重复运行不会重复提交。旧标签对应的提交若尚未包含本工作流,编辑该 Release 不会触发新增工作流,使用手动入口补同步即可。不要为启用官网同步覆盖既有发布标签或重新打包。

首次使用需在桌面仓库 Actions Secrets 配置 `WEBSITE_CONTENTS_TOKEN`:使用 fine-grained PAT,仅选择 `joinTARP/web-site`,授予 **Contents: Read and write**,并确保组织已批准该 Token(如需审批)。Token 所属账号需有官网仓库写权限,且 `main` 分支规则允许该账号直接提交。默认 `GITHUB_TOKEN` 仅限当前仓库,不能用于此跨仓库提交。工作流文件须先合入桌面仓库默认分支,官网的 `desktopVersion`、带版本号的链接模板与发布内容集合、列表及详情页也须先提交到 `main`。同一 Release 的任务串行执行,不同 Release 使用独立并发组,避免互相取消排队任务。同步使用官网当前提交作为父提交和基础文件树,非强制更新分支;并发修改导致更新失败时不会覆盖他人提交,可重跑失败任务。同步提交的作者为 Token 所属账号;Token 缺失、过期或写入被分支规则拒绝时,工作流失败,不宣称官网已更新。

Expand Down
Loading