Skip to content

Commit a896283

Browse files
authored
feat(ci): add experimental Linux x86_64 build (.deb + .AppImage) (#40)
Extend the release pipeline to publish Linux artifacts alongside the existing macOS arm64 and Windows x64 ones. Built on ubuntu-22.04 (glibc 2.35) to keep the baseline broad. UI / switching / quota features work as on the other platforms; Linux-native paths for Codex CLI integration are not separately adapted yet (the non-macOS code branch is reused), so this is shipped as experimental. - src-tauri/tauri.linux.conf.json: enable bundle, deb + appimage targets - package.json: add tauri:build:linux script (mirrors :windows) - .github/workflows/build.yml: add linux-x86_64 matrix entry with apt step gated on runner.os, append artifact glob to release job - README + CHANGELOG: document experimental status and runtime caveat
1 parent f56c00d commit a896283

6 files changed

Lines changed: 41 additions & 2 deletions

File tree

.github/workflows/build.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,28 @@ jobs:
9292
tauri_script: tauri:build:windows
9393
artifacts: |
9494
src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/*.exe
95+
- label: linux-x86_64
96+
os: ubuntu-22.04
97+
target: x86_64-unknown-linux-gnu
98+
tauri_script: tauri:build:linux
99+
artifacts: |
100+
src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb
101+
src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage
95102
runs-on: ${{ matrix.os }}
96103
steps:
97104
- uses: actions/checkout@v4
98105

106+
- name: Install Tauri Linux dependencies
107+
if: runner.os == 'Linux'
108+
run: |
109+
sudo apt-get update
110+
sudo apt-get install -y \
111+
libwebkit2gtk-4.1-dev \
112+
libgtk-3-dev \
113+
libayatana-appindicator3-dev \
114+
librsvg2-dev \
115+
libsoup-3.0-dev
116+
99117
- uses: actions/setup-node@v4
100118
with:
101119
node-version: '22'
@@ -167,3 +185,4 @@ jobs:
167185
artifacts/codex-switch-macos-arm64/*
168186
artifacts/codex-switch-macos-x64/*
169187
artifacts/codex-switch-windows-x86_64/*
188+
artifacts/codex-switch-linux-x86_64/*

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## 1.5.11 - 2026-05-16
4+
5+
- Added experimental Linux x86_64 build to the release pipeline. Tagged releases now publish `.deb` (Debian/Ubuntu) and `.AppImage` (generic portable) artifacts alongside the existing macOS / Windows ones. Built on `ubuntu-22.04` (glibc 2.35) so binaries run on Ubuntu 22.04+ / Debian 12+ and equivalent distros. UI, profile switching, and plan / quota readout work as on the other platforms; Linux-native paths for Codex CLI discovery and `codex login` spawning are not separately adapted yet (the non-macOS code branch is currently reused), so feedback issues are welcome.
6+
37
## 1.5.10 - 2026-05-16
48

59
- Profiles page redesign: account cards become single-row list items (account name + plan / 5-hour and weekly quotas / actions all in one horizontal row). Profile-list page size raised from 4 to 8 entries per page.

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,13 @@ codex_switch_<版本>_aarch64.pkg macOS Apple Silicon PKG 安装包
4444
codex_switch_<版本>_x64.dmg macOS Intel DMG(拖拽到 Applications)
4545
codex_switch_<版本>_x64.pkg macOS Intel PKG 安装包
4646
codex_switch_<版本>_x64-setup.exe Windows x64 NSIS 安装包
47+
codex_switch_<版本>_amd64.deb Linux x86_64 Debian/Ubuntu 包(sudo dpkg -i 安装)
48+
codex_switch_<版本>_amd64.AppImage Linux x86_64 通用便携包(chmod +x 后直接运行)
4749
```
4850

4951
> macOS / Windows 都暂未做代码签名,首次启动可能提示「未知开发者 / 未知发布者」;macOS 可在「系统设置 → 隐私与安全」放行,Windows 可在 SmartScreen 弹窗点「更多信息 → 仍要运行」。
52+
>
53+
> Linux 为实验性发布(Ubuntu 22.04 / glibc 2.35 基线构建):UI、账号切换、plan/quota 查看可用;与 Codex CLI 的部分交互(路径自检、`codex login` spawn 等)当前走 Windows 路径分支,Linux-native 体验尚未单独适配,欢迎反馈 issue。
5054
5155
## 快速开始
5256

@@ -183,7 +187,7 @@ App 暂未做 Apple Developer 代码签名 / notarization。第一次启动按
183187

184188
- **macOS**:原生 Tauri 桌面端(Apple Silicon + Intel),同时保留 `macOS-backup/` 下的 legacy shell 流程兼容。
185189
- **Windows**:原生 Tauri 桌面端(x64),通过 Release 中的 `.exe` 分发。
186-
- **Linux**暂未做正式发布;前端代码跨平台,理论可自行 `cargo tauri build`AppImage / deb,但 macOS-backup 与 Codex CLI 路径探测未覆盖 Linux 路径约定
190+
- **Linux****实验性发布**(Ubuntu 22.04 / glibc 2.35 基线,x86_64),通过 Release 中的 `.deb` / `.AppImage` 分发。前端 UI、账号切换、plan / quota 查看与 macOS / Windows 一致;与 Codex CLI 的交互(路径自检、`codex login` spawn)当前复用 Windows runtime 分支,尚未做 Linux-native 适配,欢迎踩到具体问题后开 issue 反馈
187191

188192
平台专属逻辑放在 `src-tauri/mac/**``src-tauri/win/**`,跨平台逻辑都在 `src-tauri/shared/**`
189193

README.zh-CN.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,13 @@ codex_switch_<版本>_aarch64.pkg macOS Apple Silicon PKG 安装包
4444
codex_switch_<版本>_x64.dmg macOS Intel DMG(拖拽到 Applications)
4545
codex_switch_<版本>_x64.pkg macOS Intel PKG 安装包
4646
codex_switch_<版本>_x64-setup.exe Windows x64 NSIS 安装包
47+
codex_switch_<版本>_amd64.deb Linux x86_64 Debian/Ubuntu 包(sudo dpkg -i 安装)
48+
codex_switch_<版本>_amd64.AppImage Linux x86_64 通用便携包(chmod +x 后直接运行)
4749
```
4850

4951
> macOS / Windows 都暂未做代码签名,首次启动可能提示「未知开发者 / 未知发布者」;macOS 可在「系统设置 → 隐私与安全」放行,Windows 可在 SmartScreen 弹窗点「更多信息 → 仍要运行」。
52+
>
53+
> Linux 为实验性发布(Ubuntu 22.04 / glibc 2.35 基线构建):UI、账号切换、plan/quota 查看可用;与 Codex CLI 的部分交互(路径自检、`codex login` spawn 等)当前走 Windows 路径分支,Linux-native 体验尚未单独适配,欢迎反馈 issue。
5054
5155
## 快速开始
5256

@@ -183,7 +187,7 @@ App 暂未做 Apple Developer 代码签名 / notarization。第一次启动按
183187

184188
- **macOS**:原生 Tauri 桌面端(Apple Silicon + Intel),同时保留 `macOS-backup/` 下的 legacy shell 流程兼容。
185189
- **Windows**:原生 Tauri 桌面端(x64),通过 Release 中的 `.exe` 分发。
186-
- **Linux**暂未做正式发布;前端代码跨平台,理论可自行 `cargo tauri build`AppImage / deb,但 macOS-backup 与 Codex CLI 路径探测未覆盖 Linux 路径约定
190+
- **Linux****实验性发布**(Ubuntu 22.04 / glibc 2.35 基线,x86_64),通过 Release 中的 `.deb` / `.AppImage` 分发。前端 UI、账号切换、plan / quota 查看与 macOS / Windows 一致;与 Codex CLI 的交互(路径自检、`codex login` spawn)当前复用 Windows runtime 分支,尚未做 Linux-native 适配,欢迎踩到具体问题后开 issue 反馈
187191

188192
平台专属逻辑放在 `src-tauri/mac/**``src-tauri/win/**`,跨平台逻辑都在 `src-tauri/shared/**`
189193

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"tauri:dev": "npm run version:sync && tauri dev",
2424
"tauri:build": "npm run version:sync:release && tauri build",
2525
"tauri:build:windows": "npm run version:sync:release && tauri build --target x86_64-pc-windows-msvc",
26+
"tauri:build:linux": "npm run version:sync:release && tauri build --target x86_64-unknown-linux-gnu",
2627
"tauri:build:portable": "npm run version:sync && tauri build --no-bundle",
2728
"tauri:build:windows:portable": "npm run version:sync && tauri build --target x86_64-pc-windows-msvc --no-bundle",
2829
"tauri:build:macos-dmg": "npm run tauri:build:macos-release",

src-tauri/tauri.linux.conf.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
3+
"bundle": {
4+
"active": true,
5+
"targets": ["deb", "appimage"]
6+
}
7+
}

0 commit comments

Comments
 (0)