diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 8a1ca65b4d..2d2de6893f 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -48,6 +48,11 @@ mobile_standalone_build_{{ project.name }}_{{ platform.name }}_{{ editor }}: {% if platform.model %} model: {{ platform.model }} # This is set only in platforms where we want non-default model to use (more information in project.metafile) {% endif %} + # Automatic UI interruption handling is available for iPhones running iOS 15 and above (models SE-Gen3 and 13). + # It is enabled by default when using those devices. Otherwise, system alerts (e.g. “Local Network Access” permission alert, introduced in iOS 14) might cause disruptions during test execution. + # If building of the test app is done on a separate (“Build”) job, please make sure that that job has environment variable UNITY_HANDLEUIINTERRUPTIONS set to 1. + variables: + UNITY_HANDLEUIINTERRUPTIONS: 1 commands: - unity-downloader-cli -u {{ editor }} -c Editor -c il2cpp {% if platform.base == "mac" %} -c ios {% else %} -c android {% endif %} --wait - UnifiedTestRunner --suite=playmode --platform={{ platform.standalone }} --testproject={{ project.path }} --architecture={{ platform.architecture }} --scripting-backend=il2cpp --editor-location=.Editor --artifacts-path=artifacts --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only --timeout=1800 @@ -96,7 +101,7 @@ mobile_standalone_test_{{ project.name }}_{{ platform.name }}_{{ editor }}: {% else %} # Run tests for non-Android devices - - UnifiedTestRunner --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 + - UnifiedTestRunner --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 --device-id=%BOKKEN_DEVICE_ID% {% endif %} artifacts: logs: diff --git a/.yamato/project.metafile b/.yamato/project.metafile index 4a4d4dd97a..3046ea0869 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -4,15 +4,15 @@ # This provides consistent environment definitions across all CI jobs. It's easier to modify values in central place (for example image reference) than having to modify every job # VALUE MEANING---------------------------------------------------------------------------------------------------------------------------- - # Usual fields being defined are - # name --> Identifier used to distinguish different configurations in the CI pipeline - # type --> Specifies the Bokken agent type (e.g., Unity::VM, Unity::VM::osx, Unity::mobile::shield) - # image --> Defines the package-ci Bokken image to use for the environment (e.g., package-ci/ubuntu-22.04:v4). This is basically a device configuration - # flavor --> Determines the VM size/resources (e.g., b1.small, b1.large, m1.mac) - # standalone --> Specifies the build target platform (e.g., StandaloneLinux64, Android, IOS) - # model --> Defines specific hardware model requirements (e.g., rtx2080, SE for iPhone SE) - # base --> Indicates the base operating system for build operations (e.g., win, mac) - # architecture --> Specifies the target CPU architecture (e.g., armv7, arm64) + + # name --> Identifier used to distinguish different configurations in the CI pipeline + # type --> Specifies the Bokken agent type (e.g., Unity::VM, Unity::VM::osx, Unity::mobile::shield) + # image --> Defines the package-ci Bokken image to use for the environment (e.g., package-ci/ubuntu-22.04:v4). This is basically a device configuration + # flavor --> Determines the VM size/resources (e.g., b1.small, b1.large, m1.mac) + # standalone --> Specifies the build target platform (e.g., StandaloneLinux64, Android, IOS) + # model --> Defines specific hardware model requirements (e.g., rtx2080, iPhone model 13). Notice that trunk currently (19.08.2025) has 13.0 as minimal iOS version which devices below this are not supporting + # base --> Indicates the base operating system for build operations (e.g., win, mac) + # architecture --> Specifies the target CPU architecture (e.g., armv7, arm64) # SMALL AGENT CONFIGURATION--------------------------------------------------------------------------------------------------- @@ -89,7 +89,7 @@ test_platforms: type: Unity::mobile::iPhone image: package-ci/macos-13-arm64:v4 flavor: m1.mac - model: SE + model: 13 standalone: IOS base: mac architecture: arm64