Skip to content

Commit 014e38b

Browse files
committed
fix(release): publish CCSwitchMulti release notes
Root cause: GitHub build releases were using the pushed fork tag correctly, but the release title and body still came from the generic upstream-style CC Switch template, so v3.16.4-11 lacked our detailed CCSwitchMulti feature and bug-fix notes. Change: make publish-release checkout docs, generate release-body.md from docs/release-notes/<tag>-zh.md plus download notes, set the release title to CCSwitchMulti <tag>, expand v3.16.4-11 notes with concrete feature updates and bug fixes, and record the release-body rule in memory.md. Live follow-up: edited the existing v3.16.4-11 GitHub release title/body to CCSwitchMulti v3.16.4-11 with the detailed notes. Validation: pnpm exec prettier --check .github/workflows/release.yml docs/release-notes/v3.16.4-11-zh.md memory.md; pnpm dlx js-yaml .github/workflows/release.yml; git diff --check.
1 parent a4c2248 commit 014e38b

3 files changed

Lines changed: 76 additions & 28 deletions

File tree

.github/workflows/release.yml

Lines changed: 39 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -708,6 +708,9 @@ jobs:
708708
permissions:
709709
contents: write
710710
steps:
711+
- name: Checkout release notes
712+
uses: actions/checkout@v6
713+
711714
- name: Download built release artifacts
712715
uses: actions/download-artifact@v8
713716
with:
@@ -721,31 +724,48 @@ jobs:
721724
set -euo pipefail
722725
ls -la release-assets
723726
724-
- name: Upload Release Assets
725-
uses: softprops/action-gh-release@v3
726-
with:
727-
tag_name: ${{ github.ref_name }}
728-
name: CC Switch ${{ github.ref_name }}
729-
prerelease: false
730-
body: |
731-
## CC Switch ${{ github.ref_name }}
727+
- name: Generate release body
728+
shell: bash
729+
run: |
730+
set -euo pipefail
731+
TAG="${GITHUB_REF_NAME}"
732+
NOTE_PATH="docs/release-notes/${TAG}-zh.md"
733+
{
734+
if [ -f "$NOTE_PATH" ]; then
735+
cat "$NOTE_PATH"
736+
else
737+
echo "# CCSwitchMulti ${TAG}"
738+
echo
739+
echo "本版本由 GitHub Release workflow 自动发布。"
740+
fi
741+
cat <<EOF
742+
743+
## 下载
732744
733-
🌐 **Only Official Website / 唯一官方网站 / 唯一の公式サイト**: [ccswitch.io](https://ccswitch.io)
745+
- **macOS**: \`CC-Switch-${TAG}-macOS.dmg\`(未配置 Apple 签名时为未签名版)或 \`CC-Switch-${TAG}-macOS.zip\`(解压即用)
746+
- **Windows (x86_64)**: \`CC-Switch-${TAG}-Windows-Setup.exe\`(安装版)或 \`CC-Switch-${TAG}-Windows-Portable.zip\`(绿色版)
747+
- **Windows (ARM64)**: \`CC-Switch-${TAG}-Windows-arm64-Setup.exe\`(安装版)或 \`CC-Switch-${TAG}-Windows-arm64-Portable.zip\`(绿色版)
748+
- **Linux (x86_64)**: \`CC-Switch-${TAG}-Linux-x86_64.AppImage\` / \`.deb\` / \`.rpm\`
749+
- **Linux (ARM64)**: \`CC-Switch-${TAG}-Linux-arm64.AppImage\` / \`.deb\` / \`.rpm\`
734750
735-
Claude Code 供应商切换工具
751+
> \`.tar.gz\` 为 Tauri updater 自动更新专用,无需手动下载。
736752
737-
### 下载
753+
---
738754
739-
- **macOS**: `CC-Switch-${{ github.ref_name }}-macOS.dmg`(未配置 Apple 签名时为未签名版)或 `CC-Switch-${{ github.ref_name }}-macOS.zip`(解压即用)
740-
- **Windows (x86_64)**: `CC-Switch-${{ github.ref_name }}-Windows-Setup.exe`(安装版)或 `CC-Switch-${{ github.ref_name }}-Windows-Portable.zip`(绿色版)
741-
- **Windows (ARM64)**: `CC-Switch-${{ github.ref_name }}-Windows-arm64-Setup.exe`(安装版)或 `CC-Switch-${{ github.ref_name }}-Windows-arm64-Portable.zip`(绿色版)
742-
- **Linux (x86_64)**: `CC-Switch-${{ github.ref_name }}-Linux-x86_64.AppImage` / `.deb` / `.rpm`
743-
- **Linux (ARM64)**: `CC-Switch-${{ github.ref_name }}-Linux-arm64.AppImage` / `.deb` / `.rpm`
755+
🌐 **Only Official Website / 唯一官方网站 / 唯一の公式サイト**: [ccswitch.io](https://ccswitch.io)
744756
745-
> `.tar.gz` 为 Tauri updater 自动更新专用,无需手动下载。
757+
macOS DMG 在仓库配置 Apple 签名和公证密钥时会签名并公证;未配置时发布 Tauri 生成的未签名 DMG、updater tarball 和 app zip。
758+
EOF
759+
} > release-body.md
760+
cat release-body.md
746761
747-
---
748-
macOS DMG 在仓库配置 Apple 签名和公证密钥时会签名并公证;未配置时发布 Tauri 生成的未签名 DMG、updater tarball 和 app zip。
762+
- name: Upload Release Assets
763+
uses: softprops/action-gh-release@v3
764+
with:
765+
tag_name: ${{ github.ref_name }}
766+
name: CCSwitchMulti ${{ github.ref_name }}
767+
prerelease: false
768+
body_path: release-body.md
749769
files: release-assets/*
750770
env:
751771
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,35 @@
1-
# CCSwitchMulti v3.16.4-11 发布说明
1+
# CCSwitchMulti v3.16.4-11
22

3-
本版本补齐上一轮 GitHub Release 的 updater 元数据稳定性
3+
v3.16.4-11 是 `v3.16.4-7` 之后的正式 GitHub build 发布,继续补齐多平台 Release 链路,并保留 `v3.16.4-7` 已发布的 Codex MultiRouter、Codex Desktop OAuth、Responses 请求形态、火山 AgentPlan 和图片兜底修复
44

5-
## 修复
5+
## 功能更新
66

7-
- 保留 `v3.16.4-10` 已验证成功的 macOS 未签名 DMG 发布路径:未配置 Apple 签名和公证凭据时,Release 仍会上传 `CC-Switch-v3.16.4-11-macOS.dmg`
8-
- 修复 `latest.json` 组装阶段对 GitHub Release 资产接口 503 过于敏感的问题。下载 release 资产和上传 `latest.json` 都增加有限重试,避免资产已经上传成功但 updater 元数据缺失。
9-
- Release 下载说明继续明确:macOS DMG 在缺少 Apple 签名配置时是未签名版本;后续补齐 Apple Developer ID 证书和 notarization secrets 后会自动切换为签名并公证的 DMG。
7+
- GitHub Actions 正式产出 Windows x64、Windows ARM64、Linux x64、Linux ARM64 和 macOS universal 多平台资产,不再只依赖本地 Windows 打包。
8+
- macOS Release 增加 DMG 下载包。当前仓库尚未配置 Apple Developer ID 签名和公证凭据,所以发布的是 Tauri 生成的未签名 DMG;后续补齐 Apple secrets 后会自动切换到签名并公证的 DMG。
9+
- Windows ARM64 改为稳定产出 NSIS 安装包和绿色版 zip,`latest.json``windows-aarch64` updater 元数据也指向 ARM64 NSIS 安装包。
10+
- `latest.json` 同时覆盖 macOS universal updater、Windows x64、Windows ARM64、Linux x64 和 Linux ARM64,方便自动更新继续使用平台专属签名资产。
1011

11-
## 验证重点
12+
## Bug 修复
1213

13-
- `v3.16.4-10` 的 release run 已证明 unsigned macOS DMG 会进入 Release 资产列表,但同 run 因 GitHub asset API 503 未能生成 `latest.json`
14-
- 本版本用于验证正式 release 同时具备 macOS DMG、macOS updater tarball、Windows/Linux 多架构资产和 `latest.json`
14+
- 修复 GitHub Release 在 Apple 签名凭据缺失时静默跳过 macOS DMG 的问题。现在无签名路径也会复制 Tauri 生成的 `CCSwitchMulti_*_universal.dmg`;如果找不到 DMG,macOS job 会失败而不是发布缺资产的 release。
15+
- 修复 `latest.json` 组装阶段对 GitHub Release asset API 503 过于敏感的问题。下载 release 资产和上传 `latest.json` 都增加有限重试,避免出现“安装包已上传但 updater 元数据缺失”的半成功 release。
16+
- 修复 Windows ARM64 MSI / WiX `light.exe` 在 GitHub runner 上不稳定导致的发布失败。ARM64 不再强制产 MSI,改由 NSIS 安装包作为正式安装资产。
17+
- 修复 GitHub Release 文案仍使用泛模板的问题。后续 GitHub build release 会使用 `CCSwitchMulti <tag>` 作为 release 名称,并读取对应 `docs/release-notes/<tag>-zh.md` 写入功能更新和 bug 修复说明。
18+
19+
## 继承的核心产品修复
20+
21+
- Codex MultiRouter 保存和同步时会修复官方 GPT route 与第三方中转 GPT route 的同名模型冲突,为第三方同上游模型生成稳定可见别名,并用 route 级 `modelMap` 映射回真实上游模型。
22+
- Provider 模型目录临时为空时,不再清空已保存的第三方 relay alias、`match.models``modelMap`,避免中转 GPT 请求被官方 GPT 前缀 route 抢走。
23+
- 聚合 `modelCatalog` 只暴露当前 route 实际能 exact 或 prefix 命中的模型,避免 Codex 选择器展示 route 接不住的模型。
24+
- Codex Desktop 官方 OAuth 登录态在接管恢复、崩溃恢复和 provider 切换时会优先保护当前 live OAuth 登录材料,不再被旧备份里的空 auth、API key auth 或过期快照覆盖。
25+
- Official Codex OAuth `/responses` 会移除非 message item 上不兼容的冗余 `content` 字段,避免 `function_call_output` 等 item 触发上游 HTTP 400。
26+
- 第三方 Responses API 请求中的 `system` / `developer` 控制消息会提升到顶层 `instructions`,避免被当成普通 input 透传后触发上游 400。
27+
- 火山 AgentPlan 模型枚举支持通过 AccessKey ID / SecretAccessKey 调用 `ListArkAgentPlanModel`;缺少 AK/SK 时按能力回退到数据面 `/models` 或保留内置 catalog。
28+
- 含图请求遇到部分上游的图片安全审核拒绝时,会在确认请求体确实包含图片后移除图片块重试一次,提升 MiniMax 等模型的兜底体验。
29+
30+
## 验证
31+
32+
- GitHub Actions release run `28616009981` 全部成功:Windows x64、Windows ARM64、Linux x64、Linux ARM64、macOS universal、Publish GitHub Release 和 Assemble `latest.json` 均通过。
33+
- Release `v3.16.4-11` 是正式 release,`draft=false``prerelease=false`,GitHub latest API 已返回 `tag_name=v3.16.4-11`
34+
- 资产共 19 个,包含 `CC-Switch-v3.16.4-11-macOS.dmg``macOS.tar.gz``macOS.tar.gz.sig``macOS.zip`、Windows x64/ARM64 setup 和 portable、Linux x64/ARM64 AppImage/deb/rpm,以及 `latest.json`
35+
- `latest.json` 已下载并解析成功,`version=3.16.4-11`,包含 6 个 updater 平台;macOS 两个架构都指向同一个 universal `macOS.tar.gz`

memory.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# CC Switch Repository Memory
22

3+
## 2026-07-03 GitHub Release Body Must Use CCSwitchMulti Notes
4+
5+
- Release tag 本身应继续使用推送的 fork tag(例如 `v3.16.4-11`),不要从 upstream/origin 取原版 tag 或 release 文案。`release.yml``tag_name: ${{ github.ref_name }}` 是正确边界。
6+
- 旧 GitHub build release 的问题不是 tag 错,而是 Release name/body 仍是泛模板 `CC Switch <tag>` 和下载说明,缺少 CCSwitchMulti 的功能更新和 bug 修复内容。
7+
- 修复边界:`Publish GitHub Release` job 必须 checkout 仓库,生成 `release-body.md`,优先读取 `docs/release-notes/${tag}-zh.md`,再追加下载资产说明;`softprops/action-gh-release` 使用 `name: CCSwitchMulti ${tag}``body_path: release-body.md`
8+
- `v3.16.4-11` 当前 GitHub release 已手动更新为 `CCSwitchMulti v3.16.4-11`,正文包含功能更新、Bug 修复、继承的核心产品修复、验证和下载说明。后续新 tag 会由 workflow 自动使用同样规则。
9+
310
## 2026-07-03 CCSwitchMulti v3.16.4-11 GitHub Release Verification
411

512
- `v3.16.4-11` 已作为 BigStrongSun/ccswitchmulti 的正式 release 发布并通过 GitHub Actions release run `28616009981`,head sha 为 `8e93cd6df6b7737c3420a5b6861de41992449ca8`。五个平台 build、Publish GitHub Release、Assemble `latest.json` 全部成功。

0 commit comments

Comments
 (0)