Skip to content

Commit 04756a5

Browse files
author
FallingAKS
committed
feat(release): ship integrated desktop runtime bundle
1 parent f171301 commit 04756a5

File tree

17 files changed

+492
-7
lines changed

17 files changed

+492
-7
lines changed

.github/workflows/release-on-tag.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,15 @@ jobs:
2525
cache: npm
2626
cache-dependency-path: frontend/package-lock.json
2727

28+
- name: Setup Java 21
29+
uses: actions/setup-java@v4
30+
with:
31+
distribution: temurin
32+
java-version: '21'
33+
34+
- name: Stage desktop runtime payload
35+
run: node scripts/stage-desktop-runtime.js --project-root . --frontend-dir frontend --include-jre
36+
2837
- name: Install frontend dependencies
2938
working-directory: frontend
3039
run: npm ci

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@ backend/moqui_logs/
1515
backend/app/moqui_logs/
1616
moqui_logs/
1717
backend/app/target/
18+
backend/framework/target/
1819

1920
# frontend build artifacts
2021
frontend/dist/
2122
frontend/dist-electron/
2223
frontend/node_modules/
24+
frontend/resources/
2325

2426
# local editor/system files
2527
*.tmp

backend/dist/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Backend Runtime Artifact
2+
3+
- `app.jar` is the backend runtime artifact used by desktop release packaging.
4+
- Desktop packaging script priority:
5+
1. `backend/dist/app.jar`
6+
2. `backend/app/target/app.jar` (local fallback)
7+
8+
When backend implementation changes, refresh this artifact before tagging release:
9+
10+
```powershell
11+
Copy-Item -Force backend\app\target\app.jar backend\dist\app.jar
12+
```

backend/dist/app.jar

35 MB
Binary file not shown.

docs/release-checklist.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ Run in order:
139139
- `v3.0.4` exists in Releases
140140
- Title/tag/target branch/release notes are correct
141141
- Windows downloadable assets are attached (portable `exe`, and optional `zip`)
142+
- Downloaded package can run without source checkout (Electron + embedded backend runtime + bundled JRE)
142143
6. **Verify runtime surface health**
143144
- `http://localhost:8080/docs` returns `200`
144145
- `http://localhost:8080/redoc` returns `200`

docs/release-tagging.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ npm run release:tag -- -Version v3.0.4 -Push -CreateRelease
3737
- 工作流:`.github/workflows/release-on-tag.yml`
3838
- 触发条件:push `v*` tag
3939
- 行为:自动创建 GitHub Release,并开启自动 Release Notes;同时自动构建并挂载 Windows 下载包(优先 `portable exe`,按目标可能附带 `zip`
40+
- 桌面安装包包含:
41+
- Electron 客户端
42+
- 内置后端 `app.jar`
43+
- 后端运行时模板(runtime/component/db)
44+
- 内置 JRE(优先使用包内 Java,无包内时回退系统 Java)
4045
- 若 tag 名含 `-rc/-beta/-alpha`,自动标记为 pre-release
4146

4247
## 5. 失败处理

docs/releases/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ This directory stores release-facing documents:
1414
- [v3.0.4 release notes](./v3.0.4.md)
1515
- [v3.0.5 release notes](./v3.0.5.md)
1616
- [v3.0.6 release notes](./v3.0.6.md)
17+
- [v3.0.7 release notes](./v3.0.7.md)

docs/releases/v3.0.7.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Release Notes: v3.0.7
2+
3+
Release date: 2026-02-20
4+
5+
## Highlights
6+
7+
- Delivered integrated desktop runtime packaging:
8+
- Electron desktop app now starts/stops embedded backend automatically.
9+
- Packaged app resolves API requests to local embedded backend endpoint.
10+
- Added runtime staging pipeline:
11+
- New staging script assembles backend `app.jar`, runtime template, Moqui components, and optional bundled JRE.
12+
- `dist:win` now runs runtime staging before Electron build.
13+
- Upgraded tag release workflow:
14+
- Added Java 21 setup.
15+
- Added desktop runtime staging before Windows artifact build.
16+
17+
## Why This Release Matters
18+
19+
- End users can run desktop package without source checkout.
20+
- Release pipeline now consistently produces integrated runtime artifacts.
21+
- Desktop packaged mode no longer depends on dev-only `/api` relative routing.
22+
23+
## Verification Snapshot
24+
25+
- Local validation passed:
26+
- `npm --prefix frontend run prepare:runtime -- --include-jre`
27+
- `npm --prefix frontend run build`
28+
- `npm --prefix frontend run dist:win -- --dir`
29+
30+
## Included Changes
31+
32+
- Electron backend process management and runtime bridge.
33+
- API base URL runtime adaptation for packaged mode.
34+
- CI/runtime staging integration for tag releases.

docs/zh/release-checklist.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ git log --oneline -n 15
139139
- `Releases` 页面存在 `v3.0.4`
140140
- 标题、Tag、目标分支、发布说明内容一致
141141
- 已附带 Windows 下载包(优先 portable `exe`,按目标可能含 `zip`
142+
- 下载包可脱离源码直接运行(Electron + 内置后端运行时 + 内置 JRE)
142143
6. **确认核心访问面健康**
143144
- `http://localhost:8080/docs` 返回 `200`
144145
- `http://localhost:8080/redoc` 返回 `200`

docs/zh/releases/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@
1414
- [v3.0.4 发布说明](./v3.0.4.md)
1515
- [v3.0.5 发布说明](./v3.0.5.md)
1616
- [v3.0.6 发布说明](./v3.0.6.md)
17+
- [v3.0.7 发布说明](./v3.0.7.md)

0 commit comments

Comments
 (0)