Skip to content

debug: trace runsteps.sh execution to diagnose a real CI failure - #99

Merged
frostebite merged 1 commit into
mainfrom
debug/test-docker-tracing
Aug 18, 2026
Merged

frostebite merged 1 commit into
mainfrom
debug/test-docker-tracing

Conversation

@frostebite

Copy link
Copy Markdown
Member

Temporary diagnostic commit — see commit message. game-ci test --docker runs on unity-test-runner's thin-wrapper PR (#310) fail near-instantly with zero visible stdout, only two cat: no such file stderr lines from the very end of test.sh's loop body — meaning the script reaches its last lines but nothing earlier is visible, and the whole run completes in well under a second per job-log timestamps, too fast for Unity to have actually launched.

Ruled out so far: the version-pin gap (#96, fixed), the eval/array coverage-flags bug (#97, fixed) — this is a third, still-unidentified issue. set -x traces every command to stderr, which is rendering promptly in the CI log (unlike stdout so far), to find the actual failure point. Will remove this once root-caused.

🤖 Generated with Claude Code

Docker test runs on unity-test-runner's thin-wrapper PR fail near-
instantly with zero visible stdout - only two 'cat: no such file'
stderr lines from the very end of test.sh's loop body, meaning the
script reaches its last lines but nothing from mkdir/echo/unity-editor
earlier in the script is visible at all, and the whole thing completes
in well under a second (confirmed via job log timestamps) - too fast
for Unity to have actually launched.

Ruled out so far: the version-pin gap (#96, fixed), the eval/array bug
in the coverage flags (#97, fixed) - this is a third, still-unidentified
issue. set -x traces every command to stderr, which (unlike stdout) is
rendering promptly in the CI log, to find the actual failure point in
the next run. Temporary - will be removed once root-caused.
@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f83412da-12f2-4bd6-9432-ae7ee1d2c6b0


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@frostebite
frostebite merged commit aba37b9 into main Aug 18, 2026
15 checks passed
@frostebite
frostebite deleted the debug/test-docker-tracing branch August 18, 2026 20:27
frostebite added a commit that referenced this pull request Aug 18, 2026
…run tests (#101)

Root cause found via set -x tracing (#99) on a real CI failure: every
Docker test run exited near-instantly with exit code 1 and zero log
output, even though activation succeeded fine moments earlier.

--docker defaulted targetPlatform to NoTarget, resolving to
RunnerImageTag's 'base' editor module - the same image activate/build's
NoTarget path already uses successfully. But activation only needs the
editor to launch and exit; running tests needs it to actually compile
and execute test assemblies, which 'base' apparently can't do (no
Unity log output was ever written, meaning it failed before even
initializing far enough to open the log file).

unity-test-runner's own original ImageTag never defaulted to NoTarget
at all - it defaulted to this host's *native* Standalone target
(getImagePlatformType: StandaloneLinux64 on Linux, StandaloneWindows
on Windows), which resolves to the linux-il2cpp module for Unity
2020+. Matching that default here instead.

Also removes the temporary set -x tracing from runsteps.sh (#99) now
that it's served its purpose and found the actual bug, and fixes the
default to read from `options.hostPlatform` (already resolved per-
invocation) rather than raw `process.platform`, which was also just
untestable rather than reading the actual runtime value.

Testing: full bun test suite 156 pass/0 fail (updated one test's
assertion from the old, wrong 'base' expectation to the new correct
linux-il2cpp one), bun build succeeds. Will re-verify against a real
Docker test run once this lands and a release is cut.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant