docs: add gitea runner setup for windows builds
Some checks are pending
Build Windows Internal Installer / Build Windows x64 internal installer (push) Waiting to run
Some checks are pending
Build Windows Internal Installer / Build Windows x64 internal installer (push) Waiting to run
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
|
||||
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
|
||||
sed -i "s/^version = \".*\"/version = \"$VERSION\"/" src-tauri/Cargo.toml
|
||||
|
||||
@ -104,7 +105,7 @@ jobs:
|
||||
- name: Upload Windows internal installer
|
||||
uses: actions/upload-artifact@v4
|
||||
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
|
||||
if-no-files-found: error
|
||||
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