Skip to content

ci: self-hosted Windows stx runner broken — uv.exe blocked by Application Control, CMake missing CMAKE_ROOT #2826

Description

@itomek

The self-hosted Windows stx runner pool is in a broken state and is failing jobs on main and on every PR that touches the relevant paths. Two distinct symptoms, same runner pool, both starting today (2026-08-04) — neither is caused by any PR's code.

1. uv.exe is blocked by an Application Control policy — breaks Test GAIA CLI on Windows (Full Integration)

Program 'uv.exe' failed to run: An Application Control policy has blocked this file

.github/actions/setup-venv/action.yml:46 installs uv via irm https://astral.sh/uv/install.ps1 | iex, which lands uv.exe in %USERPROFILE%\.local\bin. A WDAC/AppLocker policy on the box now blocks execution from that user-writable path, so the job dies in "Setup Python Environment" after ~8s, before any test runs.

2. CMake cannot find its own root — breaks C++ Integration Tests (STX)

CMake Error: Could not find CMAKE_ROOT !!!
CMake Error: Error executing cmake::LoadCache(). Aborting.

This one has been failing longer, across unrelated branches (cpp/tui-event-loop, cpp/coding-toolbelt, cpp/chunking), so it is not specific to any change either.

Both jobs declare runs-on: [self-hosted, Windows, <stx label>], so they land on the same machine(s).

Evidence it is the runner, not the codetest_gaia_cli_windows.yml history:

result branch time (UTC)
failure issue-2765 14:04
failure main 13:55
success cpp/chunking 11:21
success issue-2765 05:01

The same branch passed at 05:01 and failed at 14:04 with no code change to the setup path. main fails with the identical error.

What's needed (requires access to the box, which I don't have):

  • Allow uv.exe under the Application Control policy, or pre-install uv to an allowed location and have setup-venv prefer it when present. Pinning to a machine-wide install is the more durable fix — a per-user download into %USERPROFILE%\.local\bin will keep tripping any policy of this kind.
  • Repair the CMake install so CMAKE_ROOT resolves.

Until then, treat Test GAIA CLI on Windows (Full Integration) and C++ Integration Tests (STX) red as environmental on any PR, and don't chase them in PR diffs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions