ci: 新增 j CLI + JStudio 每日构建(win/mac universal/linux)#6
Open
wuqie-xuanzhao wants to merge 1 commit into
Open
Conversation
Adds .github/workflows/nightly.yml to build the j CLI binary and the JStudio Tauri desktop app daily (UTC 00:00) or on manual dispatch: - Windows x64: NSIS .exe + MSI - macOS Universal: .dmg (aarch64 + x86_64 via lipo) - Linux x64: .deb + .AppImage Build chain: cargo build --release compiles the host j binary, which jstudio's build.rs stages into resources/bin/ so it ships inside the GUI bundle. Each platform job builds and uploads a workflow artifact; the publish-nightly job consolidates all artifacts onto a rolling nightly prerelease tag (gh release delete --cleanup-tag recreates it each run). AGENTS.md documents the nightly build under the jstudio submodule section.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概述
新增
.github/workflows/nightly.yml—— 每日 CI 流水线,同时构建jCLI 和 JStudio Tauri 桌面应用,为三个平台产出原生安装包,并发布到滚动的nightly预发布 tag。满足「给 JStudio 加上 nightly build,构建 win / mac / linux」的需求。
平台与产物
x86_64-pc-windows-msvc.exe+.msiuniversal-apple-darwin.dmg(aarch64 + x86_64 经lipo合并)x86_64-unknown-linux-gnu.deb+.AppImage构建链
```
checkout jcli + jstudio submodule
→ cargo build --release (编译宿主 `j` 二进制)
→ stage 到 apps/jstudio/src-tauri/resources/bin/
→ tauri build (原生安装包,内嵌 `j`)
```
jstudio 的 `src-tauri/build.rs` 会把 jcli workspace 根目录解析为 `src-tauri/../../../`,并在打包前把 `target/release/j` 放进 `resources/bin/`。workflow 额外显式预 stage 该二进制作为快速路径,确保 GUI 安装包内带最新编译的 `j`。macOS 下先用 `lipo` 把 `j` 的两个架构切片合并成 universal 二进制再 stage,使 universal `.dmg` 内含 universal `j`。
架构设计
`nightly` tag 始终指向最近一次成功的构建。
触发方式
验证
文档
`AGENTS.md` 在 jstudio 子模块章节补充了 nightly build 说明。
关于范围
本 PR 仅含 workflow + 文档。工作区在途的无关改动(TUI input-event、`.codegraph/daemon.pid`、submodule 指针漂移)已排除,未混入本分支。