Skip to content

Commit f89d503

Browse files
committed
chore: release v0.1.3 mac only
1 parent 738d8d7 commit f89d503

7 files changed

Lines changed: 18 additions & 102 deletions

File tree

.github/workflows/release.yml

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -55,25 +55,6 @@ jobs:
5555
asset-name: GetTokens_darwin_universal.dmg
5656
updater-asset-name: GetTokens_darwin_universal.tar.gz
5757

58-
- runner: windows-latest
59-
os-name: Windows
60-
goos: windows
61-
goarch: amd64
62-
wails-platform: windows/amd64
63-
wails-extra: -nsis
64-
package-ext: exe
65-
asset-name: GetTokens_windows_amd64_installer.exe
66-
updater-asset-name: GetTokens_windows_amd64.tar.gz
67-
68-
- runner: ubuntu-latest
69-
os-name: Linux
70-
goos: linux
71-
goarch: amd64
72-
wails-platform: linux/amd64
73-
package-ext: AppImage
74-
asset-name: GetTokens_linux_amd64.AppImage
75-
updater-asset-name: GetTokens_linux_amd64.tar.gz
76-
7758
steps:
7859
- uses: actions/checkout@v4
7960

@@ -109,18 +90,6 @@ jobs:
10990
if: runner.os == 'macOS'
11091
run: brew install create-dmg
11192

112-
- name: Install Windows packaging tools
113-
if: runner.os == 'Windows'
114-
shell: pwsh
115-
run: |
116-
choco install nsis --no-progress -y
117-
$nsisDir = "${env:ProgramFiles(x86)}\NSIS"
118-
if (-not (Test-Path "$nsisDir\\makensis.exe")) {
119-
throw "makensis not found at $nsisDir"
120-
}
121-
$nsisDir | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
122-
& "$nsisDir\\makensis.exe" /VERSION
123-
12493
- name: Prepare macOS signing materials
12594
if: runner.os == 'macOS'
12695
env:
@@ -157,25 +126,6 @@ jobs:
157126
echo "CI_KEYCHAIN_PASSWORD=$CI_KEYCHAIN_PASSWORD" >> "$GITHUB_ENV"
158127
echo "MACOS_NOTARY_KEY_PATH=$MACOS_NOTARY_KEY_PATH" >> "$GITHUB_ENV"
159128
160-
- name: Install Linux dependencies
161-
if: runner.os == 'Linux'
162-
run: |
163-
sudo apt-get update -y
164-
sudo apt-get install -y libgtk-3-dev
165-
if apt-cache show libwebkit2gtk-4.1-dev >/dev/null 2>&1; then
166-
sudo apt-get install -y libwebkit2gtk-4.1-dev
167-
MULTIARCH="$(dpkg-architecture -qDEB_HOST_MULTIARCH)"
168-
PC_DIR="/usr/lib/${MULTIARCH}/pkgconfig"
169-
if [[ -f "${PC_DIR}/webkit2gtk-4.1.pc" && ! -f "${PC_DIR}/webkit2gtk-4.0.pc" ]]; then
170-
sudo ln -s webkit2gtk-4.1.pc "${PC_DIR}/webkit2gtk-4.0.pc"
171-
fi
172-
if [[ -f "${PC_DIR}/javascriptcoregtk-4.1.pc" && ! -f "${PC_DIR}/javascriptcoregtk-4.0.pc" ]]; then
173-
sudo ln -s javascriptcoregtk-4.1.pc "${PC_DIR}/javascriptcoregtk-4.0.pc"
174-
fi
175-
else
176-
sudo apt-get install -y libwebkit2gtk-4.0-dev
177-
fi
178-
179129
- name: Compute release label
180130
shell: bash
181131
run: |
@@ -198,13 +148,6 @@ jobs:
198148
chmod +x build/bin/GetTokens.app/Contents/MacOS/cli-proxy-api
199149
lipo -info build/bin/GetTokens.app/Contents/MacOS/cli-proxy-api
200150
201-
- name: Package updater asset
202-
if: runner.os != 'macOS'
203-
shell: bash
204-
run: |
205-
chmod +x scripts/package-updater-asset.sh
206-
./scripts/package-updater-asset.sh ${{ matrix.goos }} ${{ matrix.goarch }}
207-
208151
# ── Package ───────────────────────────────────────────────────────────
209152
- name: Sign and notarize macOS app
210153
if: runner.os == 'macOS'
@@ -230,20 +173,6 @@ jobs:
230173
scripts/sign-notarize-macos-release.sh dmg "dist/release/${{ matrix.asset-name }}"
231174
scripts/package-updater-asset.sh ${{ matrix.goos }} ${{ matrix.goarch }}
232175
233-
- name: Copy Windows installer
234-
if: runner.os == 'Windows'
235-
shell: bash
236-
run: |
237-
mkdir -p dist/release
238-
cp build/bin/GetTokens-*-installer.exe "dist/release/${{ matrix.asset-name }}"
239-
240-
- name: Package AppImage (Linux)
241-
if: runner.os == 'Linux'
242-
run: |
243-
mkdir -p dist/release
244-
# Minimal AppImage packaging — replace with appimagetool for production
245-
cp build/bin/GetTokens "dist/release/${{ matrix.asset-name }}"
246-
247176
# ── Upload artifact ───────────────────────────────────────────────────
248177
- uses: actions/upload-artifact@v4
249178
with:
@@ -283,9 +212,5 @@ jobs:
283212
files: |
284213
dist/release/GetTokens_darwin_universal.dmg
285214
dist/release/GetTokens_darwin_universal.tar.gz
286-
dist/release/GetTokens_windows_amd64_installer.exe
287-
dist/release/GetTokens_windows_amd64.tar.gz
288-
dist/release/GetTokens_linux_amd64.AppImage
289-
dist/release/GetTokens_linux_amd64.tar.gz
290215
dist/release/checksums.txt
291216
generate_release_notes: true

README.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,23 +78,16 @@ Releases are published on GitHub Releases:
7878

7979
- `https://github.com/AxApp/GetTokens/releases`
8080

81-
当前 release workflow 会生成以下资产类型
81+
当前阶段只支持 macOS,release workflow 仅生成以下资产类型
8282

8383
The current release workflow produces the following asset types:
8484

8585
- macOS:`GetTokens_darwin_universal.dmg`
8686
- macOS updater asset:`GetTokens_darwin_universal.tar.gz`
87-
- Windows:`GetTokens_windows_amd64_installer.exe`
88-
- Windows updater asset:`GetTokens_windows_amd64.tar.gz`
89-
- Linux:`GetTokens_linux_amd64.AppImage`
90-
- Linux updater asset:`GetTokens_linux_amd64.tar.gz`
9187
- Checksums:`checksums.txt`
9288

9389
## 自动更新说明 | Auto Update Notes
9490

95-
- Windows / Linux 直接消费 release 中的 `.tar.gz` 原始资产进行应用内更新。
96-
- Windows / Linux consume the raw `.tar.gz` release assets for in-app updates.
97-
9891
- macOS 出于已签名 `.app` bundle 完整性约束,只执行“检查更新 + 打开 release 页面下载 DMG”。
9992
- On macOS, due to signed `.app` bundle integrity constraints, the app uses “check update + open release page for DMG download” instead of in-place bundle replacement.
10093

docs-linhay/dev/20260426-release-prep-guide.md

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,14 @@
88
3. 当前功能集合更接近首个公开可用版本,而不是后续增量 patch。
99

1010
## 发布资产分层
11-
后续 release 统一分成两类资产
11+
当前阶段先只支持 macOS release,资产分成两类
1212

1313
1. 用户下载安装包
1414
- macOS: `GetTokens_darwin_universal.dmg`
15-
- Windows: `GetTokens_windows_amd64_installer.exe`
16-
- Linux: 保持现有下载包策略
1715
2. 自动升级资产
1816
- macOS: `GetTokens_darwin_universal.tar.gz`
19-
- Windows: `GetTokens_windows_amd64.tar.gz`
20-
- Linux: `GetTokens_linux_amd64.tar.gz`
2117

2218
说明:
23-
- Windows / Linux 继续使用 `go-selfupdate` 做原地替换。
2419
- macOS 保留 `tar.gz` 资产用于检测最新版本和统一校验链,但签名发布包不做 bundle 内原地替换,设置页会跳转到 release 页面安装。
2520
- 原因是 Apple 对签名 bundle 的 seal 有要求;修改 `.app` 主可执行文件会破坏签名边界。参见 Apple Technical Note TN2206。
2621

@@ -46,8 +41,6 @@
4641

4742
```bash
4843
./scripts/build-sidecar.sh darwin universal build/bin
49-
./scripts/build-sidecar.sh windows amd64 build/bin
50-
./scripts/build-sidecar.sh linux amd64 build/bin
5144
```
5245

5346
## macOS 签名与公证
@@ -93,16 +86,15 @@ CI release workflow 需要以下 secrets:
9386
1. 自动升级资产必须可直接解压出目标可执行文件,不能是安装器。
9487
2. 自动升级比较继续使用语义化版本 tag,例如 `v0.1.0`
9588
3. UI 展示版本时间使用 `ReleaseLabel`,不和 `Version` 混用。
96-
4. Windows 安装包必须避开 `go-selfupdate` 的默认匹配规则,因此使用 `_installer.exe` 后缀。
97-
5. macOS universal updater 资产需要和 `UniversalArch=universal` 对齐。
98-
6. macOS release workflow 必须先把源码构建出来的 universal sidecar 回填进 `.app`,再 notarize `.app`,然后从已 stapled 的 `.app` 生成 DMG,最后再 notarize DMG。
99-
7. 已签名 macOS `.app` 在当前框架下只支持“检查更新 + 跳转 release 页面”,不支持 bundle 内 `ApplyUpdate`
89+
4. macOS universal updater 资产需要和 `UniversalArch=universal` 对齐。
90+
5. macOS release workflow 必须先把源码构建出来的 universal sidecar 回填进 `.app`,再 notarize `.app`,然后从已 stapled 的 `.app` 生成 DMG,最后再 notarize DMG。
91+
6. 已签名 macOS `.app` 在当前框架下只支持“检查更新 + 跳转 release 页面”,不支持 bundle 内 `ApplyUpdate`
10092

10193
## 建议发布步骤
10294
1. 确认工作区只包含本次准备发布的变更。
10395
2. 运行前端类型检查、Go 测试、文档校验。
10496
3. 从 fork 源码构建 sidecar,并确认 macOS 场景下 `build/bin/cli-proxy-api` 为 universal binary。
105-
4. 合并到干净提交后创建 tag:`v0.1.0`
97+
4. 合并到干净提交后创建 tag,例如`v0.1.3`
10698
5. 推送 tag 触发 GitHub Actions release workflow。
10799
6. 在生成的 release 页面检查:
108100
- 安装包资产存在
@@ -111,5 +103,4 @@ CI release workflow 需要以下 secrets:
111103
- macOS DMG 已经 stapled,`xcrun stapler validate` 通过
112104
7. 使用非 dev 构建验证:
113105
- `CheckUpdate` 能发现新版本
114-
- Windows / Linux: `ApplyUpdate` 能下载并替换二进制,应用退出后重启进入新版本
115106
- macOS: 设置页能打开对应 release 页面,下载安装后进入新版本

docs-linhay/memory/2026-04-26.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# 2026-04-26
22

3+
## Codex OAuth URL Confirm Modal
4+
- 账号池中的 `ChatGPT 登录 / 重新登录` 已改为参考 Nolon 的手动确认模式:前端拿到 sidecar 返回的登录 URL 后,不再立即自动拉起浏览器,而是先弹出确认框。
5+
- 确认框当前提供 `复制链接``直接打开``关闭` 三个动作;关闭只收起弹窗,不打断正在轮询的 OAuth 状态。
6+
- OAuth 成功后仍沿用既有 `loadAccounts()` 刷新账号列表;重新登录成功继续回填原 auth file,避免产生重复账号。
7+
- 本轮验证通过:`npm run test:unit``npm run typecheck`
8+
39
## Codex OAuth Bridge & Reauth
410
- 账号池已补齐 `nolon/chatgpt(codex)` 最小 OAuth bridge:Wails 新增 `StartCodexOAuth``GetOAuthStatus``FinalizeCodexOAuth`,前端可从 Header 发起 `ChatGPT 登录`,也可从失败态 `codex` 卡片触发 `重新登录`
511
- 本轮明确了一条稳定边界:GetTokens 不引入 Web 管理后台式全局登录态;`codex` 账号过期只在账号池内局部修复,不做全局 `401 -> logout -> route redirect`
@@ -155,4 +161,5 @@
155161
- `v0.1.1` 的 GitHub Release workflow 失败根因已定位:runner checkout 不包含 `docs-linhay/references/CLIProxyAPI`,导致 `scripts/build-sidecar.sh` 在 CI 上找不到 fork 源码目录。
156162
- 已修正 `scripts/build-sidecar.sh`:本地优先用 `docs-linhay/references/CLIProxyAPI`,CI 缺目录时自动 clone `linhay/CLIProxyAPI#gettokens/wham-token-fix` 再构建 sidecar,避免 workflow 依赖未纳入 git 的本地参考目录。
157163
- 修正验证已完成:通过 `CLI_PROXY_SOURCE_DIR=/tmp/gettokens-missing-source ./scripts/build-sidecar.sh darwin arm64 /tmp/gettokens-sidecar-clone-verify` 覆盖了 CI 回退路径,确认自动 clone fork 后可以正常构建并退出。
158-
- 发布版本继续上调到 `v0.1.2`,避免复用已失败的 `v0.1.1` tag。
164+
- 发布版本继续上调到 `v0.1.3`,避免复用已失败的 `v0.1.1` / `v0.1.2` tag。
165+
- 产品发布范围调整:当前阶段先只支持 macOS,release workflow 暂时移除 Windows / Linux 构建与资产发布,只保留 `GetTokens_darwin_universal.dmg``GetTokens_darwin_universal.tar.gz``checksums.txt`

frontend/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "gettokens-frontend",
33
"private": true,
4-
"version": "0.1.2",
4+
"version": "0.1.3",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

frontend/package.json.md5

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
cf32875b7317ee64da4c6d80843c2f5b
1+
b7fecf53f9f3ef250b3cbca7880cac2a

0 commit comments

Comments
 (0)