Files
punktfunk/.gitea/workflows/windows.yml
T
enricobuehler f7a3a9fb10 ci(windows): restore paths filter + document global runner scope
Re-add the paths filter (the trigger was never the problem — the runner was registered at the
wrong scope, so org-repo runs found 'no fitting runner' despite the runner showing idle). Document
in setup-windows-runner.ps1 that the registration token must be GLOBAL (Site Administration ->
Actions -> Runners), like the Linux runner. CARGO_WORKSPACE_DIR is set via GITHUB_ENV in a step
(the job-env ${{ github.workspace }} form didn't resolve, leaving it unset -> reactor build.rs
panic).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 07:38:08 +00:00

61 lines
2.0 KiB
YAML

# Windows client CI — runs on the self-hosted Windows runner (home-windows-1, host mode; see
# scripts/ci/setup-windows-runner.ps1). Build + clippy + fmt + test the WinUI 3 client
# (windows-reactor + D3D11/SwapChainPanel + WASAPI + SDL3) on x86_64-pc-windows-msvc.
#
# The MSVC/WinUI/FFmpeg toolchain (cargo/rustup on ASCII paths, NASM, CMake, LLVM, FFmpeg,
# CARGO_HOME, CMAKE_POLICY_VERSION_MINIMUM, …) is baked into the runner's daemon env. The one
# per-checkout var is CARGO_WORKSPACE_DIR (windows-reactor's build.rs unwraps it + stages the
# Windows App SDK NuGets/winmd under it) — set from GITHUB_WORKSPACE in a step (not job-level
# env, where Gitea can't yet resolve the workspace path).
name: windows
on:
push:
branches: [main]
paths:
- 'crates/punktfunk-client-windows/**'
- 'crates/punktfunk-core/**'
- 'Cargo.lock'
- 'Cargo.toml'
- '.gitea/workflows/windows.yml'
pull_request:
paths:
- 'crates/punktfunk-client-windows/**'
- 'crates/punktfunk-core/**'
- 'Cargo.lock'
- 'Cargo.toml'
- '.gitea/workflows/windows.yml'
workflow_dispatch:
jobs:
build:
runs-on: windows-amd64
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Configure + toolchain versions
shell: powershell
run: |
"CARGO_WORKSPACE_DIR=$env:GITHUB_WORKSPACE" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
rustc --version
cargo --version
node --version
Write-Output "workspace: $env:GITHUB_WORKSPACE"
- name: Build
shell: powershell
run: cargo build -p punktfunk-client-windows
- name: Clippy (-D warnings)
shell: powershell
run: cargo clippy -p punktfunk-client-windows --all-targets -- -D warnings
- name: Rustfmt check
shell: powershell
run: cargo fmt -p punktfunk-client-windows -- --check
- name: Test
shell: powershell
run: cargo test -p punktfunk-client-windows