Skip to content

ci(unity): fail when PlayMode tests are not executed - #301

Merged
melekr merged 1 commit into
android/native_startupfrom
android/ci_test_check
Aug 20, 2026
Merged

ci(unity): fail when PlayMode tests are not executed#301
melekr merged 1 commit into
android/native_startupfrom
android/ci_test_check

Conversation

@melekr

@melekr melekr commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator
  • Remove empty EditMode lanes that have no corresponding test assembly.
  • Validate NUnit results and require the critical Android lifecycle tests.
  • Cover missing, malformed, empty, failed, and incomplete test results.

- Remove empty EditMode lanes that have no corresponding test assembly.
- Validate NUnit results and require the critical Android lifecycle tests.
- Cover missing, malformed, empty, failed, and incomplete test results.
@melekr melekr self-assigned this Aug 20, 2026
@melekr
melekr marked this pull request as ready for review August 20, 2026 17:58
@melekr
melekr merged commit 64d5966 into android/native_startup Aug 20, 2026
14 checks passed
melekr added a commit that referenced this pull request Aug 21, 2026
…297)

* feat(android): add linker-based native library resolution

* fix(android): make native crash setup fail-safe and use the new resolver

* fix(android): contain crash-handler process failures

* native(android): update bundled Backtrace Android native binaries

* test(android): add resolver, ABI, environment, and interop policies test coverage

* Correct process-ABI reporting and contain native startup failures (#298)

* fix(android): report the ABI of the running process as device.abi

* feat(android): select the extracted-library directory by process ABI

* test(android): pin the native interop signatures in in-editor CI

* fix(android): query the linker first and contain metadata and ANR failures

* ci: build Android players on Unity 2022.3 and 6000.3

* ci: provide the synthetic build project with a registered scene

* Improve Android native crash startup and lifecycle reliability (#299)

* fix(android): make native library fallback resolution fail-safe

- Treat filesystem, parent-directory, and system-library-path discovery as optional enrichment so failures cannot block linker or installed-package resolution.

- Require an exact process-ABI directory match when the ABI is known and reject ambiguous candidates deterministically.

* fix(android): roll back incomplete native initialization

- Track native backend activation before JNI cleanup and disable the backend when attribute setup or cleanup fails after initialization.
- Attempt every local-reference deletion, preserve the original setup failure, and contain rollback diagnostics.

* fix(android): contain ANR JNI lifecycle failures

- Contain watchdog attach, detach, dump, and attribute failures without escaping the worker thread.

- Retry transient attachment failures and always restore error.type to Crash after a hang-report attempt.

* fix(android): make native shutdown failure-safe

- Clear native and watcher state before cleanup, then run every shutdown stage independently.

- Keep native-disable, watcher-stop, watcher-dispose, and diagnostic failures nonfatal.

* ci(android): validate IL2CPP app bundle packaging

- Compile the SDK from Assets in every Android build lane while importing only the Editor, Runtime, and Android package content.
- Add a Unity 6 ARM64 IL2CPP App Bundle build, verify the required native libraries are packaged, and identify the platform and Unity version in job names.

* Contain attribute updates and Android linker-path failures (#300)

* fix(native): handle dynamic attribute update failures

* fix(android): continue after linker path lookup failures

* feat(android): update NativeClient NativeAttributeLifecycle

* fix(android): roll back partial native initialization

- mark native bridge completion before JNI cleanup
- roll back partial native state when initialization returns false
- contain rollback and diagnostic failures
- cover pre-bridge rejection and false-result rollback

* test(android): exercise OOM attribute continuation in editor

- add an instance-scoped native attribute writer for deterministic tests
- compile the Android client test path in ordinary Editor lanes without JNI
- verify OnOOM attempts the timestamp after the first native write fails
- assert sanitized failure diagnostics

* ci(android): verify Java crash handler in app bundles

- inspect every base DEX entry in the generated App Bundle
- require the BacktraceCrashHandler class descriptor
- report missing DEX files and missing handler packaging clearly

* ci(unity): fail when PlayMode tests are not executed (#301)

- Remove empty EditMode lanes that have no corresponding test assembly.
- Validate NUnit results and require the critical Android lifecycle tests.
- Cover missing, malformed, empty, failed, and incomplete test results.
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