3.3 KiB
Fedora / WSL Gitea Runner
This repo now expects Linux/router release builds to run on a Fedora 43 runner inside WSL, not on the Windows host runner.
The goal is simple:
- build
wakeyandwakey-agentin a Linux-native environment - stop fighting Windows-host ARM/musl/TLS toolchain issues
- keep PowerShell on Windows as the operator front door
Runner layout
Recommended WSL location:
/mnt/c/Users/Admin/Documents/realshit/wakey/ar_data/wsl_runner
This matches the default used by act_runner_wsl.ps1 and
act_runner_fedora.sh, so WSL runner config is isolated at
ar_data/wsl_runner/config.yaml in this repo.
Recommended labels:
self-hosted,linux,fedora,wsl,release:host
The Windows runner can stay registered during migration as fallback.
Fedora setup
Install the basics in Fedora 43:
sudo dnf install -y git curl tar gzip findutils python3
sudo dnf install -y powershell
Install Rust and the router target:
rustup target add armv7-unknown-linux-musleabihf
Install the native cross toolchain pieces you need for Linux/ARM router builds. The exact package names can vary over time, so confirm the current Fedora names for:
- ARM Linux GCC
- musl development/toolchain support
- OpenSSL/ring/TLS build prerequisites if needed by your dependency graph
Runner lifecycle
From Windows PowerShell, using the WSL wrapper:
./scripts/act_runner_wsl.ps1 -Action update
./scripts/act_runner_wsl.ps1 -Action register -ServerUrl https://git.ldlda.com/ -Token <runner-token>
./scripts/act_runner_wsl.ps1 -Action start -Attach
./scripts/act_runner_wsl.ps1 -Action start -Once
./scripts/act_runner_wsl.ps1 -Action status
./scripts/act_runner_wsl.ps1 -Action stop
Path control (binary and config are independent):
./scripts/act_runner_wsl.ps1 -Action status `
-RunnerBin /home/lda/gitea-runner/act_runner `
-ConfigPath /mnt/c/Users/Admin/Documents/realshit/wakey/ar_data/wsl_runner/config.yaml
If your distro name is not FedoraLinux-43, set it explicitly:
./scripts/act_runner_wsl.ps1 -Distro FedoraLinux-43 -Action status
Or set:
$env:WAKEY_WSL_DISTRO = "FedoraLinux-43"
Inside Fedora directly, you can also use:
./scripts/act_runner_fedora.sh update
./scripts/act_runner_fedora.sh register --server-url https://git.ldlda.com/ --token <runner-token>
./scripts/act_runner_fedora.sh start --attach
./scripts/act_runner_fedora.sh start --once
./scripts/act_runner_fedora.sh status
./scripts/act_runner_fedora.sh stop
Release flow
The release workflow is expected to run on the Fedora/WSL runner labels:
self-hosted + linux + fedora + wsl + release
It builds:
wakeywakey-agent
and packages both into the rootfs tarball.
From Windows, the intended operator flow remains:
./scripts/publish.ps1 -Tag
That script should trigger the WSL runner in --once mode by default.
Rollback
If the Fedora runner path is broken:
- stop using the WSL runner labels in the workflow
- temporarily point the workflow back to the Windows runner labels
- use the existing Windows runner as fallback while fixing the Fedora path
Do not delete the Windows runner until the Fedora path has already produced at least one successful full release and one successful router install.