docs: add gitea runner setup for windows builds
Some checks failed
Build Windows Internal Installer / Build Windows x64 internal installer (push) Has been cancelled
Some checks failed
Build Windows Internal Installer / Build Windows x64 internal installer (push) Has been cancelled
This commit is contained in:
parent
d10824e685
commit
e2a1e88e0f
5
.github/workflows/build-windows-manual.yml
vendored
5
.github/workflows/build-windows-manual.yml
vendored
@ -74,7 +74,8 @@ jobs:
|
|||||||
|
|
||||||
- name: Set internal app version
|
- name: Set internal app version
|
||||||
run: |
|
run: |
|
||||||
VERSION="${{ inputs.version || '0.1.1' }}"
|
VERSION="${{ inputs.version }}"
|
||||||
|
if [ -z "$VERSION" ]; then VERSION="0.1.1"; fi
|
||||||
jq --arg v "$VERSION" '.version = $v' src-tauri/tauri.conf.json > tmp.json && mv tmp.json src-tauri/tauri.conf.json
|
jq --arg v "$VERSION" '.version = $v' src-tauri/tauri.conf.json > tmp.json && mv tmp.json src-tauri/tauri.conf.json
|
||||||
sed -i "s/^version = \".*\"/version = \"$VERSION\"/" src-tauri/Cargo.toml
|
sed -i "s/^version = \".*\"/version = \"$VERSION\"/" src-tauri/Cargo.toml
|
||||||
|
|
||||||
@ -104,7 +105,7 @@ jobs:
|
|||||||
- name: Upload Windows internal installer
|
- name: Upload Windows internal installer
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.artifact_name || 'Guanghu-Windows-x64-internal' }}
|
name: Guanghu-Windows-x64-internal
|
||||||
path: src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/*-setup.exe
|
path: src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/*-setup.exe
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
|
|||||||
162
docs/ops/GITEA-ACTIONS-RUNNER-WINDOWS-INTERNAL.md
Normal file
162
docs/ops/GITEA-ACTIONS-RUNNER-WINDOWS-INTERNAL.md
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
# Gitea Actions Runner · Windows 内测安装包构建
|
||||||
|
|
||||||
|
> 状态: RUNNER_REQUIRED
|
||||||
|
>
|
||||||
|
> 适用仓库: `bingshuo/hololake-platform`
|
||||||
|
>
|
||||||
|
> 工作流: `.github/workflows/build-windows-manual.yml`
|
||||||
|
>
|
||||||
|
> 当前用途: 生成 `Guanghu-Windows-x64-internal` 内测安装包 artifact
|
||||||
|
|
||||||
|
## 1 · 当前问题
|
||||||
|
|
||||||
|
`Build Windows Internal Installer` 工作流已经进入仓库,但 Gitea Actions 页面显示:
|
||||||
|
|
||||||
|
```text
|
||||||
|
No matching online runner with label: ubuntu-latest
|
||||||
|
```
|
||||||
|
|
||||||
|
这表示问题不在应用源码,也不在 Windows 安装包工作流本身,而是服务器当前没有在线 Gitea Actions runner 接收 `ubuntu-latest` 标签的任务。
|
||||||
|
|
||||||
|
## 2 · 为什么先用 ubuntu-latest
|
||||||
|
|
||||||
|
本工作流当前使用 Linux runner 交叉构建 Windows x64 NSIS 内测安装包:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
```
|
||||||
|
|
||||||
|
原因:
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. 服务器只需要一台 Linux runner 就能先产出 Windows NSIS 内测包。
|
||||||
|
2. 不要求 Windows 代码签名证书。
|
||||||
|
3. 不要求 Windows 桌面机器长期在线。
|
||||||
|
4. 比正式 Windows runner 更容易先补齐。
|
||||||
|
```
|
||||||
|
|
||||||
|
注意:这是内测 unsigned installer 路线,不是正式发布链。
|
||||||
|
|
||||||
|
## 3 · 最小 runner 要求
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
runner:
|
||||||
|
label: ubuntu-latest
|
||||||
|
os: linux
|
||||||
|
arch: x64
|
||||||
|
disk: "80GB+ recommended"
|
||||||
|
memory: "4GB minimum, 8GB recommended"
|
||||||
|
network: "must reach guanghubingshuo.com and public package registries"
|
||||||
|
```
|
||||||
|
|
||||||
|
工作流会自动安装:
|
||||||
|
|
||||||
|
```text
|
||||||
|
nsis
|
||||||
|
lld
|
||||||
|
llvm
|
||||||
|
clang
|
||||||
|
cargo-xwin
|
||||||
|
Node.js 22
|
||||||
|
pnpm 10
|
||||||
|
Rust x86_64-pc-windows-msvc target
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4 · 服务器补齐步骤
|
||||||
|
|
||||||
|
在运行 Gitea 的服务器或独立构建机上安装并启动 `act_runner`。
|
||||||
|
|
||||||
|
示例流程:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. 安装 runner 二进制
|
||||||
|
# 按服务器系统选择 Gitea act_runner 官方 release。
|
||||||
|
|
||||||
|
# 2. 注册 runner
|
||||||
|
act_runner register \
|
||||||
|
--instance https://guanghubingshuo.com/code \
|
||||||
|
--token <GITEA_ACTIONS_RUNNER_REGISTRATION_TOKEN> \
|
||||||
|
--name hololake-linux-runner-01 \
|
||||||
|
--labels ubuntu-latest:host
|
||||||
|
|
||||||
|
# 3. 启动 runner
|
||||||
|
act_runner daemon
|
||||||
|
```
|
||||||
|
|
||||||
|
生产建议用 systemd 托管:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[Unit]
|
||||||
|
Description=Gitea Actions Runner
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/local/bin/act_runner daemon --config /etc/act_runner/config.yaml
|
||||||
|
WorkingDirectory=/var/lib/act_runner
|
||||||
|
Restart=always
|
||||||
|
User=act-runner
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5 · 注册 token 放哪里
|
||||||
|
|
||||||
|
不要把 runner 注册 token 写入仓库。
|
||||||
|
|
||||||
|
token 应从 Gitea 管理界面获取:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Repository / Organization / Site Admin
|
||||||
|
→ Actions
|
||||||
|
→ Runners
|
||||||
|
→ Create or registration token
|
||||||
|
```
|
||||||
|
|
||||||
|
token 只在服务器注册 runner 时使用。
|
||||||
|
|
||||||
|
## 6 · 验证方式
|
||||||
|
|
||||||
|
runner 启动后,进入:
|
||||||
|
|
||||||
|
```text
|
||||||
|
https://guanghubingshuo.com/code/bingshuo/hololake-platform/actions
|
||||||
|
```
|
||||||
|
|
||||||
|
确认 `build-windows-manual.yml` 左侧不再显示:
|
||||||
|
|
||||||
|
```text
|
||||||
|
No matching online runner with label: ubuntu-latest
|
||||||
|
```
|
||||||
|
|
||||||
|
然后重新运行:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Build Windows Internal Installer
|
||||||
|
```
|
||||||
|
|
||||||
|
成功后 artifact 名称应为:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Guanghu-Windows-x64-internal
|
||||||
|
```
|
||||||
|
|
||||||
|
其中包含:
|
||||||
|
|
||||||
|
```text
|
||||||
|
*-setup.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
## 7 · 后续正式发布链
|
||||||
|
|
||||||
|
内测 runner 跑通后,再补正式链:
|
||||||
|
|
||||||
|
```text
|
||||||
|
1. Windows Authenticode 代码签名证书
|
||||||
|
2. Tauri updater signing key
|
||||||
|
3. 正式 release workflow
|
||||||
|
4. 安装包 smoke test
|
||||||
|
5. 自有更新源 latest.json
|
||||||
|
```
|
||||||
|
|
||||||
|
正式发布前不要把该内测包描述为“已签名正式版”。
|
||||||
Loading…
x
Reference in New Issue
Block a user