You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Design the CI for the test suite: a new lightweight workflow vs. integration into autobuild.yml; which Qt version(s) and platform(s) to run on (given upstream's minimum supported Qt); which triggers (PRs only?); and how to keep it fast enough that maintainers see it as pure win.
🔒 Claimed by agent (orchestrator dispatch, 2026-07-22) — ci-shepherd agent wiring up the workflow on testing-harness and shepherding it to green on Linux/macOS/Windows.
CI is wired and verified green on all three platforms: run 29926662716 — every job's log contains Totals: 41 passed, 0 failed, 0 skipped, 0 blacklisted.
Design as landed (.github/workflows/unit-tests.yml on testing-harness):
Single "Unit Tests" job, 4-config matrix, fail-fast: false:
config
Qt
how
duration
ubuntu-22.04
5.15 (apt)
qmake + make
26s
ubuntu-24.04
6.x (apt)
qmake6 + make
36s
macos-15
6.10.2 (install-qt-action)
+ Xcode 16.3.0 pin (mirrors autobuild)
49s
windows-latest
6.10.2 MSVC
qmake + nmake
66s
permissions: contents: read, SHA-pinned third-party actions, paths: filters — house style per the #5 research.
Hard execution gate on every platform: output must contain Totals: 41 passed (grep on Unix, findstr on Windows) — a job can no longer pass on exit code alone.
Findings worth keeping:
The Qt 5.15 job compiled and passed with zero source changes — the suite is genuinely Qt5-clean; the only platform fix ever needed was NOMINMAX in test.pro on Windows.
macos-latest (Xcode 26) cannot compile Qt 6.x headers (qyieldcpu.h__yield); the fix is upstream autobuild's own convention (macos-15 + Xcode 16.3.0, same pinned action SHA) — an upstream PR should reuse it.
Windows oddity: the test exe's stdout was silently 0 bytes under every capture method (cmd redirect, pwsh Tee/redirect). Sidestepped robustly with QTest's own -o test-output.txt,txt file writer; exact culprit unidentified (suspect console-handle inheritance in the runner's nested cmd tree). Noted in case a future Windows job needs another console app's stdout.
Still to reshape before upstreaming (flagged in a comment in the workflow): triggers are currently workflow_dispatch + push-to-testing-harness for iteration; the upstream version should use push/pull_request on main with the same paths: filters.
Activity
dtinth-claw commentedon Jul 22, 2026
🔒 Claimed by agent (orchestrator dispatch, 2026-07-22) — ci-shepherd agent wiring up the workflow on
testing-harnessand shepherding it to green on Linux/macOS/Windows.dtinth-claw commentedon Jul 22, 2026
Resolution
CI is wired and verified green on all three platforms: run 29926662716 — every job's log contains
Totals: 41 passed, 0 failed, 0 skipped, 0 blacklisted.Design as landed (
.github/workflows/unit-tests.ymlontesting-harness):fail-fast: false:qmake+ makeqmake6+ makepermissions: contents: read, SHA-pinned third-party actions,paths:filters — house style per the #5 research.Totals: 41 passed(grep on Unix,findstron Windows) — a job can no longer pass on exit code alone.Findings worth keeping:
NOMINMAXintest.proon Windows.macos-latest(Xcode 26) cannot compile Qt 6.x headers (qyieldcpu.h__yield); the fix is upstream autobuild's own convention (macos-15 + Xcode 16.3.0, same pinned action SHA) — an upstream PR should reuse it.-o test-output.txt,txtfile writer; exact culprit unidentified (suspect console-handle inheritance in the runner's nested cmd tree). Noted in case a future Windows job needs another console app's stdout.workflow_dispatch+ push-to-testing-harnessfor iteration; the upstream version should use push/pull_request onmainwith the samepaths:filters.Feeds Scope the first upstream PR, which is now the only open ticket.