Skip to content

Allow healthy EditMode runs to finish on slower hosted runners - #120

Merged
mackysoft merged 2 commits into
mainfrom
ci/editmode-crash-diagnostics
Oct 20, 2026
Merged

mackysoft merged 2 commits into
mainfrom
ci/editmode-crash-diagnostics

Conversation

@mackysoft

@mackysoft mackysoft commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Prevent the 15-minute process limit from interrupting healthy EditMode GUI tests on slower hosted runners. The verified Unity 2021.3 suite needs 15 minutes 51 seconds.
  • Give the complete Editor process 20 minutes and record timestamped test starts and finishes, including runs that cannot write their final result XML.

Scope

  • tests.yaml: process budget 900 → 1200 seconds; timestamped Editor logging.
  • Batch-only progress callback through Unity Test Framework's ITestRunCallback API in the existing Editor test assembly.
  • Package code, test assertions, individual condition deadlines, and required Editor versions are unchanged.

Verification

  • CI run 39368953612, head 2a8e139caa51d9381d63c6e3fee7467edcc3bc65: all required checks passed.
  • Unity 2021.3.45f2: 198/198 passed, 0 skipped; suite duration 951.27 seconds. Completed beyond the previous 900-second process budget.
  • Unity 6000.6.6f1: 208 passed, 0 failed, 2 existing explicit skips; suite duration 631.19 seconds.
  • Both Editor logs completed without a native SIGSEGV report.
  • actionlint passes for tests.yaml; git diff --check passes. A scoped Unity 2021.3 smoke run also verified progress callback output.

References

  • Diagnostic run 39366906704: Unity 2021.3 passed 177 tests and was still advancing immediately before the old process limit. The next layout check began with approximately 17 seconds left; that check alone needed 43 seconds in an earlier successful run. GUI test durations were approximately 1.6 times that earlier run.

Why
Unity 2021.3 can stop before the test runner writes its result XML.
The existing artifact cannot identify the active test or crash time.

What Changed
Record batch test starts and finishes through Unity Test Framework's
callback API and add timestamps to the CI Editor log.

Impact
Keeps failure diagnostics available without changing test assertions,
time limits, or the shipped package. Verified callback logging with a
scoped Unity 2021.3 EditMode run.
Why
The diagnostic Unity 2021.3 run passed 177 tests and was still advancing
when the 900-second process limit interrupted its final layout checks.
Its GUI operations took about 1.6 times the previous successful run.

What Changed
Give the complete Editor process 1200 seconds. This covers the measured
progress and remaining operations with headroom for hosted-runner variation.

Impact
Keeps all test assertions, individual condition deadlines, and required
Editor versions unchanged. Retains progress logging to distinguish a real
stall from expiration of the total execution budget.
@mackysoft mackysoft changed the title Record EditMode progress to diagnose native CI stops Allow healthy EditMode runs to finish on slower hosted runners Oct 20, 2026
@mackysoft
mackysoft marked this pull request as ready for review October 20, 2026 04:42
@mackysoft
mackysoft merged commit 42b6bc3 into main Oct 20, 2026
4 checks passed
@mackysoft
mackysoft deleted the ci/editmode-crash-diagnostics branch October 20, 2026 04:42
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