From b2b4dec711f09fc4b575c42fa9ce76d6cb745af6 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:20:39 +0100 Subject: [PATCH 01/66] Deleted multiprocess tests, project-promotion, project-publish and project-updated-dependencies --- .yamato/multiprocess-project-tests.yml | 42 ----------- .yamato/project-promotion.yml | 74 ------------------- .yamato/project-publish.yml | 67 ----------------- .yamato/project-updated-dependencies-test.yml | 59 --------------- 4 files changed, 242 deletions(-) delete mode 100644 .yamato/multiprocess-project-tests.yml delete mode 100644 .yamato/project-promotion.yml delete mode 100644 .yamato/project-publish.yml delete mode 100644 .yamato/project-updated-dependencies-test.yml diff --git a/.yamato/multiprocess-project-tests.yml b/.yamato/multiprocess-project-tests.yml deleted file mode 100644 index 3505d72c52..0000000000 --- a/.yamato/multiprocess-project-tests.yml +++ /dev/null @@ -1,42 +0,0 @@ -{% metadata_file .yamato/project.metafile %} ---- - -{% for project in projects -%} -{% if project.name == "testproject" %} -{% for editor in project.test_editors -%} -{% for platform in test_platforms -%} -singlenode_multiprocess_test_testproject_{{ editor }}_{{ platform.name }}: - name : Multiprocess Tests - {{ editor }} on {{ platform.name }} - agent: - type: {{ platform.type }} - image: {{ platform.image }} - flavor: {{ platform.flavor}} - commands: - - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple -{% if editor != "trunk" %} - - unity-downloader-cli -u {{ editor }} -c editor -w --fast - - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr{% if platform.name == "win" %}.bat --output utr.bat{% endif %}{% if platform.name != "win" %} --output utr && chmod +x ./utr{% endif %} - - {{ platform.editorpath }} -projectpath testproject -batchmode -quit -nographics -logfile BuildMultiprocessTestPlayer.log -executeMethod Unity.Netcode.MultiprocessRuntimeTests.BuildMultiprocessTestPlayer.BuildRelease -{% if platform.name == "mac" %} - sudo codesign --force --deep --sign - ./testproject/Builds/MultiprocessTests/MultiprocessTestPlayer.app{% endif %} - - {{ platform.utr }} --suite=playmode --testproject=testproject --editor-location=.Editor --testfilter=Unity.Netcode.MultiprocessRuntimeTests --extra-editor-arg=-bypassIgnoreUTR -{% endif %} - after: - - echo "After block" -{% if editor != "trunk" %} -{% if platform.name == "win" %} - copy %USERPROFILE%\.multiprocess\logfile* .{% endif %} -{% if platform.name != "win" %} - cp $HOME/.multiprocess/logfile* .{% endif %} -{% endif %} - artifacts: - logs: - paths: - - "upm-ci~/test-results/**/*" - - BuildMultiprocessTestPlayer.log - - "logfile*" - - "*.log" - - "*.txt" - dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }} -{% endfor -%} -{% endfor -%} -{% endif -%} -{% endfor -%} diff --git a/.yamato/project-promotion.yml b/.yamato/project-promotion.yml deleted file mode 100644 index 8858dbd382..0000000000 --- a/.yamato/project-promotion.yml +++ /dev/null @@ -1,74 +0,0 @@ -{% metadata_file .yamato/project.metafile %} ---- -{% for project in projects -%} -{% if project.publish == "true" -%} -{% for package in project.packages -%} -{% for editor in project.test_editors -%} -{% for platform in test_platforms -%} -promotion_validate_{{ project.name }}_{{ package.name }}_{{ platform.name }}_{{ editor }}: - name : Validate (Vetting Tests) Project {{ project.name }} - Package {{ package.name }} - {{ editor }} on {{ platform.name }} - agent: - type: {{ platform.type }} - image: {{ platform.image }} - flavor: {{ platform.flavor}} - variables: - UPMCI_PROMOTION: 1 - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - {% if platform.name == "ubuntu" %}DISPLAY=:0 {% endif %}upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type vetting-tests --project-path {{ project.path }} --package-filter {{ package.name }} - artifacts: - logs: - paths: - - "upm-ci~/test-results/**/*" - dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }} -{% endfor -%} -{% endfor -%} - -promote_{{ project.name }}_{{ package.name }}: - name: Promote Project {{ project.name }} - Package {{ package.name }} to Production - agent: - type: Unity::VM - image: package-ci/win10:v4 - flavor: b1.small - variables: - UPMCI_PROMOTION: 1 - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci package promote --package-path {{ package.path }} - artifacts: - artifacts: - paths: - - "upm-ci~/packages/*.tgz" - dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }} - - .yamato/project-promotion.yml#promotion_validate_{{ project.name }}_{{ package.name }}_{{ test_platforms.first.name }}_{{ validation_editor }} - - .yamato/project-promotion.yml#promote_{{ project.name }}_{{ package.name }}_dry_run - -promote_{{ project.name }}_{{ package.name }}_dry_run: - name: Promote Project {{ project.name }} - Package {{ package.name }} to Production (dry-run) - agent: - type: Unity::VM - image: package-ci/win10:v4 - flavor: b1.small - variables: - UPMCI_PROMOTION: 1 - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci package promote --package-path {{ package.path }} --dry-run - artifacts: - artifacts: - paths: - - "upm-ci~/packages/*.tgz" - dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }} - - .yamato/project-publish.yml#publish_{{ project.name }}_{{ package.name }} -{% for editor in project.test_editors -%} -{% for platform in test_platforms -%} - - .yamato/project-promotion.yml#promotion_validate_{{ project.name }}_{{ package.name }}_{{ platform.name }}_{{ editor }} -{% endfor -%} -{% endfor -%} - -{% endfor -%} -{% endif -%} -{% endfor -%} diff --git a/.yamato/project-publish.yml b/.yamato/project-publish.yml deleted file mode 100644 index 9f114a9ae6..0000000000 --- a/.yamato/project-publish.yml +++ /dev/null @@ -1,67 +0,0 @@ -{% metadata_file .yamato/project.metafile %} ---- -{% for project in projects -%} -{% if project.publish == "true" -%} -{% for package in project.packages -%} -{% for editor in project.test_editors -%} -{% for platform in test_platforms -%} -validate_{{ package.name }}_{{ platform.name }}_{{ editor }}: - name : Validate (Isolation Tests) Package {{ package.name }} - {{ editor }} on {{ platform.name }} - agent: - type: {{ platform.type }} - image: {{ platform.image }} - flavor: {{ platform.flavor}} - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - {% if platform.name == "ubuntu" %}DISPLAY=:0 {% endif %}upm-ci project test -u {{ editor }} --type isolation-tests --project-path {{ project.path }} --package-filter {{ package.name }} --platform editmode - artifacts: - logs: - paths: - - "upm-ci~/test-results/**/*" - dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }} -{% endfor -%} -{% endfor -%} - -publish_{{ project.name }}_{{ package.name }}: - name: Publish Project {{project.name }} - Package {{ package.name }} to Internal Registry - agent: - type: Unity::VM - image: package-ci/win10:v4 - flavor: b1.large - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci package publish --package-path {{ package.path }} - artifacts: - artifacts: - paths: - - "upm-ci~/packages/*.tgz" - dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }} - - .yamato/project-publish.yml#validate_{{ package.name }}_{{ test_platforms.first.name }}_{{ validation_editor }} - - .yamato/project-publish.yml#publish_{{ project.name }}_{{ package.name }}_dry_run - -publish_{{ project.name }}_{{ package.name }}_dry_run: - name: Publish Project {{project.name }} - Package {{ package.name }} to Internal Registry (dry-run) - agent: - type: Unity::VM - image: package-ci/win10:v4 - flavor: b1.large - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci package publish --package-path {{ package.path }} --dry-run - artifacts: - artifacts: - paths: - - "upm-ci~/packages/*.tgz" - dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }} -{% for editor in project.test_editors -%} -{% for platform in test_platforms -%} - - .yamato/project-publish.yml#validate_{{ package.name }}_{{ platform.name }}_{{ editor }} -{% endfor -%} -{% endfor -%} - -{% endfor -%} -{% endif -%} -{% endfor -%} diff --git a/.yamato/project-updated-dependencies-test.yml b/.yamato/project-updated-dependencies-test.yml deleted file mode 100644 index bd39d49db0..0000000000 --- a/.yamato/project-updated-dependencies-test.yml +++ /dev/null @@ -1,59 +0,0 @@ -{% metadata_file .yamato/project.metafile %} ---- -# Go through all platforms, editors and packages in the metadata -# to generate its independent package tests and validation tests. -# The idea is to only run validation once per package and not mix. -# the results with package tests -{% for package in projects.first.packages -%} -{% for editor in projects.first.test_editors -%} -{% for platform in test_platforms -%} -dependency_{{ projects.first.name }}_{{ package.name }}_{{ platform.name }}_{{ editor }}: - name : Dependency Test of Project {{ projects.first.name }} - Package {{ package.name }} - {{ editor }} on {{ platform.name }} - agent: - type: {{ platform.type }} - image: {{ platform.image }} - flavor: {{ platform.flavor}} - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci project test -u {{ editor }} --project-path {{ projects.first.path }} --type updated-dependencies-tests --package-filter {{ package.name }} - artifacts: - logs: - paths: - - "upm-ci~/test-results/**/*" - triggers: - recurring: - - branch: master - frequency: 20 * * ? - dependencies: - - path: .yamato/project-pack.yml#pack_{{ projects.first.name }} - rerun: always - -{% endfor -%} -{% endfor -%} -{% endfor -%} - -dependency_test_trigger_{{ projects.first.name }}: - name: Project {{ projects.first.name }} Dependency Tests Trigger - agent: - type: Unity::VM - image: package-ci/ubuntu-22.04:v4 - flavor: b1.small - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci project izon -d --project-path {{ projects.first.path }} - artifacts: - logs: - paths: - - "upm-ci~/test-results/**/*" - triggers: - recurring: - - branch: master - frequency: 22 * * ? - dependencies: -{% for package in projects.first.packages -%} -{% for editor in projects.first.test_editors -%} -{% for platform in test_platforms -%} - - .yamato/project-updated-dependencies-test.yml#dependency_{{ projects.first.name }}_{{ package.name }}_{{ platform.name }}_{{ editor }} -{% endfor -%} -{% endfor -%} -{% endfor -%} \ No newline at end of file From 264e7c632f3d05305ff5985b10b62362d0d8af55 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:24:04 +0100 Subject: [PATCH 02/66] Updated project metafile --- .yamato/project.metafile | 243 +++++++++++++++++++++++++++------------ 1 file changed, 169 insertions(+), 74 deletions(-) diff --git a/.yamato/project.metafile b/.yamato/project.metafile index 191842fd5e..af9a240d15 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -1,80 +1,175 @@ -validation_editor: 6000.0 -mobile_validation_editor: 6000.0 +# The small agent was created to handle jobs that don't involve running Unity (for example pack job). +# It uses ubuntu since Linux VMs are faster and cheaper to provision than Mac or Windows Virtual Machines (VMs). +# The b1.small flavour is nearly always sufficient for jobs that don’t involve running Unity Editor. +small_agent_platform: + - name: ubuntu + type: Unity::VM + image: package-ci/ubuntu-22.04:v4 + flavor: b1.small -# Platforms that will be tested. The first entry in this array will also -# be used for validation +# Platforms that project will/can be tested on. test_platforms: - - name: win - type: Unity::VM - image: package-ci/win10:v4 - flavor: b1.large - pathsep: \ - standalone: StandaloneWindows64 - editorpath: .Editor\Unity.exe - utr: .\utr.bat - - name: mac - type: Unity::VM::osx - image: package-ci/macos-13:v4 - pathsep: / - standalone: StandaloneOSX - flavor: b1.large - editorpath: .Editor/Unity.app/Contents/MacOS/Unity - utr: ./utr - - name: ubuntu - type: Unity::VM - image: package-ci/ubuntu-22.04:v4 - flavor: b1.large - pathsep: / - standalone: StandaloneLinux64 - editorpath: .Editor/Unity - utr: ./utr - -# Projects within the repository that will be tested. Name will be used -# for job ids, so it should not contain spaces/non-supported characters -projects: - - name: testproject - path: testproject - validate: true - publish: true - has_tests: true - # Packages within a project that will be tested - packages: - - name: com.unity.netcode.gameobjects - path: com.unity.netcode.gameobjects - test_editors: - - 6000.0 - - trunk - - name: minimalproject - path: minimalproject - validate: false - publish: false - has_tests: false - packages: - - name: com.unity.netcode.gameobjects - path: com.unity.netcode.gameobjects - test_editors: - - 6000.0 - - name: testproject-tools-integration - path: testproject-tools-integration - validate: false - publish: false - has_tests: true - test_editors: - - 6000.0 - - trunk - -# Package dependencies -dependencies: - - name: com.unity.transport - version: 2.2.1 - test_editors: - - 6000.0 - - trunk - -# Scripting backends used by Standalone Playmode Tests + # Default platform is used for all basic jobs. Ubuntu was chosen since it's fastest and most available + default: + - name: ubuntu + type: Unity::VM + image: package-ci/ubuntu-22.04:v4 + flavor: b1.large + standalone: StandaloneLinux64 + desktop: + - name: ubuntu + type: Unity::VM + image: package-ci/ubuntu-22.04:v4 + flavor: b1.large + standalone: StandaloneLinux64 + model: rtx2080 + - name: win + type: Unity::VM + image: package-ci/win10:v4 + flavor: b1.large + standalone: StandaloneWindows64 + model: rtx2080 + - name: mac + type: Unity::VM::osx + image: package-ci/macos-13:v4 + flavor: m1.mac + standalone: StandaloneOSX + # For mobile devices there is a split between the build and run phase so there is a need of splitting specification for both + mobile_build: + - name: android-armV7 + type: Unity::VM + image: package-ci/win10:v4 + flavor: b1.large + standalone: Android + base: win + architecture: armv7 + - name: android-arm64 + type: Unity::VM + image: package-ci/win11:v4 + flavor: b1.large + standalone: Android + base: win + architecture: arm64 + # iOS modern builds are ARM64-only, thus no testing with armv7 (as in android case) + - name: ios-arm64 + type: Unity::VM::osx + image: package-ci/macos-13:v4 + flavor: m1.mac + standalone: IOS + base: mac + architecture: arm64 + mobile_test: + - name: android-armV7 + type: Unity::mobile::shield + image: package-ci/win10:v4 + flavor: b1.large + model: ShieldPro + standalone: Android + base: win + architecture: armv7 + - name: android-arm64 + type: Unity::mobile::shield + image: package-ci/win11-arm64:v4 + flavor: b1.large + model: ShieldPro + standalone: Android + base: win + architecture: arm64 + - name: ios-arm64 + type: Unity::mobile::iPhone + image: package-ci/macos-13-arm64:v4 + flavor: m1.mac + model: SE + standalone: IOS + base: mac + architecture: arm64 + console_build: + - name: ps4 + type: Unity::VM + image: package-ci/win10-ps4:v4 + flavor: b1.large + standalone: PS4 + - name: ps5 + type: Unity::VM + image: package-ci/win10-ps5:v4 + flavor: b1.large + standalone: PS5 + - name: switch + type: Unity::VM + image: package-ci/win10-switch:v4 + flavor: b1.large + standalone: Switch + - name: GameCoreXboxOne + type: Unity::VM + image: package-ci/win10-xbox:v4 + flavor: b1.large + standalone: GameCoreXboxOne + - name: GameCoreScarlett + type: Unity::VM + image: package-ci/win10-xbox:v4 + flavor: b1.large + standalone: GameCoreScarlett + console_test: + - name: ps4 + type: Unity::console::ps4 + image: package-ci/win10-ps4:v4 + flavor: b1.large + standalone: PS4 + - name: ps5 + type: Unity::console::ps5 + image: package-ci/win10-ps5:v4 + flavor: b1.large + standalone: PS5 + - name: switch + type: Unity::console::switch + image: package-ci/win10-switch:v4 + flavor: b1.large + standalone: Switch + base: win + - name: GameCoreXboxOne + type: Unity::console::xbox + image: package-ci/win10-xbox:v4 + flavor: b1.large + standalone: GameCoreXboxOne + - name: GameCoreScarlett + type: Unity::console::scarlett + image: package-ci/win10-xbox:v4 + flavor: b1.large + standalone: GameCoreScarlett + + +# Editors to be used for testing. +# Since NGOv2 official support started from U6 it means that only those editors should be used for testing +validation_editors: + default: + - trunk + all: + - 6000.0 + - 6000.1 + - trunk + + +# Scripting backends used by Standalone RunTimeTests scripting_backends: - mono - il2cpp -# Images with build-tools installed required for Standalone Tests - IL2CPP -win_il2cpp_test_image: dots-player/windows10:latest + +# Projects within the repository that will be tested. Name will be used +# for job ids, so it should not contain spaces/non-supported characters +# The default project will also be used for validation, code coverage etc. +projects: + default: + - name: testproject + path: testproject + has_tests: true + all: + - name: testproject + path: testproject + has_tests: true + - name: minimalproject + path: minimalproject + has_tests: false + - name: testproject-tools-integration + path: testproject-tools-integration + has_tests: true \ No newline at end of file From feac92131a123fb6646b372c24108c1d98e38db4 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:28:04 +0100 Subject: [PATCH 03/66] Package and Project pack jobs --- .yamato/package-pack.yml | 23 ++++++++++++++++++++++ .yamato/project-pack.yml | 42 ++++++++++------------------------------ 2 files changed, 33 insertions(+), 32 deletions(-) create mode 100644 .yamato/package-pack.yml diff --git a/.yamato/package-pack.yml b/.yamato/package-pack.yml new file mode 100644 index 0000000000..9f067782ec --- /dev/null +++ b/.yamato/package-pack.yml @@ -0,0 +1,23 @@ +{% metadata_file .yamato/project.metafile %} +--- + +# Packs Netcode for GameObjects together with performing initial checks. +# For this job no specific platform support and no running Unity instance is required so small agent (as per project.metafile definition) will be used to save resources and speed up the process +{% for platform in small_agent_platform -%} +package_pack_-_ngo: + name: Package Pack (and x-ray) - NGO [{{ platform.name }}] + agent: + type: {{ platform.type }} + image: {{ platform.image }} + flavor: {{ platform.flavor }} + timeout: 0.25 + commands: + - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.it.unity3d.com/artifactory/api/npm/upm-npm + - upm-ci package pack --package-path com.unity.netcode.gameobjects + - upm-pvp xray --packages "upm-ci~/packages/*.tgz" --results upm-ci~/xray + - upm-pvp require "supported rme" --allow-missing --results upm-ci~/xray --exemptions upm-ci~/xray/new-exemptions.json + artifacts: + packages: + paths: + - "upm-ci~/**" +{% endfor -%} \ No newline at end of file diff --git a/.yamato/project-pack.yml b/.yamato/project-pack.yml index bd6c71e7d4..25499ea4e5 100644 --- a/.yamato/project-pack.yml +++ b/.yamato/project-pack.yml @@ -1,44 +1,22 @@ {% metadata_file .yamato/project.metafile %} --- -{% for project in projects -%} -pack_{{ project.name }}: - name: Pack {{ project.name }} - agent: - type: Unity::VM - image: package-ci/ubuntu-22.04:v4 - flavor: b1.small - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci project pack --project-path {{ project.path }} - artifacts: - packages: - paths: - - "upm-ci~/packages/**/*" -{% endfor -%} -# Pack minimal project with different versions of dependencies -{% for project in projects -%} -{% if project.name == "minimalproject" -%} -{% for dependency in dependencies -%} -pack_{{ project.name }}_{{ dependency.name }}@{{ dependency.version }}: - name: Pack {{ project.name }} with {{ dependency.name }}@{{ dependency.version }} +# Jobs that iterate through and packs all NGO projects listed (to use in different jobs) +# For this job no specific platform support and no running Unity instance is required so small agent (as per project.metafile definition) will be used to save resources and speed up the process +{% for project in projects.all -%} +{% for platform in small_agent_platform -%} +project_pack_-_{{ project.name }}: + name: Project Pack - {{ project.name }} [{{ platform.name }}] agent: - type: Unity::VM - image: package-ci/ubuntu-22.04:v4 - flavor: b1.small + type: {{ platform.type }} + image: {{ platform.image }} + flavor: {{ platform.flavor }} commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - curl -L https://artifactory.prd.it.unity3d.com/artifactory/api/gpg/key/public | sudo apt-key add - - - sudo sh -c "echo 'deb https://artifactory.prd.it.unity3d.com/artifactory/unity-apt-local bionic main' > /etc/apt/sources.list.d/unity.list" - - sudo apt update - - sudo apt install -y unity-config - - unity-config settings project-path {{ project.path }} - - unity-config project add dependency {{ dependency.name }}@{{ dependency.version }} + - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - upm-ci project pack --project-path {{ project.path }} artifacts: packages: paths: - "upm-ci~/packages/**/*" {% endfor -%} -{% endif -%} {% endfor -%} \ No newline at end of file From 269d27ef66d9dc3020ac8143d93f86412f66573d Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:30:02 +0100 Subject: [PATCH 04/66] Package and Project tests --- .yamato/package-tests.yml | 55 +++++++++------------------------------ .yamato/project-tests.yml | 32 +++++++++++------------ 2 files changed, 28 insertions(+), 59 deletions(-) diff --git a/.yamato/package-tests.yml b/.yamato/package-tests.yml index 1779a7008e..958b4b4dbc 100644 --- a/.yamato/package-tests.yml +++ b/.yamato/package-tests.yml @@ -1,57 +1,26 @@ {% metadata_file .yamato/project.metafile %} --- -# Go through all platforms, editors and packages in the metadata -# to generate its independent package tests and validation tests. -# The idea is to only run validation once per package and not mix. -# the results with package tests -{% for project in projects -%} -{% for package in project.packages -%} -{% for editor in project.test_editors -%} -{% for platform in test_platforms -%} -test_{{project.name}}_{{ package.name }}_{{ editor }}_{{ platform.name }}: - name : {{ project.name }} - {{ package.name }} package tests - {{ editor }} on {{ platform.name }} +# Executes PlayMode and EditMode tests of the NGO package in the Editor context +# Those tests run in the editor so we don't need to consider different scripting backends or architectures +# Tests are executed for all supported editors on each desktop platform as in project.metafile declaration +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.all -%} +package_test_-_ngo_{{ editor }}_{{ platform.name }}: + name : Package Test - NGO [{{ platform.name }}, {{ editor }}] agent: type: {{ platform.type }} image: {{ platform.image }} - flavor: {{ platform.flavor}} + flavor: {{ platform.flavor }} commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - {% if platform.name == "ubuntu" %}DISPLAY=:0 {% endif %}upm-ci project test -u {{ editor }} --type package-tests --project-path {{ project.name }} --package-filter {{ package.name }} + - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + - unity-downloader-cli -u {{ editor }} -c Editor --fast --wait + - {% if platform.name == "ubuntu" %}DISPLAY=:0 {% endif %}upm-ci package test -u {{ editor }} --package-path com.unity.netcode.gameobjects --type package-tests --extra-utr-arg="--extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun" artifacts: logs: paths: - "upm-ci~/test-results/**/*" dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }} + - .yamato/package-pack.yml#package_pack_-_ngo {% endfor -%} -{% endfor -%} -{% endfor -%} -{% endfor -%} - -# Test minimal project with different versions of dependencies -{% for project in projects -%} -{% if project.name == "minimalproject" -%} -{% for dependency in dependencies -%} -{% for editor in dependency.test_editors -%} -{% for platform in test_platforms -%} -test_compatibility_{{project.name}}_{{ project.packages.first.name }}_with_{{ dependency.name }}@{{ dependency.version }}_{{ editor }}_{{ platform.name }}: - name : {{ project.name }} - {{ project.packages.first.name }} with {{ dependency.name }}@{{ dependency.version }} - {{ editor }} on {{ platform.name }} - agent: - type: {{ platform.type }} - image: {{ platform.image }} - flavor: {{ platform.flavor}} - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - {% if platform.name == "ubuntu" %}DISPLAY=:0 {% endif %}upm-ci project test -u {{ editor }} --type project-tests --project-path {{ project.name }} --package-filter {{ project.packages.first.name }} - artifacts: - logs: - paths: - - "upm-ci~/test-results/**/*" - dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }}_{{ dependency.name }}@{{ dependency.version }} -{% endfor -%} -{% endfor -%} -{% endfor -%} -{% endif -%} {% endfor -%} \ No newline at end of file diff --git a/.yamato/project-tests.yml b/.yamato/project-tests.yml index 1737ec363e..8d47789a67 100644 --- a/.yamato/project-tests.yml +++ b/.yamato/project-tests.yml @@ -1,31 +1,31 @@ {% metadata_file .yamato/project.metafile %} --- -# For every platform and editor version, run its project tests without -# running package tests too since they are handled on their respective -# jobs -{% for project in projects -%} -{% for editor in project.test_editors -%} -{% for platform in test_platforms -%} -test_{{ project.name }}_{{ editor }}_{{ platform.name }}: - name : {{ project.name }} project tests - {{ editor }} on {{ platform.name }} +# Executes PlayMode and EditMode tests of the given project (ones that have tests) in the Editor context +# Those tests don't include NGO package tests since they are handled on their respective jobs. +# Those tests run in the editor so we don't need to consider different scripting backends or architectures +# Tests are executed for all supported editors on each desktop platform as in project.metafile declaration +{% for project in projects.all -%} +{% if project.has_tests == "true" -%} +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.all -%} +test_{{ project.name }}_{{ platform.name }}_{{ editor }}: + name : Project Test - NGO {{ project.name }} [{{ platform.name }}, {{ editor }}] agent: type: {{ platform.type }} image: {{ platform.image }} - flavor: {{ platform.flavor}} + flavor: {{ platform.flavor }} commands: - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple - - unity-downloader-cli -u {{ editor }} -c editor -w --fast - - {% if platform.name == "ubuntu" %}DISPLAY=:0 && {% endif %}upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type project-tests + - unity-downloader-cli -u {{ editor }} -c Editor --fast --wait + - {% if platform.name == "Ubuntu" %}DISPLAY=:0 && {% endif %}upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type project-tests --extra-utr-arg="--extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun" artifacts: logs: paths: - "upm-ci~/test-results/**/*" dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }} - -{% endfor -%} + - .yamato/project-pack.yml#project_pack_-_{{ project.name }} {% endfor -%} {% endfor -%} - +{% endif -%} +{% endfor -%} \ No newline at end of file From 05c1b2765a53273128b9f861184d51f8d18234da Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:31:00 +0100 Subject: [PATCH 05/66] Project standards job --- .yamato/project-standards.yml | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/.yamato/project-standards.yml b/.yamato/project-standards.yml index a5147a9dce..b0a74ad6a6 100644 --- a/.yamato/project-standards.yml +++ b/.yamato/project-standards.yml @@ -1,15 +1,30 @@ {% metadata_file .yamato/project.metafile %} --- -standards_{{ projects.first.name }}: - name: Standards Check {{ projects.first.name }} + +# Project standards are being checked for package (in project context). +# It should be enough to perform the test on default project (testproject) but to make sure that all projects conform to our standards job for each of them will be available. +# Tests are executed for default editor (trunk) on default platform (ubuntu) as in project.metafile declaration since results would be the same across editors and platforms. +{% for project in projects.all -%} +{% for platform in test_platforms.default -%} +{% for editor in validation_editors.default -%} +standards_{{ platform.name }}_{{ project.name }}_{{ editor }}: + name: Standards Check - NGO {{ project.name }} [{{ platform.name }}, {{ editor }}] agent: - type: Unity::VM - image: package-ci/ubuntu-20.04:v4 - flavor: b1.large + type: {{ platform.type }} + image: {{ platform.image }} + flavor: {{ platform.flavor }} commands: + # .NET environment setup - dotnet --version - dotnet format --version + + # Unity setup - pip install unity-downloader-cli --upgrade --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple - - unity-downloader-cli -u {{ projects.first.test_editors.first }} -c editor --wait --fast - - .Editor/Unity -batchmode -nographics -logFile - -executeMethod Packages.Rider.Editor.RiderScriptEditor.SyncSolution -projectPath {{ projects.first.path }} -quit - - dotnet run --project dotnet-tools/netcode.standards -- --project={{ projects.first.path }} --check + - unity-downloader-cli -u {{ editor }} -c editor --wait --fast + - .Editor/Unity -batchmode -nographics -logFile - -executeMethod Packages.Rider.Editor.RiderScriptEditor.SyncSolution -projectPath {{ project.path }} -quit + + # Standards check + - dotnet run --project=dotnet-tools/netcode.standards -- --project={{ project.path }} --check +{% endfor -%} +{% endfor -%} +{% endfor -%} \ No newline at end of file From 626a461384e64d299c21b43aa37ebe4521e58b5e Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:33:26 +0100 Subject: [PATCH 06/66] WebGL build job --- .yamato/webgl-build.yml | 79 ++++++++++++++++++++++++++--------------- 1 file changed, 51 insertions(+), 28 deletions(-) diff --git a/.yamato/webgl-build.yml b/.yamato/webgl-build.yml index 2a01a934b7..f1235a7edd 100644 --- a/.yamato/webgl-build.yml +++ b/.yamato/webgl-build.yml @@ -1,39 +1,62 @@ {% metadata_file .yamato/project.metafile %} --- -{% for project in projects -%} -{% if project.name == "testproject" -%} -{% for editor in project.test_editors -%} -build_{{ project.name }}_tests_{{ editor }}_webgl: - name: Build {{ project.name }} Tests - {{ editor }} - WebGL +# Builds a player on WebGl standalone platform without executing any tests. +# This setup performs build-only validation since WebGL runs in browser and for tests to be executed we would need to +# consider having a web server, browser automation and overall complex test setup. +# Default project (testptoject) in this case is used as a context. +# WebGL requires Il2cpp scripting backend so mono is not considered +# ARM64 architectures are not considered since Windows_arm64 is recommended to use only after builds and when it comes to macOS_arm64 there is problem with OpenCL not being available +# Builds are made on each desktop platform as in project.metafile declaration +{% for project in projects.default -%} +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.all -%} +webgl_build_{{ project.name }}_{{ platform }}_{{ editor }}: + name: WebGl Build - {{ project.name }} [{{ platform.name }}, {{ editor }}, il2cpp] agent: - type: Unity::VM - image: dots-ci/windows10:v1.493-auto - flavor: b1.xlarge + type: {% if platform.name == "mac" %} {{ platform.type }} {% else %} {{ platform.type }}::GPU {% endif %} + image: {{ platform.image }} + flavor: {{ platform.flavor }} commands: + # Installing tools - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple - - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat - - python .yamato/disable-burst-if-requested.py --project-path testproject --platform WebGL - - unity-downloader-cli -u {{ editor }} -c editor -c webgl -c il2cpp -w --fast + + # Platform specific UTR setup - | - set UTR_VERSION=0.12.0 - utr.bat --artifacts_path=artifacts --timeout=1800 --testproject={{ project.name }} --editor-location=.Editor --suite=playmode --platform=WebGL --build-only --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --scripting-backend=il2cpp --extra-editor-arg="-cloudEnvironment staging" - artifacts: - logs: - paths: +{% if platform.name == "win" %} + curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat +{% else %} + curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr +{% endif %} + + # Disabling Burst + - python .yamato/disable-burst-if-requested.py --project-path {{ project.path }} --platform WebGL + + # Installing editor + - unity-downloader-cli -u {{ editor }} -c Editor -c webgl -c il2cpp -w --fast + + # Build Player + - | +{% if platform.name == "win" %} + utr.bat --suite=playmode --platform=WebGL --scripting-backend=il2cpp --testproject={{ project.path }} --editor-location=.Editor --artifacts_path=build/test-results --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg="-cloudEnvironment staging" --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only +{% else %} + ./utr --suite=playmode --platform=WebGL --scripting-backend=il2cpp --testproject={{ project.path }} --editor-location=.Editor --artifacts_path=build/test-results --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg="-cloudEnvironment staging" --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only +{% endif %} + +artifacts: + logs: + paths: - '*.log' - '*.xml' - - artifacts/**/* - - testproject/Logs/** - - testproject/Library/*.log - - testproject/*.log - - testproject/Builds/*.log - - build/test-results/** - - artifacts/** + - {{ project.path }}/Logs/** + - {{ project.path }}/Library/*.log + - {{ project.path }}/*.log + - {{ project.path }}/Builds/*.log + - build/test-results/**/* - build/players/** - variables: - CI: true - ENABLE_BURST_COMPILATION: False +variables: + CI: true + ENABLE_BURST_COMPILATION: False +{% endfor -%} +{% endfor -%} {% endfor -%} -{% endif -%} -{% endfor -%} \ No newline at end of file From 7ba59e0995f90aadd33ef03a331857a93192b387 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:40:03 +0100 Subject: [PATCH 07/66] Desktop standalone tests --- .yamato/desktop-standalone-tests.yml | 66 ++++++++++++++++++++++++++++ .yamato/standalone-project-tests.yml | 40 ----------------- 2 files changed, 66 insertions(+), 40 deletions(-) create mode 100644 .yamato/desktop-standalone-tests.yml delete mode 100644 .yamato/standalone-project-tests.yml diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml new file mode 100644 index 0000000000..7116cd7c0d --- /dev/null +++ b/.yamato/desktop-standalone-tests.yml @@ -0,0 +1,66 @@ +{% metadata_file .yamato/project.metafile %} +--- + +# Builds a player on desktop standalone platform and executes RuntimeTests (equivalent to PlayMode tests) of the NGO package in the Standalone build. +# Default project (testptoject) in this case is used as a context. +# Builds are made on each desktop platform as in project.metafile declaration +# Builds are made on each supported editor as in project.metafile declaration +# Builds are made with different scripting backends as in project.metafile declaration +# ARM64 architectures are for now not considered since Windows_arm64 is recommended to use only after builds (would require separation here) and when it comes to macOS_arm64 there is problem with OpenCL not being available +{% for project in projects.default -%} +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.all -%} +{% for backend in scripting_backends -%} +desktop_standalone_tests_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }}: + name : Standalone Tests - NGO {{ project.name }} - [{{ platform.name }}, {{ editor }}, {{ backend }}] + agent: + type: {% if platform.name == "mac" %} {{ platform.type }} {% else %} {{ platform.type }}::GPU {% endif %} + image: {{ platform.image }} + flavor: {{ platform.flavor }} + commands: + # Installing tools +{% if platform.name == "ubuntu" %} + - sudo apt-get update -q + - sudo apt install -qy imagemagick +{% endif %} + - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple + + # Platform specific UTR setup + - | +{% if platform.name == "win" %} + curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat +{% else %} + curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr +{% endif %} + + # Installing editor + - unity-downloader-cli -u {{ editor }} -c Editor {% if backend == "il2cpp" %} -c il2cpp {% endif %} --fast --wait + + # Build Player + - | +{% if platform.name == "win" %} + utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun +{% else %} + ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun +{% endif %} + + # Run Standalone tests + - | +{% if platform.name == "win" %} + utr.bat --suite=playmode --platform={{ platform.standalone }} --scripting-backend={{ backend }} --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun +{% else %} + ./utr --suite=playmode --platform={{ platform.standalone }} --scripting-backend={{ backend }} --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun +{% endif %} + + artifacts: + logs: + paths: + - "upm-ci~/test-results/**/*" + - "build/test-results/**" + dependencies: + - .yamato/project-pack.yml#project_pack_-_{{ project.name }} +{% endfor -%} +{% endfor -%} +{% endfor -%} +{% endfor -%} diff --git a/.yamato/standalone-project-tests.yml b/.yamato/standalone-project-tests.yml deleted file mode 100644 index abaefc753f..0000000000 --- a/.yamato/standalone-project-tests.yml +++ /dev/null @@ -1,40 +0,0 @@ -{% metadata_file .yamato/project.metafile %} ---- - -{% for project in projects -%} -{% if project.has_tests == "true" -%} -{% for editor in project.test_editors -%} -{% for platform in test_platforms -%} -{% for backend in scripting_backends -%} -standalone_tests_{{ project.name }}_{{ backend }}_{{ editor }}_{{ platform.name }}: - name : Standalone Tests - {{ project.name }} - [{{ backend }}, {{ platform.name }}, {{ editor }}] - agent: - type: {{ platform.type }}{% if platform.name == "ubuntu" %}::GPU{% endif %} -{% if platform.name == "ubuntu" %} model: rtx2080{% endif %} - image: {% if platform.name == 'win' and backend == 'il2cpp' %}{{ win_il2cpp_test_image }} {% else %} {{ platform.image }} {% endif %} - flavor: {{ platform.flavor}} - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple - - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr{% if platform.name == "win" %}.bat{% endif %} --output utr{% if platform.name == "win" %}.bat{% endif %} -{% if platform.name != "win" %} - - chmod +x ./utr -{% endif %} - - unity-downloader-cli -u {{ editor }} -c Editor {% if backend == "il2cpp" %} -c il2cpp{% endif %} --fast --wait - - {% if platform.name != "win" %}./{% endif %}utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject=testproject --player-save-path=build/players --artifacts_path=build/logs --scripting-backend={{ backend }} --build-only --testfilter=Unity.Netcode.RuntimeTests --extra-editor-arg=-batchmode --extra-editor-arg=-nographics - - | - {% if platform.name == "win" %}set{% endif %}{% if platform.name != "win" %}export{% endif %} UTR_VERSION=0.12.0 - {% if platform.name != "win" %}./{% endif %}utr --suite=playmode --platform={{ platform.standalone }} --player-load-path=build/players --artifacts_path=build/test-results --scripting-backend={{ backend }} --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null - artifacts: - logs: - paths: - - "upm-ci~/test-results/**/*" - - "build/test-results/**" - dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }} - -{% endfor -%} -{% endfor -%} -{% endfor -%} -{% endif -%} -{% endfor -%} \ No newline at end of file From fd7b4435e17a0bcaa1c5535ca5edc614b689039b Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:40:15 +0100 Subject: [PATCH 08/66] Mobile standalone tests --- .yamato/mobile-build-and-test.yml | 153 ----------------------------- .yamato/mobile-standalone-test.yml | 109 ++++++++++++++++++++ 2 files changed, 109 insertions(+), 153 deletions(-) delete mode 100644 .yamato/mobile-build-and-test.yml create mode 100644 .yamato/mobile-standalone-test.yml diff --git a/.yamato/mobile-build-and-test.yml b/.yamato/mobile-build-and-test.yml deleted file mode 100644 index b3d16e097b..0000000000 --- a/.yamato/mobile-build-and-test.yml +++ /dev/null @@ -1,153 +0,0 @@ -{% metadata_file .yamato/project.metafile %} ---- - -{% for project in projects -%} -{% if project.name == "testproject" -%} -{% for editor in project.test_editors -%} -build_{{ project.name }}_tests_{{ editor }}_android: - name: Build {{ project.name }} Tests - {{ editor }} - Android - agent: - type: Unity::VM - image: desktop/android-execution-r19:v0.1.1-860408 - flavor: b1.xlarge - commands: - - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple - - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat - - python .yamato/disable-burst-if-requested.py --project-path testproject --platform Android - - unity-downloader-cli -u {{ editor }} -c editor -c Android -w --fast - - | - set UTR_VERSION=0.12.0 - utr.bat --artifacts_path=artifacts --timeout=1800 --testproject={{ project.name }} --editor-location=.Editor --suite=playmode --platform=android --build-only --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --testfilter=Unity.Netcode.RuntimeTests - artifacts: - logs: - paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - testproject/Logs/** - - testproject/Library/*.log - - testproject/*.log - - testproject/Builds/*.log - - build/test-results/** - - artifacts/** - - build/players/** - variables: - CI: true - ENABLE_BURST_COMPILATION: False -{% endfor -%} -{% endif -%} -{% endfor -%} - - -{% for project in projects -%} -{% if project.name == "testproject" -%} -{% for editor in project.test_editors -%} -build_{{ project.name }}_tests_{{ editor }}_iOS: - name: Build {{ project.name }} Tests - {{ editor }} - iOS - agent: - type: Unity::VM::osx - image: mobile/ios-macos-11:stable - flavor: b1.large - commands: - - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple - - unity-downloader-cli -u {{ editor }} -c editor -c iOS -w --fast - - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr - - chmod +x ./utr - - export UTR_VERSION=0.12.0 - - ./utr --artifacts_path=artifacts --timeout=1800 --testproject={{ project.name }} --editor-location=.Editor --suite=playmode --platform=iOS --build-only --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --testfilter=Unity.Netcode.RuntimeTests - artifacts: - logs: - paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - testproject/Logs/** - - testproject/Library/*.log - - testproject/*.log - - testproject/Builds/*.log - - build/test-results/** - - artifacts/** - - build/players/** -{% endfor -%} -{% endif -%} -{% endfor -%} - - -{% for project in projects -%} -{% if project.name == "testproject" -%} -{% for editor in project.test_editors -%} -run_{{ project.name }}_tests_{{ editor }}_iOS: - name: Run {{ project.name }} Tests - {{ editor }} - iOS - agent: - type: Unity::mobile::iPhone - model: SE - image: mobile/ios-macos-11:stable - flavor: b1.medium - # Set a dependency on the build job - dependencies: - - .yamato/mobile-build-and-test.yml#build_{{ project.name }}_tests_{{ editor }}_iOS - commands: - # Download standalone UnityTestRunner - - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr - # Give UTR execution permissions - - chmod +x ./utr - # Run the test build on the device - - export UTR_VERSION=0.12.0 - - ./utr -artifacts_path=artifacts --testproject={{ project.name }} --editor-location=.Editor --reruncount=2 --suite=playmode --platform=iOS --player-load-path=build/players --testfilter=Unity.Netcode.RuntimeTests - artifacts: - logs: - paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - testproject/Logs/** - - testproject/Library/*.log - - testproject/*.log - - testproject/Builds/*.log - - build/test-results/** - - artifacts/** - - build/players/** -{% endfor -%} -{% endif -%} -{% endfor -%} - - -{% for project in projects -%} -{% if project.name == "testproject" -%} -{% for editor in project.test_editors -%} -run_{{ project.name }}_tests_{{ editor }}_android: - name: Run {{ project.name }} Tests - {{ editor }} - Android - agent: - type: Unity::mobile::shield - image: mobile/android-execution-r19:stable - flavor: b1.medium - # Skip repository cloning - skip_checkout: true - # Set a dependency on the build job - dependencies: - - .yamato/mobile-build-and-test.yml#build_{{ project.name }}_tests_{{ editor }}_android - commands: - - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat - - | - set ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% - start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% - start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices - set UTR_VERSION=0.12.0 - ./utr --artifacts_path=artifacts --testproject={{ project.name }} --editor-location=.Editor --reruncount=2 --suite=playmode --platform=android --player-connection-ip=%BOKKEN_HOST_IP% --player-load-path=build/players --testfilter=Unity.Netcode.RuntimeTests - # Set uploadable artifact paths - artifacts: - logs: - paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - testproject/Logs/** - - testproject/Library/*.log - - testproject/*.log - - testproject/Builds/*.log - - build/test-results/** - - artifacts/** - - build/players/** -{% endfor -%} -{% endif -%} -{% endfor -%} diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml new file mode 100644 index 0000000000..ce533a01c7 --- /dev/null +++ b/.yamato/mobile-standalone-test.yml @@ -0,0 +1,109 @@ +{% metadata_file .yamato/project.metafile %} +--- + +# Builds a player on mobile standalone platform and executes RuntimeTests (equivalent to PlayMode tests) of the NGO package in the Standalone build. +# Default project (testptoject) in this case is used as a context. +# Builds/Tests are made on each mobile platform (Android and iOS) as in project.metafile declaration +# Builds/Tests are made on each supported editor as in project.metafile declaration + +# For mobile devices it's necessary to split build and run phases +# For iOS we need to use il2cpp. For android we could use both but il2cpp is recommended so for now we will only use il2cpp as scripting backend +# iOS works only with ARM64 and Android is tested with both ARM64 and ARMv7 + +# Builds are made with x64 architecture machines since those are compatible to run on ARM64 devices +{% for project in projects.default -%} +{% for platform in test_platforms.mobile_build -%} +{% for editor in validation_editors.all -%} +build_{{ project.name }}_{{ platform.name }}_{{ editor }}: + name: Build {{ project.name }} - [{{ platform.name }}, {{ editor }}, il2cpp] + agent: + type: {{ platform.type }} + image: {{ platform.image }} + flavor: {{ platform.flavor }} + commands: + # Installing tools + - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple + + # Installing editor + - unity-downloader-cli -u {{ editor }} -c Editor -c il2cpp {% if platform.base == "mac" %} -c ios {% else %} -c android {% endif %} --fast --wait + + # Platform specific Build +{% if platform.base == "win" %} + - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat + - python .yamato/disable-burst-if-requested.py --project-path {{ project.path }} --platform {{ platform.name }} + - utr.bat --suite=playmode --platform={{ platform.standalone }} --testproject={{ project.path }} --architecture={{ platform.architecture }} --scripting-backend=il2cpp --editor-location=.Editor --artifacts_path=artifacts --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only +{% else %} + - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr + - chmod +x ./utr + - ./utr --suite=playmode --platform={{ platform.standalone }} --testproject={{ project.path }} --architecture={{ platform.architecture }} --scripting-backend=il2cpp --editor-location=.Editor --artifacts_path=artifacts --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only +{% endif %} + artifacts: + logs: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - {{ project.name }}/Logs/** + - {{ project.name }}/Library/*.log + - {{ project.name }}/*.log + - {{ project.name }}/Builds/*.log + - build/test-results/** + - artifacts/** + - build/players/** + variables: + CI: true + ENABLE_BURST_COMPILATION: False +{% endfor -%} +{% endfor -%} +{% endfor -%} + + +# Executes RuntimeTests of the NGO package in the Standalone build for mobiles +{% for project in projects.default -%} +{% for platform in test_platforms.mobile_test -%} +{% for editor in validation_editors.all -%} +run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: + name: Run {{ project.name }} Tests - [{{ platform.name }}, {{ editor }}, il2cpp] + agent: + type: {{ platform.type }} + image: {{ platform.image }} + flavor: {{ platform.flavor }} +{% if platform.model %} + model: {{ platform.model }} +{% endif %} + # Skip repository cloning + skip_checkout: true + commands: +{% if platform.standalone == "Android" %} + # Download standalone UnityTestRunner + - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat + + # Connect to Android device and run tests + - | + set ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% + start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% + start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices + utr --suite=playmode --platform={{ platform.standalone }} --testproject={{ project.path }} --architecture={{ platform.architecture }} --scripting-backend=il2cpp --editor-location=.Editor --artifacts_path=artifacts --player-load-path=build/players --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --player-connection-ip=%BOKKEN_HOST_IP% --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun +{% else %} + # Download standalone UnityTestRunner + - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr + # Run tests + - ./utr --suite=playmode --platform={{ platform.standalone }} --testproject={{ project.path }} --architecture={{ platform.architecture }} --scripting-backend=il2cpp --editor-location=.Editor --artifacts_path=artifacts --player-load-path=build/players --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --player-connection-ip=%BOKKEN_HOST_IP% --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun +{% endif %} + artifacts: + logs: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - {{ project.name }}/Logs/** + - {{ project.name }}/Library/*.log + - {{ project.name }}/*.log + - {{ project.name }}/Builds/*.log + - build/test-results/** + - build/players/** + dependencies: + - .yamato/mobile-standalone-test.yml#build_{{ project.name }}_{{ platform.name }}_{{ editor }} +{% endfor -%} +{% endfor -%} +{% endfor -%} From acc47645dac2664b9a8b1b7272334142881515be Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:40:23 +0100 Subject: [PATCH 09/66] Console standalone tests --- .yamato/console-standalone-test.yml | 107 ++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 .yamato/console-standalone-test.yml diff --git a/.yamato/console-standalone-test.yml b/.yamato/console-standalone-test.yml new file mode 100644 index 0000000000..6c3984686c --- /dev/null +++ b/.yamato/console-standalone-test.yml @@ -0,0 +1,107 @@ +{% metadata_file .yamato/project.metafile %} +--- + +# Builds a player on console standalone platform and executes RuntimeTests (equivalent to PlayMode tests) of the NGO package in the Standalone build. +# Default project (testptoject) in this case is used as a context. +# Builds/Tests are made on each console platform (PS4, PS5, Switch, XboxOne, XboxSeriesX) as in project.metafile declaration +# Builds/Tests are made on each supported editor as in project.metafile declaration + +# For SOME of the console devices it's necessary to split build and run phases so it was split for all +# For all consoles we need to use il2cpp scripting backend (so no testing with mono) +# Switch works only with ARM64 and the rest with x64 architectures +# For now all platforms used for building are windows based + +# Builds are made with x64 architecture machines since those are compatible to run on ARM64 devices +{% for project in projects.default -%} +{% for platform in test_platforms.console_build -%} +{% for editor in validation_editors.all -%} +build_{{ project.name }}_{{ platform.name }}_{{ editor }}: + name: Build {{ project.name }} - [{{ platform.name }}, {{ editor }}, il2cpp{% if platform.name == "switch" %}, arm64{% endif %}] + agent: + type: {{ platform.type }} + image: {{ platform.image }} + flavor: {{ platform.flavor }} + commands: + # Installing tools. unity-downloader-cli and utr should be already preinstalled on the image + - sudo pip install unity-downloader-cli + - unity-downloader-cli -u {{ editor }} -c Editor -c il2cpp -c {{ platform.name }} --fast --wait + - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat + + # Platform specific Build + - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --scripting-backend=il2cpp --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --artifacts_path=build/logs --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --testCategory=!Performance --reruncount=1 --clean-library-on-rerun --build-only + + variables: +# PS4 related + SCE_ORBIS_SDK_DIR: 'C:\Users\bokken\SCE\ps4_sdk_12_00' +# PS5 related + SCE_PROSPERO_SDK_DIR: 'C:\Program Files (x86)\SCE\Prospero SDKs\9.000' + SHADER_COMPILER_PATH: '${SCE_PROSPERO_SDK_DIR}\target\bins' + SCE_ROOT_DIR: 'C:\Program Files (x86)\SCE' +# Switch related + NINTENDO_SDK_ROOT: 'C:\Nintendo\nx_sdk-18_3_0\NintendoSDK' + UNITY_NINTENDOSDK_CLI_TOOLS: '${NINTENDO_SDK_ROOT}\Tools\CommandLineTools' + artifacts: + logs: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - {{ project.name }}/Logs/** + - {{ project.name }}/Library/*.log + - {{ project.name }}/*.log + - {{ project.name }}/Builds/*.log + - build/test-results/** + - build/players/** +{% endfor -%} +{% endfor -%} +{% endfor -%} + + + +# Executes RuntimeTests of the NGO package in the Standalone build for consoles +{% for project in projects.default -%} +{% for platform in test_platforms.console_test -%} +{% for editor in validation_editors.all -%} +run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: + name: Run {{ project.name }} Tests - [{{ platform.name }}, {{ editor }}, il2cpp] + agent: + type: {{ platform.type }} + image: {{ platform.image }} + flavor: {{ platform.flavor }} +{% if platform.model %} + model: {{ platform.model }} +{% endif %} + commands: + # Installing tools. + - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat + + # Platform specific Execution + - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --editor-location=.Editor --suite=playmode --scripting-backend=il2cpp --platform={{ platform.standalone }} --artifacts_path=build/logs --player-load-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --testCategory=!Performance --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun + + variables: +# PS4 related + SCE_ORBIS_SDK_DIR: 'C:\Users\bokken\SCE\ps4_sdk_12_00' +# PS5 related + SCE_PROSPERO_SDK_DIR: 'C:\Program Files (x86)\SCE\Prospero SDKs\9.000' + SHADER_COMPILER_PATH: '${SCE_PROSPERO_SDK_DIR}\target\bins' + SCE_ROOT_DIR: 'C:\Program Files (x86)\SCE' +# Switch related + NINTENDO_SDK_ROOT: 'C:\Nintendo\nx_sdk-18_3_0\NintendoSDK' + UNITY_NINTENDOSDK_CLI_TOOLS: '${NINTENDO_SDK_ROOT}\Tools\CommandLineTools' + artifacts: + logs: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - {{ project.name }}/Logs/** + - {{ project.name }}/Library/*.log + - {{ project.name }}/*.log + - {{ project.name }}/Builds/*.log + - build/test-results/** + - build/players/** + dependencies: + - .yamato/console-standalone-test.yml#build_{{ project.name }}_{{ platform.name }}_{{ editor }} +{% endfor -%} +{% endfor -%} +{% endfor -%} \ No newline at end of file From e3f50630b4d4afb1518fecde263cdecf75062f29 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:40:32 +0100 Subject: [PATCH 10/66] Code coverage test --- .yamato/code-coverage.yml | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/.yamato/code-coverage.yml b/.yamato/code-coverage.yml index 42ed015fee..58a9fdcb92 100644 --- a/.yamato/code-coverage.yml +++ b/.yamato/code-coverage.yml @@ -1,23 +1,35 @@ {% metadata_file .yamato/project.metafile %} --- -{% for project in projects -%} -{% if project.has_tests == "true" -%} -code_coverage_win_{{ project.name }}_{{ validation_editor }}: - name: Code Coverage Report - Windows - {{ project.name }} - {{ validation_editor }} + + + # This setup performs build-only validation since WebGL runs in browser and for tests to be executed we would need to + # consider having a web server, browser automation and overall complex test setup. + # Default project (testptoject) in this case is used as a context. + # WebGL requires Il2cpp scripting backend so mono is not considered + # ARM64 architectures are not considered since Windows_arm64 is recommended to use only after builds and when it comes to macOS_arm64 there is problem with OpenCL not being available + # Builds are made on each desktop platform as in project.metafile declaration + +# Runs package tests in order to determine code coverage of the NGO package. +# In essence it's performing the same task as .yamato/package-test jobs with the overhead being the measured code coverage +# It's ok for code coverage to be performed only on one platform (default) since code coverage won't change much between those. +# Default platform was chosen (ubuntu) since it's the fastest and most resource friendly with default editor. +{% for platform in test_platforms.default -%} +{% for editor in validation_editors.default -%} +code_coverage_{{ platform.name }}_{{ editor }}: + name: Code Coverage - NGO [{{ platform.name }}, {{ editor }}] agent: - type: Unity::VM - image: package-ci/win10:v4 - flavor: b1.large + type: {{ platform.type }} + image: {{ platform.image }} + flavor: {{ platform.flavor }} commands: - - pip install unity-downloader-cli --upgrade --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - unity-downloader-cli -u {{ validation_editor }} -c editor --wait --fast - - upm-ci package test -u .Editor --package-path com.unity.netcode.gameobjects --enable-code-coverage --code-coverage-options 'enableCyclomaticComplexity;generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.Netcode.Editor,+Unity.Netcode.Runtime,+Unity.Netcode.Components' + - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + - unity-downloader-cli {% if platform.extension == "arm64" %} --arch arm64 {% endif %} -u {{ editor }} -c Editor --fast --wait + - {% if platform.name == "Ubuntu" %}DISPLAY=:0 {% endif %} upm-ci package test -u {{ editor }} --package-path com.unity.netcode.gameobjects --enable-code-coverage --code-coverage-options 'generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.Netcode.Editor,+Unity.Netcode.Runtime' --extra-utr-arg="--extra-editor-arg=--burst-disable-compilation --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --timeout=1800 --reruncount=1 --clean-library-on-rerun" artifacts: logs: paths: - "upm-ci~/test-results/**/*" dependencies: - - .yamato/project-pack.yml#pack_{{ project.name }} -{% endif -%} + - .yamato/package-pack.yml#package_pack_-_ngo +{% endfor -%} {% endfor -%} \ No newline at end of file From 63b6b7ee4b07843c3b4c6af92381f3e19063c3bd Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:40:38 +0100 Subject: [PATCH 11/66] Performance tests --- .yamato/performance-tests.yml | 55 +++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .yamato/performance-tests.yml diff --git a/.yamato/performance-tests.yml b/.yamato/performance-tests.yml new file mode 100644 index 0000000000..f28ec2b139 --- /dev/null +++ b/.yamato/performance-tests.yml @@ -0,0 +1,55 @@ +{% metadata_file .yamato/project.metafile %} +--- + +# Performance tests for the `com.unity.netcode.gameobjects` package. No performance data will be reported. +# Performance tests are executed within editor on desktop platforms in context of default project (testproject) +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.all -%} +{% for project in projects.default -%} +performance_editor_tests_-_NGO_{{ platform.name }}_{{ editor }}_no_data_reporting: + name : Performance editor Tests - NGO {{ project.name }} [{{ platform.name }}, {{ editor }}] (No Data Reporting) + agent: + type: {{ platform.type }} + image: {{ platform.image }} + flavor: {{ platform.flavor }} + commands: + # Installing tools +{% if platform.name == "ubuntu" %} + - sudo apt-get update -q + - sudo apt install -qy imagemagick +{% endif %} + - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple + + # Platform specific UTR setup +{% if platform.name == "win" %} + - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat +{% else %} + - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr +{% endif %} + + # Installing editor + - unity-downloader-cli -u {{ editor }} -c Editor --fast --wait + + # Build Player + - | +{% if platform.name == "win" %} + utr.bat --suite=editor --testproject={{ project.path }} --editor-location=.Editor --timeout=3600 --artifacts-path=artifacts --extra-editor-arg=-assemblyNames --extra-editor-arg=Unity.NetCode.* --extra-editor-arg=-testCategory --extra-editor-arg=Performance --extra-editor-arg=-enablePackageManagerTraces --reruncount=1 --clean-library-on-rerun --dontreportperformancedata +{% else %} + ./utr --suite=editor --testproject={{ project.path }} --editor-location=.Editor --timeout=3600 --artifacts-path=artifacts --extra-editor-arg=-assemblyNames --extra-editor-arg=Unity.NetCode.* --extra-editor-arg=-testCategory --extra-editor-arg=Performance --extra-editor-arg=-enablePackageManagerTraces --reruncount=1 --clean-library-on-rerun --dontreportperformancedata +{% endif %} + + artifacts: + logs: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - {{ project.name }}/Logs/** + - {{ project.name }}/Library/*.log + - {{ project.name }}/*.log + - {{ project.name }}/Builds/*.log + - build/test-results/** +{% endfor -%} +{% endfor -%} +{% endfor -%} \ No newline at end of file From 26c051fb38467399133ef2ea0bc19b01991af38d Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:40:43 +0100 Subject: [PATCH 12/66] Triggers --- .yamato/_triggers.yml | 156 +++++++++++++++++++----------------------- 1 file changed, 71 insertions(+), 85 deletions(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index e225500f59..c1c82f90cb 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -1,100 +1,86 @@ {% metadata_file .yamato/project.metafile %} --- -develop_nightly: - name: "\U0001F319 [Nightly] Run All Tests" - triggers: - recurring: - - branch: develop - frequency: daily - rerun: always - dependencies: - - .yamato/_run-all.yml#run_all_tests -{% for project in projects -%} -{% if project.has_tests == "true" -%} - - .yamato/code-coverage.yml#code_coverage_win_{{ project.name }}_{{ validation_editor }} -{% endif -%} -{% endfor -%} - -develop_weekly_trunk: - name: "\U0001F319 [Weekly] Run All Tests [Trunk]" - triggers: - recurring: - - branch: develop - frequency: weekly - rerun: always - dependencies: - - .yamato/_run-all.yml#run_all_tests_trunk - -multiprocess_nightly: - name: "\U0001F319 [Nightly] Run Multiprocess Tests" - triggers: - recurring: - - branch: develop - frequency: daily - rerun: always - dependencies: - - .yamato/_run-all.yml#all_singlenode_multiprocess_tests -# Run all relevant tasks when a pull request targeting the develop -# branch is created or updated. Currently only netcode package tests are -# enabled, since the others are missing test coverage and will fail CI. +# Run all relevant tasks when a pull request targeting the develop or release branch is created or updated. pull_request_trigger: - name: Pull Request Trigger (master, develop, & release branches) + name: Pull Request Trigger (develop, develop-2.0.0, & release branches) dependencies: - - .yamato/project-standards.yml#standards_{{ projects.first.name }} -{% for project in projects -%} -{% for package in project.packages -%} -{% if project.validate == "true" -%} - - .yamato/project-publish.yml#validate_{{ package.name }}_{{ test_platforms.first.name }}_{{ validation_editor }} -{% endif -%} -{% endfor -%} -{% for platform in test_platforms -%} -{% for package in project.packages -%} - - .yamato/package-tests.yml#test_{{ project.name }}_{{ package.name }}_{{ project.test_editors.first }}_{{ platform.name }} -{% endfor -%} - - .yamato/project-tests.yml#test_{{ project.name }}_{{ project.test_editors.first }}_{{ platform.name }} -{% endfor -%} -{% endfor -%} + # Run project standards to verify package/default project + - .yamato/project-standards.yml#standards_{{ test_platforms.default }}_{{ projects.default.name }}_{{ validation_editors.default }} + # Run APV jobs to make sure the change won't break any dependants + - .yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs + # Run api validation to make sure that the change won't break SemVer + - .yamato/wrench/api-validation-jobs.yml#api_validation_-_netcode_gameobjects_-_6000_0_-_windows + # Run package EditMode and Playmode tests on desktop platforms on trunk + - .yamato/_run-all#run_all_package_tests_trunk + # Run project EditMode and PLaymode tests on desktop platforms on trunk + - .yamato/_run-all#run_all_project_tests_trunk triggers: cancel_old_ci: true pull_requests: - targets: only: - - "master" - "develop" - "develop-2.0.0" - "/release\/.*/" + -# Currently, we need to have a trigger to updated badges -# Only package badges currently exist -badges_test_trigger: - name: ⚡ Badges Tests Trigger - agent: - type: Unity::VM - image: package-ci/ubuntu-22.04:v4 - flavor: b1.small - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci package izon -t - artifacts: - logs: - paths: - - "upm-ci~/test-results/**/*" - packages: - paths: - - "upm-ci~/packages/**/*" +# Run all tests on trunk on nightly basis. +# Same subset as pull_request_trigger with addition of mobile/desktop/console tests and webgl builds +# Those tests are all running on trunk editor (since it's daily and running all of them would add a lot of overhead) +develop_nightly: + name: "\U0001F319 [Nightly] Run All Tests [Trunk]" + triggers: + recurring: + - branch: develop-2.0.0 + frequency: daily + rerun: always + dependencies: + # Run project standards to verify package/default project + - .yamato/project-standards.yml#standards_{{ test_platforms.default }}_{{ projects.default.name }}_{{ validation_editors.default }} + # Run APV jobs to make sure the change won't break any dependants + - .yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs + # Run api validation to make sure that the change won't break SemVer + - .yamato/wrench/api-validation-jobs.yml#api_validation_-_netcode_gameobjects_-_6000_0_-_windows + # Run package EditMode and Playmode tests on desktop platforms on trunk + - .yamato/_run-all#run_all_package_tests_trunk + # Run project EditMode and PLaymode tests on desktop platforms on trunk + - .yamato/_run-all#run_all_project_tests_trunk + # Run Runtime tests on desktop players on trunk + - .yamato/_run-all.yml#run_all_project_tests_desktop_standalone_trunk + # Run Runtime tests on mobile players on trunk + - .yamato/_run-all.yml#run_all_project_tests_mobile_standalone_trunk + # Run Runtime tests on console players on trunk + - .yamato/_run-all.yml#run_all_project_tests_console_standalone_trunk + # Build player for webgl platform on trunk + - .yamato/_run-all.yml#run_all_webgl_builds_trunk + + +# Run all tests on weekly bases +# Same subset as develop_nightly but runs per all supported editors as well as executes code coverage test and runs project standards per project +# It's not running wrench jobs since those will run either way in nightly test run +# This in contrast to nightly checks will run tests on all editors (not only trunk). Running those on weekly basis and trunk tests nightly should be a good balance between making sure that tests are passing and overhead of running lots of tests +develop_weekly_trunk: + name: "\U0001F319 [Weekly] Run All Tests" + triggers: + recurring: + - branch: develop-2.0.0 + frequency: weekly + rerun: always dependencies: -{% for project in projects -%} -{% for package in project.packages -%} -{% if project.validate == "true" -%} - - .yamato/project-publish.yml#validate_{{ package.name }}_{{ test_platforms.first.name }}_{{ validation_editor }} -{% endif -%} -{% for editor in project.test_editors -%} -{% if editor != "trunk" -%} -{% for platform in test_platforms -%} - - .yamato/package-tests.yml#test_{{ project.name }}_{{ package.name }}_{{ editor }}_{{ platform.name }} -{% endfor -%} -{% endif -%} -{% endfor -%} -{% endfor -%} -{% endfor -%} + # Run project standards to verify package/default project + - .yamato/_run-all.yml#run_all_projects_standards + # Run package EditMode and Playmode tests on desktop platforms on trunk + - .yamato/_run-all#run_all_package_tests + # Run project EditMode and PLaymode tests on desktop platforms on trunk + - .yamato/_run-all#run_all_project_tests + # Run Runtime tests on desktop players on trunk + - .yamato/_run-all.yml#run_all_project_tests_desktop_standalone + # Run Runtime tests on mobile players on trunk + - .yamato/_run-all.yml#run_all_project_tests_mobile_standalone + # Run Runtime tests on console players on trunk + - .yamato/_run-all.yml#run_all_project_tests_console_standalone + # Build player for webgl platform on trunk + - .yamato/_run-all.yml#run_all_webgl_builds + # Run code coverage test + - .yamato/code-coverage.yml#code_coverage_ubuntu_trunk \ No newline at end of file From 9d628d86a06105a240be0d42a93f6a837e8edb77 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Mon, 6 Jan 2025 15:40:53 +0100 Subject: [PATCH 13/66] Run all jobs --- .yamato/_run-all.yml | 220 +++++++++++++++++++++++-------------------- 1 file changed, 116 insertions(+), 104 deletions(-) diff --git a/.yamato/_run-all.yml b/.yamato/_run-all.yml index 8bf0c61968..fdc7abfe76 100644 --- a/.yamato/_run-all.yml +++ b/.yamato/_run-all.yml @@ -1,161 +1,173 @@ {% metadata_file .yamato/project.metafile %} --- -run_all_tests: - name: Run All Package and Project Tests + +# Runs all package tests +run_all_package_tests: + name: Run All Package Tests dependencies: - # Pull in package and validate jobs through the badges job - - .yamato/_triggers.yml#badges_test_trigger - - .yamato/mobile-build-and-test.yml#run_{{ projects.first.name }}_tests_{{ mobile_validation_editor }}_iOS - - .yamato/mobile-build-and-test.yml#run_{{ projects.first.name }}_tests_{{ mobile_validation_editor }}_android - # - .yamato/_run-all.yml#all_project_tests_standalone -{% for project in projects -%} -{% if project.name == "testproject" -%} -{% for editor in project.test_editors -%} - - .yamato/webgl-build.yml#build_{{ project.name }}_tests_{{ editor }}_webgl +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.all -%} + - .yamato/package-tests.yml#package_test_-_ngo_{{ editor }}_{{ platform.name }} {% endfor -%} -{% endif -%} {% endfor -%} -{% for platform in test_platforms -%} -{% for project in projects -%} -{% for editor in project.test_editors -%} -{% if editor != "trunk" -%} -{% for package in project.packages -%} - - .yamato/package-tests.yml#test_{{ project.name}}_{{ package.name }}_{{ editor }}_{{ platform.name }} + +# Runs all package tests on trunk editor +run_all_package_tests_trunk: + name: Run All Package Tests [Trunk only] + dependencies: +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.default -%} + - .yamato/package-tests.yml#package_test_-_ngo_{{ editor }}_{{ platform.name }} {% endfor -%} - - .yamato/project-tests.yml#test_{{ project.name }}_{{ editor }}_{{ platform.name }} -{% endif -%} {% endfor -%} -## Test minimal project with different versions of dependencies -{% if project.name == "minimalproject" -%} -{% for dependency in dependencies -%} -{% for depeditor in dependency.test_editors -%} -{% if depeditor != "trunk" -%} - - .yamato/package-tests.yml#test_compatibility_{{ project.name }}_{{ project.packages.first.name }}_with_{{ dependency.name }}@{{ dependency.version }}_{{ depeditor }}_{{ platform.name }} -{% endif -%} + +# Runs all projects tests +run_all_project_tests: + name: Run All Project Tests + dependencies: +{% for project in projects.all -%} +{% if project.has_tests == "true" -%} +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.all -%} + - .yamato/project-tests.yml#test_{{ project.name }}_{{ platform.name }}_{{ editor }} {% endfor -%} {% endfor -%} {% endif -%} {% endfor -%} -{% endfor -%} -run_all_tests_trunk: - name: Run All Package and Project Tests [Trunk] + +# Runs all projects tests on trunk editor +run_all_project_tests_trunk: + name: Run All Project Tests [Trunk only] dependencies: -{% for platform in test_platforms -%} -{% for project in projects -%} -{% for editor in project.test_editors -%} -{% if editor == "trunk" -%} -{% for package in project.packages -%} - - .yamato/package-tests.yml#test_{{ project.name}}_{{ package.name }}_{{ editor }}_{{ platform.name }} -{% endfor -%} - - .yamato/project-tests.yml#test_{{ project.name }}_{{ editor }}_{{ platform.name }} +{% for project in projects.all -%} +{% if project.has_tests == "true" -%} +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.default -%} + - .yamato/project-tests.yml#test_{{ project.name }}_{{ platform.name }}_{{ editor }} +{% endfor -%} +{% endfor -%} {% endif -%} {% endfor -%} -## Test minimal project with different versions of dependencies on trunk -{% if project.name == "minimalproject" -%} -{% for dependency in dependencies -%} -{% for depeditor in dependency.test_editors -%} -{% if depeditor == "trunk" -%} - - .yamato/package-tests.yml#test_compatibility_{{ project.name }}_{{ project.packages.first.name }}_with_{{ dependency.name }}@{{ dependency.version }}_{{ depeditor }}_{{ platform.name }} -{% endif -%} + +# Runs all project standards check +run_all_projects_standards: + name: Run All Projects Standards + dependencies: +{% for platform in test_platforms.default -%} +{% for project in projects.all -%} +{% for editor in validation_editors.default -%} + - .yamato/project-standards.yml#standards_{{ platform.name }}_{{ project.name }}_{{ editor }} {% endfor -%} {% endfor -%} -{% endif -%} +{% endfor -%} + + +# Runs all WebGL builds +run_all_webgl_builds: + name: Run All WebGl Build + dependencies: +{% for project in projects.default -%} +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.all -%} + - .yamato/webgl-build.yml#webgl_build_{{ project.name }}_{{ platform }}_{{ editor }} +{% endfor -%} {% endfor -%} {% endfor -%} -all_project_tests: - name: Run All Project Tests + +# Runs all WebGL builds on trunk editor +run_all_webgl_builds_trunk: + name: Run All WebGl Build [Trunk only] dependencies: - - .yamato/_triggers.yml#badges_test_trigger -{% for platform in test_platforms -%} -{% for project in projects -%} -{% for editor in project.test_editors -%} - - .yamato/project-tests.yml#test_{{ projects.first.name }}_{{ editor }}_{{ platform.name }} +{% for project in projects.default -%} +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.default -%} + - .yamato/webgl-build.yml#webgl_build_{{ project.name }}_{{ platform }}_{{ editor }} {% endfor -%} {% endfor -%} {% endfor -%} -all_package_tests: - name: Run All Package Tests + +# Runs all Desktop tests +run_all_project_tests_desktop_standalone: + name: Run All Standalone Tests - Desktop dependencies: - - .yamato/_triggers.yml#badges_test_trigger -{% for platform in test_platforms -%} -{% for project in projects -%} -{% for editor in project.test_editors -%} -{% for package in project.packages -%} - - .yamato/package-tests.yml#test_{{ project.name}}_{{ package.name }}_{{ editor }}_{{ platform.name }} +{% for project in projects.default -%} +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.all -%} +{% for backend in scripting_backends -%} + - .yamato/desktop-standalone-tests.yml#desktop_standalone_tests_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} {% endfor -%} {% endfor -%} {% endfor -%} {% endfor -%} -# Test minimal project with different versions of dependencies -all_compatibility_tests: - name: Run All Compatibility Tests + +# Runs all Desktop tests on trunk editor +run_all_project_tests_desktop_standalone_trunk: + name: Run All Standalone Tests - Desktop [Trunk only] dependencies: -{% for platform in test_platforms -%} -{% for project in projects -%} -{% if project.name == "minimalproject" -%} -{% for dependency in dependencies -%} -{% for editor in dependency.test_editors -%} - - .yamato/package-tests.yml#test_compatibility_{{ project.name }}_{{ project.packages.first.name }}_with_{{ dependency.name }}@{{ dependency.version }}_{{ editor }}_{{ platform.name }} +{% for project in projects.default -%} +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.default -%} +{% for backend in scripting_backends -%} + - .yamato/desktop-standalone-tests.yml#desktop_standalone_tests_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} {% endfor -%} {% endfor -%} -{% endif -%} {% endfor -%} {% endfor -%} -all_singlenode_multiprocess_tests: - name: Run All Multiprocess Tests - Single Node +# Runs all Mobile tests +run_all_project_tests_mobile_standalone: + name: Run All Standalone Tests - Mobile dependencies: -{% for platform in test_platforms -%} -{% for project in projects -%} -{% for editor in project.test_editors -%} -{% if editor != "trunk" %} - - .yamato/multiprocess-project-tests.yml#singlenode_multiprocess_test_testproject_{{ editor }}_{{ platform.name }} -{% endif %} +{% for project in projects.default -%} +{% for platform in test_platforms.mobile_test -%} +{% for editor in validation_editors.all -%} + - .yamato/mobile-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }} {% endfor -%} {% endfor -%} {% endfor -%} -all_project_tests_standalone: - name: Run All Project Tests - Standalone + +# Runs all Mobile tests on trunk editor +run_all_project_tests_mobile_standalone_trunk: + name: Run All Standalone Tests - Mobile [Trunk only] dependencies: -{% for platform in test_platforms -%} -{% for project in projects -%} -{% if project.has_tests == "true" -%} -{% for editor in project.test_editors -%} -{% for backend in scripting_backends -%} - - .yamato/standalone-project-tests.yml#standalone_tests_{{ project.name }}_{{ backend }}_{{ editor }}_{{ platform.name }} +{% for project in projects.default -%} +{% for platform in test_platforms.mobile_test -%} +{% for editor in validation_editors.default -%} + - .yamato/mobile-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }} {% endfor -%} {% endfor -%} -{% endif -%} -{% endfor -%} {% endfor -%} -all_project_tests_mobile: - name: Run All Project Tests - Mobile + +# Runs all Console tests +run_all_project_tests_console_standalone: + name: Run All Standalone Tests - Console dependencies: -{% for project in projects -%} -{% if project.name == "testproject" -%} -{% for editor in project.test_editors -%} - - .yamato/mobile-build-and-test.yml#run_{{ project.name }}_tests_{{ editor }}_android - - .yamato/mobile-build-and-test.yml#run_{{ project.name }}_tests_{{ editor }}_iOS +{% for project in projects.default -%} +{% for platform in test_platforms.console_test -%} +{% for editor in validation_editors.all -%} + - .yamato/console-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }} +{% endfor -%} {% endfor -%} -{% endif -%} {% endfor -%} -all_project_tests_webgl: - name: Build All Project Tests - WebGL + +# Runs all Console tests on trunk editor +run_all_project_tests_console_standalone_trunk: + name: Run All Standalone Tests - Console [Trunk only] dependencies: -{% for project in projects -%} -{% if project.name == "testproject" -%} -{% for editor in project.test_editors -%} - - .yamato/webgl-build.yml#build_{{ project.name }}_tests_{{ editor }}_webgl +{% for project in projects.default -%} +{% for platform in test_platforms.console_test -%} +{% for editor in validation_editors.default -%} + - .yamato/console-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }} +{% endfor -%} {% endfor -%} -{% endif -%} {% endfor -%} From a54e22630bf7d7247aa647ba7c7b03458690e5c3 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Tue, 7 Jan 2025 13:49:16 +0100 Subject: [PATCH 14/66] Linter and comment corrections --- .yamato/code-coverage.yml | 12 ++---------- .yamato/project-tests.yml | 2 +- .yamato/webgl-build.yml | 28 ++++++++++++++-------------- 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/.yamato/code-coverage.yml b/.yamato/code-coverage.yml index 58a9fdcb92..7830522c99 100644 --- a/.yamato/code-coverage.yml +++ b/.yamato/code-coverage.yml @@ -1,14 +1,6 @@ {% metadata_file .yamato/project.metafile %} --- - - # This setup performs build-only validation since WebGL runs in browser and for tests to be executed we would need to - # consider having a web server, browser automation and overall complex test setup. - # Default project (testptoject) in this case is used as a context. - # WebGL requires Il2cpp scripting backend so mono is not considered - # ARM64 architectures are not considered since Windows_arm64 is recommended to use only after builds and when it comes to macOS_arm64 there is problem with OpenCL not being available - # Builds are made on each desktop platform as in project.metafile declaration - # Runs package tests in order to determine code coverage of the NGO package. # In essence it's performing the same task as .yamato/package-test jobs with the overhead being the measured code coverage # It's ok for code coverage to be performed only on one platform (default) since code coverage won't change much between those. @@ -23,8 +15,8 @@ code_coverage_{{ platform.name }}_{{ editor }}: flavor: {{ platform.flavor }} commands: - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - unity-downloader-cli {% if platform.extension == "arm64" %} --arch arm64 {% endif %} -u {{ editor }} -c Editor --fast --wait - - {% if platform.name == "Ubuntu" %}DISPLAY=:0 {% endif %} upm-ci package test -u {{ editor }} --package-path com.unity.netcode.gameobjects --enable-code-coverage --code-coverage-options 'generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.Netcode.Editor,+Unity.Netcode.Runtime' --extra-utr-arg="--extra-editor-arg=--burst-disable-compilation --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --timeout=1800 --reruncount=1 --clean-library-on-rerun" + - unity-downloader-cli -u {{ editor }} -c Editor --fast --wait + - {% if platform.name == "ubuntu" %}DISPLAY=:0 {% endif %} upm-ci package test -u {{ editor }} --package-path com.unity.netcode.gameobjects --enable-code-coverage --code-coverage-options 'generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.Netcode.Editor,+Unity.Netcode.Runtime' --extra-utr-arg="--extra-editor-arg=--burst-disable-compilation --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --timeout=1800 --reruncount=1 --clean-library-on-rerun" artifacts: logs: paths: diff --git a/.yamato/project-tests.yml b/.yamato/project-tests.yml index 8d47789a67..811570b32f 100644 --- a/.yamato/project-tests.yml +++ b/.yamato/project-tests.yml @@ -18,7 +18,7 @@ test_{{ project.name }}_{{ platform.name }}_{{ editor }}: commands: - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - unity-downloader-cli -u {{ editor }} -c Editor --fast --wait - - {% if platform.name == "Ubuntu" %}DISPLAY=:0 && {% endif %}upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type project-tests --extra-utr-arg="--extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun" + - {% if platform.name == "ubuntu" %}DISPLAY=:0 && {% endif %}upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type project-tests --extra-utr-arg="--extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun" artifacts: logs: paths: diff --git a/.yamato/webgl-build.yml b/.yamato/webgl-build.yml index f1235a7edd..1b5607334b 100644 --- a/.yamato/webgl-build.yml +++ b/.yamato/webgl-build.yml @@ -43,20 +43,20 @@ webgl_build_{{ project.name }}_{{ platform }}_{{ editor }}: ./utr --suite=playmode --platform=WebGL --scripting-backend=il2cpp --testproject={{ project.path }} --editor-location=.Editor --artifacts_path=build/test-results --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg="-cloudEnvironment staging" --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% endif %} -artifacts: - logs: - paths: - - '*.log' - - '*.xml' - - {{ project.path }}/Logs/** - - {{ project.path }}/Library/*.log - - {{ project.path }}/*.log - - {{ project.path }}/Builds/*.log - - build/test-results/**/* - - build/players/** -variables: - CI: true - ENABLE_BURST_COMPILATION: False + artifacts: + logs: + paths: + - '*.log' + - '*.xml' + - {{ project.path }}/Logs/** + - {{ project.path }}/Library/*.log + - {{ project.path }}/*.log + - {{ project.path }}/Builds/*.log + - build/test-results/**/* + - build/players/** + variables: + CI: true + ENABLE_BURST_COMPILATION: False {% endfor -%} {% endfor -%} {% endfor -%} From 0d0aba383d6379f86fca09198322c6f3d658b6ed Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Tue, 7 Jan 2025 14:52:35 +0100 Subject: [PATCH 15/66] Removed "Unreleased" section from Changelog as per PVP requirements --- com.unity.netcode.gameobjects/CHANGELOG.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/com.unity.netcode.gameobjects/CHANGELOG.md b/com.unity.netcode.gameobjects/CHANGELOG.md index 423096ac35..73787525e1 100644 --- a/com.unity.netcode.gameobjects/CHANGELOG.md +++ b/com.unity.netcode.gameobjects/CHANGELOG.md @@ -6,15 +6,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) Additional documentation and release notes are available at [Multiplayer Documentation](https://docs-multiplayer.unity3d.com). -## [Unreleased] - -### Added - -### Fixed - -### Changed - - ## [2.2.0] - 2024-12-12 ### Added From 6b2f8853d0c23db12661c47cf9f55ce68aa8f635 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 17 Jan 2025 14:51:21 +0100 Subject: [PATCH 16/66] Modified mobile test command to exclude parameters needed only for build phase --- .yamato/mobile-standalone-test.yml | 4 ++-- .yamato/webgl-build.yml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index ce533a01c7..5f5beda793 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -83,12 +83,12 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: set ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices - utr --suite=playmode --platform={{ platform.standalone }} --testproject={{ project.path }} --architecture={{ platform.architecture }} --scripting-backend=il2cpp --editor-location=.Editor --artifacts_path=artifacts --player-load-path=build/players --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --player-connection-ip=%BOKKEN_HOST_IP% --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun + utr --suite=playmode --platform={{ platform.standalone }} --artifacts_path=artifacts --player-load-path=build/players --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --player-connection-ip=%BOKKEN_HOST_IP% --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun {% else %} # Download standalone UnityTestRunner - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr # Run tests - - ./utr --suite=playmode --platform={{ platform.standalone }} --testproject={{ project.path }} --architecture={{ platform.architecture }} --scripting-backend=il2cpp --editor-location=.Editor --artifacts_path=artifacts --player-load-path=build/players --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --player-connection-ip=%BOKKEN_HOST_IP% --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun + - ./utr --suite=playmode --platform={{ platform.standalone }} --artifacts_path=artifacts --player-load-path=build/players --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --player-connection-ip=%BOKKEN_HOST_IP% --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: logs: diff --git a/.yamato/webgl-build.yml b/.yamato/webgl-build.yml index 1b5607334b..7e1e564e15 100644 --- a/.yamato/webgl-build.yml +++ b/.yamato/webgl-build.yml @@ -54,6 +54,7 @@ webgl_build_{{ project.name }}_{{ platform }}_{{ editor }}: - {{ project.path }}/Builds/*.log - build/test-results/**/* - build/players/** + - artifacts/**/* variables: CI: true ENABLE_BURST_COMPILATION: False From b37b2b0b8283287cb9898af722a168e0846ebf6e Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 22 Jan 2025 12:48:42 +0100 Subject: [PATCH 17/66] Removing unnecessary commands from desktop and console standalone tests --- .yamato/console-standalone-test.yml | 2 +- .yamato/desktop-standalone-tests.yml | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.yamato/console-standalone-test.yml b/.yamato/console-standalone-test.yml index 6c3984686c..a261ef2143 100644 --- a/.yamato/console-standalone-test.yml +++ b/.yamato/console-standalone-test.yml @@ -76,7 +76,7 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat # Platform specific Execution - - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --editor-location=.Editor --suite=playmode --scripting-backend=il2cpp --platform={{ platform.standalone }} --artifacts_path=build/logs --player-load-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --testCategory=!Performance --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun + - utr --suite=playmode --artifacts_path=build/logs --player-load-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --testCategory=!Performance --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun variables: # PS4 related diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index 7116cd7c0d..72b6172f89 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -23,7 +23,6 @@ desktop_standalone_tests_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ - sudo apt-get update -q - sudo apt install -qy imagemagick {% endif %} - - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple # Platform specific UTR setup @@ -48,16 +47,16 @@ desktop_standalone_tests_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --platform={{ platform.standalone }} --scripting-backend={{ backend }} --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + utr.bat --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% else %} - ./utr --suite=playmode --platform={{ platform.standalone }} --scripting-backend={{ backend }} --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + ./utr --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: logs: paths: - - "upm-ci~/test-results/**/*" - - "build/test-results/**" + - artifacts/**/* + - build/test-results/** dependencies: - .yamato/project-pack.yml#project_pack_-_{{ project.name }} {% endfor -%} From 9788a19df1aaf2254e4f9b9efa388a52a0bb957f Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Thu, 23 Jan 2025 18:14:10 +0100 Subject: [PATCH 18/66] Separation of desktop standalone tests into build and test phases --- .yamato/desktop-standalone-tests.yml | 86 ++++++++++++++++++++-------- 1 file changed, 62 insertions(+), 24 deletions(-) diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index 72b6172f89..db849fa96d 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -7,58 +7,96 @@ # Builds are made on each supported editor as in project.metafile declaration # Builds are made with different scripting backends as in project.metafile declaration # ARM64 architectures are for now not considered since Windows_arm64 is recommended to use only after builds (would require separation here) and when it comes to macOS_arm64 there is problem with OpenCL not being available + +# Build phase {% for project in projects.default -%} {% for platform in test_platforms.desktop -%} {% for editor in validation_editors.all -%} {% for backend in scripting_backends -%} -desktop_standalone_tests_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }}: - name : Standalone Tests - NGO {{ project.name }} - [{{ platform.name }}, {{ editor }}, {{ backend }}] +desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }}: + name : Standalone Build - NGO {{ project.name }} - [{{ platform.name }}, {{ editor }}, {{ backend }}] agent: type: {% if platform.name == "mac" %} {{ platform.type }} {% else %} {{ platform.type }}::GPU {% endif %} image: {{ platform.image }} flavor: {{ platform.flavor }} commands: - # Installing tools +# Installing tools {% if platform.name == "ubuntu" %} - sudo apt-get update -q - sudo apt install -qy imagemagick {% endif %} - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple - # Platform specific UTR setup +# Platform specific UTR setup - | {% if platform.name == "win" %} curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat {% else %} curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr {% endif %} - - # Installing editor + + # Installing editor - unity-downloader-cli -u {{ editor }} -c Editor {% if backend == "il2cpp" %} -c il2cpp {% endif %} --fast --wait - - # Build Player + + # Build Player - | -{% if platform.name == "win" %} - utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun -{% else %} - ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun -{% endif %} +{% if platform.name == "win" %} + utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only +{% else %} + ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only +{% endif %} - # Run Standalone tests +artifacts: + players: + paths: + - build/players/**/* + logs: + paths: + - build/logs/**/* +dependencies: + - .yamato/project-pack.yml#project_pack_-_{{ project.name }} +{% endfor -%} +{% endfor -%} +{% endfor -%} +{% endfor -%} + + + + +# Run phase +{% for project in projects.default -%} +{% for platform in test_platforms.desktop -%} +{% for editor in validation_editors.all -%} +{% for backend in scripting_backends -%} +desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }}: + name : Standalone Test - NGO {{ project.name }} - [{{ platform.name }}, {{ editor }}, {{ backend }}] + agent: + type: {% if platform.name == "mac" %} {{ platform.type }} {% else %} {{ platform.type }}::GPU {% endif %} + image: {{ platform.image }} + flavor: {{ platform.flavor }} + commands: +# Platform specific UTR setup + - | +{% if platform.name == "win" %} + curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat +{% else %} + curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr +{% endif %} + +# Run Standalone tests - | -{% if platform.name == "win" %} +{% if platform.name == "win" %} utr.bat --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun -{% else %} +{% else %} ./utr --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun -{% endif %} +{% endif %} - artifacts: - logs: - paths: - - artifacts/**/* - - build/test-results/** - dependencies: - - .yamato/project-pack.yml#project_pack_-_{{ project.name }} +artifacts: + logs: + paths: + - build/test-results/** +dependencies: + - .yamato/desktop-standalone-tests.yml#desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} {% endfor -%} {% endfor -%} {% endfor -%} From b1125686de7544c183bce0455be9a1fcfe830472 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Thu, 23 Jan 2025 18:23:15 +0100 Subject: [PATCH 19/66] Corrected linter error --- .yamato/desktop-standalone-tests.yml | 34 ++++++++++++++-------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index db849fa96d..3820b64183 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -35,10 +35,10 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr {% endif %} - # Installing editor +# Installing editor - unity-downloader-cli -u {{ editor }} -c Editor {% if backend == "il2cpp" %} -c il2cpp {% endif %} --fast --wait - # Build Player +# Build Player - | {% if platform.name == "win" %} utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only @@ -46,15 +46,15 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% endif %} -artifacts: - players: - paths: - - build/players/**/* - logs: - paths: - - build/logs/**/* -dependencies: - - .yamato/project-pack.yml#project_pack_-_{{ project.name }} + artifacts: + players: + paths: + - build/players/**/* + logs: + paths: + - build/logs/**/* + dependencies: + - .yamato/project-pack.yml#project_pack_-_{{ project.name }} {% endfor -%} {% endfor -%} {% endfor -%} @@ -91,12 +91,12 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ ./utr --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% endif %} -artifacts: - logs: - paths: - - build/test-results/** -dependencies: - - .yamato/desktop-standalone-tests.yml#desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} + artifacts: + logs: + paths: + - build/test-results/** + dependencies: + - .yamato/desktop-standalone-tests.yml#desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} {% endfor -%} {% endfor -%} {% endfor -%} From 762ba9d15159eb3fa7c6353b0478aea669226fad Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 24 Jan 2025 11:50:23 +0100 Subject: [PATCH 20/66] Removed unreleased section (PVP exception), corrected standalone tests parameters --- .yamato/_run-all.yml | 4 ++-- .yamato/console-standalone-test.yml | 4 ++-- .yamato/desktop-standalone-tests.yml | 8 ++++---- .yamato/mobile-standalone-test.yml | 8 ++++---- com.unity.netcode.gameobjects/CHANGELOG.md | 11 ----------- 5 files changed, 12 insertions(+), 23 deletions(-) diff --git a/.yamato/_run-all.yml b/.yamato/_run-all.yml index fdc7abfe76..af4c78b7f0 100644 --- a/.yamato/_run-all.yml +++ b/.yamato/_run-all.yml @@ -100,7 +100,7 @@ run_all_project_tests_desktop_standalone: {% for platform in test_platforms.desktop -%} {% for editor in validation_editors.all -%} {% for backend in scripting_backends -%} - - .yamato/desktop-standalone-tests.yml#desktop_standalone_tests_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} + - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} {% endfor -%} {% endfor -%} {% endfor -%} @@ -115,7 +115,7 @@ run_all_project_tests_desktop_standalone_trunk: {% for platform in test_platforms.desktop -%} {% for editor in validation_editors.default -%} {% for backend in scripting_backends -%} - - .yamato/desktop-standalone-tests.yml#desktop_standalone_tests_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} + - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} {% endfor -%} {% endfor -%} {% endfor -%} diff --git a/.yamato/console-standalone-test.yml b/.yamato/console-standalone-test.yml index a261ef2143..f810c84448 100644 --- a/.yamato/console-standalone-test.yml +++ b/.yamato/console-standalone-test.yml @@ -28,7 +28,7 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat # Platform specific Build - - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --scripting-backend=il2cpp --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --artifacts_path=build/logs --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --testCategory=!Performance --reruncount=1 --clean-library-on-rerun --build-only + - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --scripting-backend=il2cpp --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --artifacts_path=build/logs --player-save-path=build/players --testfilter=Unity.Netcode.RuntimeTests --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only variables: # PS4 related @@ -76,7 +76,7 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat # Platform specific Execution - - utr --suite=playmode --artifacts_path=build/logs --player-load-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --testCategory=!Performance --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun + - utr --suite=playmode -testproject={{ project.path }} --artifacts_path=build/logs --player-load-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun variables: # PS4 related diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index 3820b64183..de44a98f8c 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -41,9 +41,9 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Build Player - | {% if platform.name == "win" %} - utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter=Unity.Netcode.RuntimeTests --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% else %} - ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter=Unity.Netcode.RuntimeTests --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: @@ -86,9 +86,9 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + utr.bat --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% else %} - ./utr --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Netcode.RuntimeTests --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + ./utr --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 5f5beda793..b1febb6e29 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -31,11 +31,11 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: {% if platform.base == "win" %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat - python .yamato/disable-burst-if-requested.py --project-path {{ project.path }} --platform {{ platform.name }} - - utr.bat --suite=playmode --platform={{ platform.standalone }} --testproject={{ project.path }} --architecture={{ platform.architecture }} --scripting-backend=il2cpp --editor-location=.Editor --artifacts_path=artifacts --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only + - utr.bat --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only {% else %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr - chmod +x ./utr - - ./utr --suite=playmode --platform={{ platform.standalone }} --testproject={{ project.path }} --architecture={{ platform.architecture }} --scripting-backend=il2cpp --editor-location=.Editor --artifacts_path=artifacts --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only + - ./utr --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: logs: @@ -83,12 +83,12 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: set ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices - utr --suite=playmode --platform={{ platform.standalone }} --artifacts_path=artifacts --player-load-path=build/players --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --player-connection-ip=%BOKKEN_HOST_IP% --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun + utr --suite=playmode --artifacts_path=artifacts --player-load-path=build/players --player-connection-ip=%BOKKEN_HOST_IP% --reruncount=1 --clean-library-on-rerun {% else %} # Download standalone UnityTestRunner - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr # Run tests - - ./utr --suite=playmode --platform={{ platform.standalone }} --artifacts_path=artifacts --player-load-path=build/players --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --player-connection-ip=%BOKKEN_HOST_IP% --testfilter=Unity.Netcode.RuntimeTests --reruncount=1 --clean-library-on-rerun + - ./utr --suite=playmode --artifacts_path=artifacts --player-load-path=build/players --player-connection-ip=%BOKKEN_HOST_IP% --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: logs: diff --git a/com.unity.netcode.gameobjects/CHANGELOG.md b/com.unity.netcode.gameobjects/CHANGELOG.md index c20a80df87..73787525e1 100644 --- a/com.unity.netcode.gameobjects/CHANGELOG.md +++ b/com.unity.netcode.gameobjects/CHANGELOG.md @@ -6,17 +6,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) Additional documentation and release notes are available at [Multiplayer Documentation](https://docs-multiplayer.unity3d.com). -## [Unreleased] - -### Added - -### Fixed - -- Fixed issue where a spawned `NetworkObject` that was registered with a prefab handler and owned by a client would invoke destroy more than once on the host-server side if the client disconnected while the `NetworkObject` was still spawned. (#3200) - -### Changed - - ## [2.2.0] - 2024-12-12 ### Added From 59a68e9746cdf83f7d466874edd93967a730ad9c Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 24 Jan 2025 12:24:32 +0100 Subject: [PATCH 21/66] Corrected testfilter option --- .yamato/console-standalone-test.yml | 2 +- .yamato/desktop-standalone-tests.yml | 4 ++-- .yamato/mobile-standalone-test.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.yamato/console-standalone-test.yml b/.yamato/console-standalone-test.yml index f810c84448..16e2dc763a 100644 --- a/.yamato/console-standalone-test.yml +++ b/.yamato/console-standalone-test.yml @@ -28,7 +28,7 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat # Platform specific Build - - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --scripting-backend=il2cpp --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --artifacts_path=build/logs --player-save-path=build/players --testfilter=Unity.Netcode.RuntimeTests --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --scripting-backend=il2cpp --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --artifacts_path=build/logs --player-save-path=build/players --testfilter=Unity.Netcode.RuntimeTests.* --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only variables: # PS4 related diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index de44a98f8c..c00faebf82 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -41,9 +41,9 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Build Player - | {% if platform.name == "win" %} - utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter=Unity.Netcode.RuntimeTests --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter=Unity.Netcode.RuntimeTests.* --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% else %} - ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter=Unity.Netcode.RuntimeTests --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter=Unity.Netcode.RuntimeTests.* --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index b1febb6e29..4501eab469 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -31,11 +31,11 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: {% if platform.base == "win" %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat - python .yamato/disable-burst-if-requested.py --project-path {{ project.path }} --platform {{ platform.name }} - - utr.bat --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only + - utr.bat --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only {% else %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr - chmod +x ./utr - - ./utr --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only + - ./utr --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: logs: From d978eb8b27a1a7ffa34c6d0b77c3a0ecfd41a22d Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 24 Jan 2025 12:37:57 +0100 Subject: [PATCH 22/66] Added testfilter to run phase of standalone desktop tests --- .yamato/desktop-standalone-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index c00faebf82..ca4d266536 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -86,9 +86,9 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + utr.bat --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --testfilter=Unity.Netcode.RuntimeTests.* --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% else %} - ./utr --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + ./utr --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --testfilter=Unity.Netcode.RuntimeTests.* --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: From 660008e901d76b804ba575c9975282137a8f535c Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 24 Jan 2025 12:57:02 +0100 Subject: [PATCH 23/66] modified testfilter to be string --- .yamato/desktop-standalone-tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index ca4d266536..270a2c8a82 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -41,9 +41,9 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Build Player - | {% if platform.name == "win" %} - utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter=Unity.Netcode.RuntimeTests.* --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% else %} - ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter=Unity.Netcode.RuntimeTests.* --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: @@ -86,9 +86,9 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --testfilter=Unity.Netcode.RuntimeTests.* --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + utr.bat --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% else %} - ./utr --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --testfilter=Unity.Netcode.RuntimeTests.* --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + ./utr --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: From 4cc821d8b2b60ab5298ff938bcd75a63e67cdc81 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 24 Jan 2025 13:26:22 +0100 Subject: [PATCH 24/66] Corrected artifacts paths --- .yamato/console-standalone-test.yml | 6 ++---- .yamato/desktop-standalone-tests.yml | 13 +++++-------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/.yamato/console-standalone-test.yml b/.yamato/console-standalone-test.yml index 16e2dc763a..3fb2a770f5 100644 --- a/.yamato/console-standalone-test.yml +++ b/.yamato/console-standalone-test.yml @@ -28,7 +28,7 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat # Platform specific Build - - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --scripting-backend=il2cpp --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --artifacts_path=build/logs --player-save-path=build/players --testfilter=Unity.Netcode.RuntimeTests.* --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --scripting-backend=il2cpp --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --artifacts-path=build/logs --player-save-path=build/players --testfilter=Unity.Netcode.RuntimeTests.* --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only variables: # PS4 related @@ -41,7 +41,6 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: NINTENDO_SDK_ROOT: 'C:\Nintendo\nx_sdk-18_3_0\NintendoSDK' UNITY_NINTENDOSDK_CLI_TOOLS: '${NINTENDO_SDK_ROOT}\Tools\CommandLineTools' artifacts: - logs: paths: - '*.log' - '*.xml' @@ -76,7 +75,7 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat # Platform specific Execution - - utr --suite=playmode -testproject={{ project.path }} --artifacts_path=build/logs --player-load-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun + - utr --suite=playmode -testproject={{ project.path }} --artifacts-path=build/logs --player-load-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun variables: # PS4 related @@ -89,7 +88,6 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: NINTENDO_SDK_ROOT: 'C:\Nintendo\nx_sdk-18_3_0\NintendoSDK' UNITY_NINTENDOSDK_CLI_TOOLS: '${NINTENDO_SDK_ROOT}\Tools\CommandLineTools' artifacts: - logs: paths: - '*.log' - '*.xml' diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index 270a2c8a82..2e8148f051 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -41,18 +41,16 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Build Player - | {% if platform.name == "win" %} - utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% else %} - ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: - players: paths: - build/players/**/* - logs: - paths: - build/logs/**/* + dependencies: - .yamato/project-pack.yml#project_pack_-_{{ project.name }} {% endfor -%} @@ -86,13 +84,12 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% else %} - ./utr --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + ./utr --suite=playmode --player-load-path=build/players --artifacts-path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: - logs: paths: - build/test-results/** dependencies: From 5c0b5783f83b50a5dfeeb8cea647e5d0a8dbbd8e Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 24 Jan 2025 13:26:57 +0100 Subject: [PATCH 25/66] Corrected artifacts paths --- .yamato/console-standalone-test.yml | 6 ++---- .yamato/desktop-standalone-tests.yml | 13 +++++-------- .yamato/mobile-standalone-test.yml | 8 +++----- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/.yamato/console-standalone-test.yml b/.yamato/console-standalone-test.yml index 16e2dc763a..3fb2a770f5 100644 --- a/.yamato/console-standalone-test.yml +++ b/.yamato/console-standalone-test.yml @@ -28,7 +28,7 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat # Platform specific Build - - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --scripting-backend=il2cpp --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --artifacts_path=build/logs --player-save-path=build/players --testfilter=Unity.Netcode.RuntimeTests.* --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --scripting-backend=il2cpp --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --artifacts-path=build/logs --player-save-path=build/players --testfilter=Unity.Netcode.RuntimeTests.* --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only variables: # PS4 related @@ -41,7 +41,6 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: NINTENDO_SDK_ROOT: 'C:\Nintendo\nx_sdk-18_3_0\NintendoSDK' UNITY_NINTENDOSDK_CLI_TOOLS: '${NINTENDO_SDK_ROOT}\Tools\CommandLineTools' artifacts: - logs: paths: - '*.log' - '*.xml' @@ -76,7 +75,7 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat # Platform specific Execution - - utr --suite=playmode -testproject={{ project.path }} --artifacts_path=build/logs --player-load-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun + - utr --suite=playmode -testproject={{ project.path }} --artifacts-path=build/logs --player-load-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun variables: # PS4 related @@ -89,7 +88,6 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: NINTENDO_SDK_ROOT: 'C:\Nintendo\nx_sdk-18_3_0\NintendoSDK' UNITY_NINTENDOSDK_CLI_TOOLS: '${NINTENDO_SDK_ROOT}\Tools\CommandLineTools' artifacts: - logs: paths: - '*.log' - '*.xml' diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index 270a2c8a82..2e8148f051 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -41,18 +41,16 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Build Player - | {% if platform.name == "win" %} - utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% else %} - ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts_path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: - players: paths: - build/players/**/* - logs: - paths: - build/logs/**/* + dependencies: - .yamato/project-pack.yml#project_pack_-_{{ project.name }} {% endfor -%} @@ -86,13 +84,12 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% else %} - ./utr --suite=playmode --player-load-path=build/players --artifacts_path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + ./utr --suite=playmode --player-load-path=build/players --artifacts-path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: - logs: paths: - build/test-results/** dependencies: diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 4501eab469..19164aa895 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -31,14 +31,13 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: {% if platform.base == "win" %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat - python .yamato/disable-burst-if-requested.py --project-path {{ project.path }} --platform {{ platform.name }} - - utr.bat --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only + - utr.bat --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only {% else %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr - chmod +x ./utr - - ./utr --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only + - ./utr --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: - logs: paths: - '*.log' - '*.xml' @@ -88,10 +87,9 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: # Download standalone UnityTestRunner - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr # Run tests - - ./utr --suite=playmode --artifacts_path=artifacts --player-load-path=build/players --player-connection-ip=%BOKKEN_HOST_IP% --reruncount=1 --clean-library-on-rerun + - ./utr --suite=playmode --artifacts-path=artifacts --player-load-path=build/players --player-connection-ip=%BOKKEN_HOST_IP% --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: - logs: paths: - '*.log' - '*.xml' From aaf6f027ac8f3e18fa6a7a88f68bd132f5d0197a Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 24 Jan 2025 13:31:52 +0100 Subject: [PATCH 26/66] Corrected linter indentations --- .yamato/console-standalone-test.yml | 40 ++++++++++++++-------------- .yamato/desktop-standalone-tests.yml | 10 +++---- .yamato/mobile-standalone-test.yml | 22 +++++++-------- 3 files changed, 36 insertions(+), 36 deletions(-) diff --git a/.yamato/console-standalone-test.yml b/.yamato/console-standalone-test.yml index 3fb2a770f5..fdce21bc54 100644 --- a/.yamato/console-standalone-test.yml +++ b/.yamato/console-standalone-test.yml @@ -41,16 +41,16 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: NINTENDO_SDK_ROOT: 'C:\Nintendo\nx_sdk-18_3_0\NintendoSDK' UNITY_NINTENDOSDK_CLI_TOOLS: '${NINTENDO_SDK_ROOT}\Tools\CommandLineTools' artifacts: - paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - {{ project.name }}/Logs/** - - {{ project.name }}/Library/*.log - - {{ project.name }}/*.log - - {{ project.name }}/Builds/*.log - - build/test-results/** - - build/players/** + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - {{ project.name }}/Logs/** + - {{ project.name }}/Library/*.log + - {{ project.name }}/*.log + - {{ project.name }}/Builds/*.log + - build/test-results/** + - build/players/** {% endfor -%} {% endfor -%} {% endfor -%} @@ -88,16 +88,16 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: NINTENDO_SDK_ROOT: 'C:\Nintendo\nx_sdk-18_3_0\NintendoSDK' UNITY_NINTENDOSDK_CLI_TOOLS: '${NINTENDO_SDK_ROOT}\Tools\CommandLineTools' artifacts: - paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - {{ project.name }}/Logs/** - - {{ project.name }}/Library/*.log - - {{ project.name }}/*.log - - {{ project.name }}/Builds/*.log - - build/test-results/** - - build/players/** + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - {{ project.name }}/Logs/** + - {{ project.name }}/Library/*.log + - {{ project.name }}/*.log + - {{ project.name }}/Builds/*.log + - build/test-results/** + - build/players/** dependencies: - .yamato/console-standalone-test.yml#build_{{ project.name }}_{{ platform.name }}_{{ editor }} {% endfor -%} diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index 2e8148f051..a2ece4a721 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -47,9 +47,9 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ {% endif %} artifacts: - paths: - - build/players/**/* - - build/logs/**/* + paths: + - build/players/**/* + - build/logs/**/* dependencies: - .yamato/project-pack.yml#project_pack_-_{{ project.name }} @@ -90,8 +90,8 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ {% endif %} artifacts: - paths: - - build/test-results/** + paths: + - build/test-results/** dependencies: - .yamato/desktop-standalone-tests.yml#desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} {% endfor -%} diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 19164aa895..67b30d3764 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -38,7 +38,7 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: - ./utr --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: - paths: + paths: - '*.log' - '*.xml' - artifacts/**/* @@ -90,16 +90,16 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: - ./utr --suite=playmode --artifacts-path=artifacts --player-load-path=build/players --player-connection-ip=%BOKKEN_HOST_IP% --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: - paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - {{ project.name }}/Logs/** - - {{ project.name }}/Library/*.log - - {{ project.name }}/*.log - - {{ project.name }}/Builds/*.log - - build/test-results/** - - build/players/** + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - {{ project.name }}/Logs/** + - {{ project.name }}/Library/*.log + - {{ project.name }}/*.log + - {{ project.name }}/Builds/*.log + - build/test-results/** + - build/players/** dependencies: - .yamato/mobile-standalone-test.yml#build_{{ project.name }}_{{ platform.name }}_{{ editor }} {% endfor -%} From f472c554c65bce3985a1fd4222f80bb0f444c335 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 24 Jan 2025 13:49:11 +0100 Subject: [PATCH 27/66] artifacts correction --- .yamato/console-standalone-test.yml | 11 ++++++---- .yamato/desktop-standalone-tests.yml | 12 +++++++---- .yamato/mobile-standalone-test.yml | 31 +++++++++++++++------------- 3 files changed, 32 insertions(+), 22 deletions(-) diff --git a/.yamato/console-standalone-test.yml b/.yamato/console-standalone-test.yml index fdce21bc54..b0aad46135 100644 --- a/.yamato/console-standalone-test.yml +++ b/.yamato/console-standalone-test.yml @@ -41,7 +41,8 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: NINTENDO_SDK_ROOT: 'C:\Nintendo\nx_sdk-18_3_0\NintendoSDK' UNITY_NINTENDOSDK_CLI_TOOLS: '${NINTENDO_SDK_ROOT}\Tools\CommandLineTools' artifacts: - paths: + logs: + paths: - '*.log' - '*.xml' - artifacts/**/* @@ -50,7 +51,9 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: - {{ project.name }}/*.log - {{ project.name }}/Builds/*.log - build/test-results/** - - build/players/** + players: + paths: + - build/players/** {% endfor -%} {% endfor -%} {% endfor -%} @@ -88,7 +91,8 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: NINTENDO_SDK_ROOT: 'C:\Nintendo\nx_sdk-18_3_0\NintendoSDK' UNITY_NINTENDOSDK_CLI_TOOLS: '${NINTENDO_SDK_ROOT}\Tools\CommandLineTools' artifacts: - paths: + logs: + paths: - '*.log' - '*.xml' - artifacts/**/* @@ -97,7 +101,6 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: - {{ project.name }}/*.log - {{ project.name }}/Builds/*.log - build/test-results/** - - build/players/** dependencies: - .yamato/console-standalone-test.yml#build_{{ project.name }}_{{ platform.name }}_{{ editor }} {% endfor -%} diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index a2ece4a721..7945b72154 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -47,9 +47,12 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ {% endif %} artifacts: - paths: - - build/players/**/* + logs: + paths: - build/logs/**/* + players: + paths: + - build/players/**/* dependencies: - .yamato/project-pack.yml#project_pack_-_{{ project.name }} @@ -90,8 +93,9 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ {% endif %} artifacts: - paths: - - build/test-results/** + logs: + paths: + - build/test-results/** dependencies: - .yamato/desktop-standalone-tests.yml#desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} {% endfor -%} diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 67b30d3764..294609a224 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -31,14 +31,15 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: {% if platform.base == "win" %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat - python .yamato/disable-burst-if-requested.py --project-path {{ project.path }} --platform {{ platform.name }} - - utr.bat --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only + - utr.bat --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only {% else %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr - chmod +x ./utr - - ./utr --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only + - ./utr --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: - paths: + logs: + paths: - '*.log' - '*.xml' - artifacts/**/* @@ -48,7 +49,9 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: - {{ project.name }}/Builds/*.log - build/test-results/** - artifacts/** - - build/players/** + players: + paths: + - build/players/** variables: CI: true ENABLE_BURST_COMPILATION: False @@ -90,16 +93,16 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: - ./utr --suite=playmode --artifacts-path=artifacts --player-load-path=build/players --player-connection-ip=%BOKKEN_HOST_IP% --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: - paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - {{ project.name }}/Logs/** - - {{ project.name }}/Library/*.log - - {{ project.name }}/*.log - - {{ project.name }}/Builds/*.log - - build/test-results/** - - build/players/** + logs: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - {{ project.name }}/Logs/** + - {{ project.name }}/Library/*.log + - {{ project.name }}/*.log + - {{ project.name }}/Builds/*.log + - build/test-results/** dependencies: - .yamato/mobile-standalone-test.yml#build_{{ project.name }}_{{ platform.name }}_{{ editor }} {% endfor -%} From 0311ff51a8ebead15ff60903b4c912fdd88f3ac2 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 24 Jan 2025 14:24:13 +0100 Subject: [PATCH 28/66] Refactored artifacts for desktop standalone test --- .yamato/desktop-standalone-tests.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index 7945b72154..f6b4aa6cb7 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -41,18 +41,18 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Build Player - | {% if platform.name == "win" %} - utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=logs/build --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% else %} - ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=build/logs --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=logs/build --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: logs: paths: - - build/logs/**/* - players: + - build/**/* + build: paths: - - build/players/**/* + - players/**/* dependencies: - .yamato/project-pack.yml#project_pack_-_{{ project.name }} @@ -87,15 +87,15 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% else %} - ./utr --suite=playmode --player-load-path=build/players --artifacts-path=build/test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + ./utr --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: logs: paths: - - build/test-results/** + - test-results/** dependencies: - .yamato/desktop-standalone-tests.yml#desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} {% endfor -%} From 87134edbe74bb9dd8c1ec5932b94c5a3f991a2eb Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 24 Jan 2025 15:42:48 +0100 Subject: [PATCH 29/66] Corrected paths for a test in standalone build --- .yamato/desktop-standalone-tests.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index f6b4aa6cb7..c87bd6feef 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -41,15 +41,15 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Build Player - | {% if platform.name == "win" %} - utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=logs/build --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=players --artifacts-path=build --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% else %} - ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=logs/build --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=players --artifacts-path=build --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: logs: paths: - - build/**/* + - build/**/* build: paths: - players/**/* @@ -87,9 +87,9 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + utr.bat --suite=playmode --player-load-path=players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% else %} - ./utr --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + ./utr --suite=playmode --player-load-path=players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: From 66969cf7efd98a6e5d536a79ab1aa79013ed001f Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 24 Jan 2025 16:19:29 +0100 Subject: [PATCH 30/66] corrected build load path --- .yamato/desktop-standalone-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index c87bd6feef..36995effb2 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -87,9 +87,9 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --player-load-path=players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% else %} - ./utr --suite=playmode --player-load-path=players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + ./utr --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: From 824a58c1d30bbe6676db810e141e247ad30907f4 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Tue, 28 Jan 2025 15:32:21 +0100 Subject: [PATCH 31/66] Corrected keys in artifacts for desktop standalone jobs --- .yamato/desktop-standalone-tests.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index 36995effb2..13dcf7b497 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -41,18 +41,18 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Build Player - | {% if platform.name == "win" %} - utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=players --artifacts-path=build --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=artifacts --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% else %} - ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=players --artifacts-path=build --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=artifacts --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only {% endif %} artifacts: - logs: + players: paths: - - build/**/* - build: + - "build/players/**" + logs: paths: - - players/**/* + - "artifacts/**" dependencies: - .yamato/project-pack.yml#project_pack_-_{{ project.name }} @@ -87,15 +87,15 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% else %} - ./utr --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --testfilter="Unity.Netcode.RuntimeTests.*" --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + ./utr --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun {% endif %} artifacts: logs: paths: - - test-results/** + - "test-results/**" dependencies: - .yamato/desktop-standalone-tests.yml#desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} {% endfor -%} From 7ae40b3f7811609665d373d75b5de903036f9bfe Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 29 Jan 2025 12:40:50 +0100 Subject: [PATCH 32/66] Downloading editor for run tests phase on desktop standalone --- .yamato/desktop-standalone-tests.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index 13dcf7b497..a063f742a7 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -41,9 +41,9 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ # Build Player - | {% if platform.name == "win" %} - utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=artifacts --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + utr.bat --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=artifacts --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only --timeout=1800 {% else %} - ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=artifacts --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + ./utr --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --testproject={{ project.path }} --scripting-backend={{ backend }} --testfilter="Unity.Netcode.RuntimeTests.*" --player-save-path=build/players --artifacts-path=artifacts --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only --timeout=1800 {% endif %} artifacts: @@ -83,13 +83,15 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ {% else %} curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr {% endif %} + + - unity-downloader-cli -u {{ editor }} -c Editor {% if backend == "il2cpp" %} -c il2cpp {% endif %} --fast --wait # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --playergraphicsapi=Null --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 {% else %} - ./utr --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --playergraphicsapi=Null --reruncount=1 --clean-library-on-rerun + ./utr --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --playergraphicsapi=Null --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 {% endif %} artifacts: From b0f8ee312619c6911be5f55edb605963762ea233 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 29 Jan 2025 13:14:19 +0100 Subject: [PATCH 33/66] Updated build and test configuration for all standalone tests --- .yamato/console-standalone-test.yml | 30 ++++++-------------- .yamato/desktop-standalone-tests.yml | 11 ++++---- .yamato/mobile-standalone-test.yml | 42 +++++++++++----------------- .yamato/webgl-build.yml | 15 +++------- 4 files changed, 36 insertions(+), 62 deletions(-) diff --git a/.yamato/console-standalone-test.yml b/.yamato/console-standalone-test.yml index b0aad46135..2d5ca4861e 100644 --- a/.yamato/console-standalone-test.yml +++ b/.yamato/console-standalone-test.yml @@ -28,7 +28,7 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat # Platform specific Build - - utr --testproject={{ project.path }} architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --scripting-backend=il2cpp --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --artifacts-path=build/logs --player-save-path=build/players --testfilter=Unity.Netcode.RuntimeTests.* --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + - utr --testproject={{ project.path }} --architecture={% if platform.name == "switch" %}arm64{% else %}x64{% endif %} --scripting-backend=il2cpp --suite=playmode --platform={{ platform.standalone }} --editor-location=.Editor --artifacts-path=artifacts --player-save-path=build/players --testfilter="Unity.Netcode.RuntimeTests.*" --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only --timeout=1800 variables: # PS4 related @@ -41,19 +41,12 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: NINTENDO_SDK_ROOT: 'C:\Nintendo\nx_sdk-18_3_0\NintendoSDK' UNITY_NINTENDOSDK_CLI_TOOLS: '${NINTENDO_SDK_ROOT}\Tools\CommandLineTools' artifacts: - logs: - paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - {{ project.name }}/Logs/** - - {{ project.name }}/Library/*.log - - {{ project.name }}/*.log - - {{ project.name }}/Builds/*.log - - build/test-results/** players: paths: - - build/players/** + - "build/players/**/*" + logs: + paths: + - "artifacts/**/*" {% endfor -%} {% endfor -%} {% endfor -%} @@ -75,10 +68,12 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: {% endif %} commands: # Installing tools. + - sudo pip install unity-downloader-cli + - unity-downloader-cli -u {{ editor }} -c Editor -c il2cpp -c {{ platform.name }} --fast --wait - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat # Platform specific Execution - - utr --suite=playmode -testproject={{ project.path }} --artifacts-path=build/logs --player-load-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun + - utr --suite=playmode --testproject={{ project.path }} --editor-location=.Editor --artifacts-path=test-results --player-load-path=build/players --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 variables: # PS4 related @@ -93,14 +88,7 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: artifacts: logs: paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - {{ project.name }}/Logs/** - - {{ project.name }}/Library/*.log - - {{ project.name }}/*.log - - {{ project.name }}/Builds/*.log - - build/test-results/** + - "test-results/**/*" dependencies: - .yamato/console-standalone-test.yml#build_{{ project.name }}_{{ platform.name }}_{{ editor }} {% endfor -%} diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index a063f742a7..91f9ff40b3 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -49,10 +49,10 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ artifacts: players: paths: - - "build/players/**" + - "build/players/**/*" logs: paths: - - "artifacts/**" + - "artifacts/**/*" dependencies: - .yamato/project-pack.yml#project_pack_-_{{ project.name }} @@ -83,21 +83,22 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ {% else %} curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr {% endif %} + - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple - unity-downloader-cli -u {{ editor }} -c Editor {% if backend == "il2cpp" %} -c il2cpp {% endif %} --fast --wait # Run Standalone tests - | {% if platform.name == "win" %} - utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --playergraphicsapi=Null --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 + utr.bat --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --editor-location=.Editor --playergraphicsapi=Null --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 {% else %} - ./utr --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --playergraphicsapi=Null --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 + ./utr --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --editor-location=.Editor --playergraphicsapi=Null --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 {% endif %} artifacts: logs: paths: - - "test-results/**" + - "test-results/**/*" dependencies: - .yamato/desktop-standalone-tests.yml#desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }} {% endfor -%} diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 294609a224..fe1ce98d92 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -31,27 +31,20 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: {% if platform.base == "win" %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat - python .yamato/disable-burst-if-requested.py --project-path {{ project.path }} --platform {{ platform.name }} - - utr.bat --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only + - utr.bat --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 {% else %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr - chmod +x ./utr - - ./utr --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 --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun --build-only + - ./utr --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 {% endif %} artifacts: - logs: - paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - {{ project.name }}/Logs/** - - {{ project.name }}/Library/*.log - - {{ project.name }}/*.log - - {{ project.name }}/Builds/*.log - - build/test-results/** - - artifacts/** players: paths: - - build/players/** + - "build/players/**/*" + logs: + paths: + - "artifacts/**/*" + variables: CI: true ENABLE_BURST_COMPILATION: False @@ -75,7 +68,13 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: {% endif %} # Skip repository cloning skip_checkout: true - commands: + commands: + # Installing tools + - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple + + # Installing editor. We still need the editor to run tests on standalone build + - unity-downloader-cli -u {{ editor }} -c Editor -c il2cpp {% if platform.base == "mac" %} -c ios {% else %} -c android {% endif %} --fast --wait + {% if platform.standalone == "Android" %} # Download standalone UnityTestRunner - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat @@ -85,24 +84,17 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: set ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices - utr --suite=playmode --artifacts_path=artifacts --player-load-path=build/players --player-connection-ip=%BOKKEN_HOST_IP% --reruncount=1 --clean-library-on-rerun + utr --suite=playmode --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 {% else %} # Download standalone UnityTestRunner - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr # Run tests - - ./utr --suite=playmode --artifacts-path=artifacts --player-load-path=build/players --player-connection-ip=%BOKKEN_HOST_IP% --reruncount=1 --clean-library-on-rerun + - ./utr --suite=playmode --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 {% endif %} artifacts: logs: paths: - - '*.log' - - '*.xml' - - artifacts/**/* - - {{ project.name }}/Logs/** - - {{ project.name }}/Library/*.log - - {{ project.name }}/*.log - - {{ project.name }}/Builds/*.log - - build/test-results/** + - "test-results/**/*" dependencies: - .yamato/mobile-standalone-test.yml#build_{{ project.name }}_{{ platform.name }}_{{ editor }} {% endfor -%} diff --git a/.yamato/webgl-build.yml b/.yamato/webgl-build.yml index 7e1e564e15..cb78bdb3ba 100644 --- a/.yamato/webgl-build.yml +++ b/.yamato/webgl-build.yml @@ -38,23 +38,16 @@ webgl_build_{{ project.name }}_{{ platform }}_{{ editor }}: # Build Player - | {% if platform.name == "win" %} - utr.bat --suite=playmode --platform=WebGL --scripting-backend=il2cpp --testproject={{ project.path }} --editor-location=.Editor --artifacts_path=build/test-results --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg="-cloudEnvironment staging" --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + utr.bat --suite=playmode --platform=WebGL --scripting-backend=il2cpp --testproject={{ project.path }} --editor-location=.Editor --artifacts_path=artifacts --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg="-cloudEnvironment staging" --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only --timeout=1800 {% else %} - ./utr --suite=playmode --platform=WebGL --scripting-backend=il2cpp --testproject={{ project.path }} --editor-location=.Editor --artifacts_path=build/test-results --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg="-cloudEnvironment staging" --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only + ./utr --suite=playmode --platform=WebGL --scripting-backend=il2cpp --testproject={{ project.path }} --editor-location=.Editor --artifacts-path=artifacts --player-save-path=build/players --extra-editor-arg=-batchmode --extra-editor-arg="-cloudEnvironment staging" --extra-editor-arg=-nographics --reruncount=1 --clean-library-on-rerun --build-only --timeout=1800 {% endif %} artifacts: logs: paths: - - '*.log' - - '*.xml' - - {{ project.path }}/Logs/** - - {{ project.path }}/Library/*.log - - {{ project.path }}/*.log - - {{ project.path }}/Builds/*.log - - build/test-results/**/* - - build/players/** - - artifacts/**/* + - "artifacts/**/*" + - "build/players/**/*" variables: CI: true ENABLE_BURST_COMPILATION: False From 2426239528f2534de53270aca017ff4dcc53c595 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 29 Jan 2025 19:22:15 +0100 Subject: [PATCH 34/66] Created project-updated-dependencies test together with badges update and badge nightly trigger --- .yamato/_triggers.yml | 14 ++++- .yamato/project-updated-dependencies-test.yml | 54 +++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 .yamato/project-updated-dependencies-test.yml diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index c1c82f90cb..2c9ae92b0d 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -83,4 +83,16 @@ develop_weekly_trunk: # Build player for webgl platform on trunk - .yamato/_run-all.yml#run_all_webgl_builds # Run code coverage test - - .yamato/code-coverage.yml#code_coverage_ubuntu_trunk \ No newline at end of file + - .yamato/code-coverage.yml#code_coverage_ubuntu_trunk + +# Run all Github badges updates on nightly basis. +badges_nightly: + name: "\U0001F319 [Nightly] Run All Badges (izion) Updates" + triggers: + recurring: + - branch: develop-2.0.0 + frequency: daily + rerun: always + dependencies: + # Run updated dependencies badges + - .yamato/project-updated-dependencies-test.yml#updated-dependency_badges_testproject \ No newline at end of file diff --git a/.yamato/project-updated-dependencies-test.yml b/.yamato/project-updated-dependencies-test.yml new file mode 100644 index 0000000000..310a412aff --- /dev/null +++ b/.yamato/project-updated-dependencies-test.yml @@ -0,0 +1,54 @@ +{% metadata_file .yamato/project.metafile %} +--- + +# Executes package tests for each package referenced in the project using the newest compatible version of the package dependencies. +# This is just to ensure that no critical change is made. It will be run on a default editor and default platform (it can be discussed if we should run it per all editors and platforms) +{% for project in projects.default -%} +{% for platform in test_platforms.default -%} +{% for editor in validation_editors.default -%} +updated-dependencies_{{ project.name }}_NGO_{{ platform.name }}_{{ editor }}: + name : Updated Dependencies Test - NGO {{ project.name }} [{{ platform.name }}, {{ editor }}] + agent: + type: {{ platform.type }} + image: {{ platform.image }} + flavor: {{ platform.flavor }} + commands: + - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + - upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type updated-dependencies-tests --package-filter com.unity.netcode.gameobjects + artifacts: + logs: + paths: + - "upm-ci~/test-results/**/*" + dependencies: + - path: .yamato/project-pack.yml#project_pack_-_{{ project.name }} + rerun: always +{% endfor -%} +{% endfor -%} +{% endfor -%} + + +{% for project in projects.default -%} +{% for platform in test_platforms.default -%} +updated-dependency_badges_{{ project.name }}: + name: Badges for Updated Dependencies Test - NGO {{ project.name }} [{{ platform.name }}, {{ editor }}] + agent: + type: {{ platform.type }} + image: {{ platform.image }} + flavor: {{ platform.flavor }} + commands: + - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + - upm-ci project izon -d --project-path {{ projects.default.path }} + artifacts: + logs: + paths: + - "upm-ci~/test-results/**/*" + dependencies: +{% for platform in test_platforms.default -%} +{% for project in projects.default -%} +{% for editor in validation_editors.default -%} + - .yamato/project-updated-dependencies-test.yml#updated-dependencies_{{ project.name }}_NGO_{{ platform.name }}_{{ editor }} +{% endfor -%} +{% endfor -%} +{% endfor -%} +{% endfor -%} +{% endfor -%} \ No newline at end of file From a938f780b461273d7558469b39ec7e2b840380bf Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Thu, 30 Jan 2025 10:36:30 +0100 Subject: [PATCH 35/66] Rmoved badges usage since it's discontinued. Added platform argument for mobiles --- .yamato/_triggers.yml | 14 +------------- .yamato/mobile-standalone-test.yml | 4 ++-- .yamato/performance-tests.yml | 4 ++-- .yamato/project-updated-dependencies-test.yml | 4 +++- 4 files changed, 8 insertions(+), 18 deletions(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index 2c9ae92b0d..c1c82f90cb 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -83,16 +83,4 @@ develop_weekly_trunk: # Build player for webgl platform on trunk - .yamato/_run-all.yml#run_all_webgl_builds # Run code coverage test - - .yamato/code-coverage.yml#code_coverage_ubuntu_trunk - -# Run all Github badges updates on nightly basis. -badges_nightly: - name: "\U0001F319 [Nightly] Run All Badges (izion) Updates" - triggers: - recurring: - - branch: develop-2.0.0 - frequency: daily - rerun: always - dependencies: - # Run updated dependencies badges - - .yamato/project-updated-dependencies-test.yml#updated-dependency_badges_testproject \ No newline at end of file + - .yamato/code-coverage.yml#code_coverage_ubuntu_trunk \ No newline at end of file diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index fe1ce98d92..b2d59ccef7 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -84,12 +84,12 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: set ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices - utr --suite=playmode --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 + utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 {% else %} # Download standalone UnityTestRunner - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr # Run tests - - ./utr --suite=playmode --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 + - ./utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 {% endif %} artifacts: logs: diff --git a/.yamato/performance-tests.yml b/.yamato/performance-tests.yml index f28ec2b139..abdbef444e 100644 --- a/.yamato/performance-tests.yml +++ b/.yamato/performance-tests.yml @@ -34,9 +34,9 @@ performance_editor_tests_-_NGO_{{ platform.name }}_{{ editor }}_no_data_reportin # Build Player - | {% if platform.name == "win" %} - utr.bat --suite=editor --testproject={{ project.path }} --editor-location=.Editor --timeout=3600 --artifacts-path=artifacts --extra-editor-arg=-assemblyNames --extra-editor-arg=Unity.NetCode.* --extra-editor-arg=-testCategory --extra-editor-arg=Performance --extra-editor-arg=-enablePackageManagerTraces --reruncount=1 --clean-library-on-rerun --dontreportperformancedata + utr.bat --suite=editor --suite=playmode --testproject={{ project.path }} --editor-location=.Editor --timeout=3600 --artifacts-path=artifacts --extra-editor-arg=-assemblyNames --extra-editor-arg=Unity.NetCode.* --extra-editor-arg=-testCategory --extra-editor-arg=Performance --extra-editor-arg=-enablePackageManagerTraces --reruncount=1 --clean-library-on-rerun --dontreportperformancedata {% else %} - ./utr --suite=editor --testproject={{ project.path }} --editor-location=.Editor --timeout=3600 --artifacts-path=artifacts --extra-editor-arg=-assemblyNames --extra-editor-arg=Unity.NetCode.* --extra-editor-arg=-testCategory --extra-editor-arg=Performance --extra-editor-arg=-enablePackageManagerTraces --reruncount=1 --clean-library-on-rerun --dontreportperformancedata + ./utr --suite=editor --suite=playmode --testproject={{ project.path }} --editor-location=.Editor --timeout=3600 --artifacts-path=artifacts --extra-editor-arg=-assemblyNames --extra-editor-arg=Unity.NetCode.* --extra-editor-arg=-testCategory --extra-editor-arg=Performance --extra-editor-arg=-enablePackageManagerTraces --reruncount=1 --clean-library-on-rerun --dontreportperformancedata {% endif %} artifacts: diff --git a/.yamato/project-updated-dependencies-test.yml b/.yamato/project-updated-dependencies-test.yml index 310a412aff..75b6c47483 100644 --- a/.yamato/project-updated-dependencies-test.yml +++ b/.yamato/project-updated-dependencies-test.yml @@ -29,6 +29,7 @@ updated-dependencies_{{ project.name }}_NGO_{{ platform.name }}_{{ editor }}: {% for project in projects.default -%} {% for platform in test_platforms.default -%} +{% for editor in validation_editors.default -%} updated-dependency_badges_{{ project.name }}: name: Badges for Updated Dependencies Test - NGO {{ project.name }} [{{ platform.name }}, {{ editor }}] agent: @@ -37,7 +38,7 @@ updated-dependency_badges_{{ project.name }}: flavor: {{ platform.flavor }} commands: - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci project izon -d --project-path {{ projects.default.path }} + - upm-ci project izon -d --project-path {{ project.path }} artifacts: logs: paths: @@ -51,4 +52,5 @@ updated-dependency_badges_{{ project.name }}: {% endfor -%} {% endfor -%} {% endfor -%} +{% endfor -%} {% endfor -%} \ No newline at end of file From 9d9b6a82b56abdc974b4b8d634c4eeea8d8e556b Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Thu, 30 Jan 2025 10:46:55 +0100 Subject: [PATCH 36/66] Removed usage of disable-burst-if-requested file (AoT compilation related) --- .yamato/disable-burst-if-requested.py | 4 ++++ .yamato/mobile-standalone-test.yml | 1 - .yamato/webgl-build.yml | 3 --- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.yamato/disable-burst-if-requested.py b/.yamato/disable-burst-if-requested.py index fa53669944..edf84d3f26 100644 --- a/.yamato/disable-burst-if-requested.py +++ b/.yamato/disable-burst-if-requested.py @@ -1,3 +1,7 @@ +# This file was used before for mobiles and Webgl but was removed (around end of January 2025). The file itself was left here for now in case we would need to use it. +# This Python script is used to manage Burst AOT (Ahead-Of-Time) compilation settings for Unity builds. +# An example usage would be "- python .yamato/disable-burst-if-requested.py --project-path {{ project.path }} --platform WebGL" + import argparse import json import os diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index b2d59ccef7..d5ed61ef54 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -30,7 +30,6 @@ build_{{ project.name }}_{{ platform.name }}_{{ editor }}: # Platform specific Build {% if platform.base == "win" %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat - - python .yamato/disable-burst-if-requested.py --project-path {{ project.path }} --platform {{ platform.name }} - utr.bat --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 {% else %} - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr diff --git a/.yamato/webgl-build.yml b/.yamato/webgl-build.yml index cb78bdb3ba..15db4b16ec 100644 --- a/.yamato/webgl-build.yml +++ b/.yamato/webgl-build.yml @@ -29,9 +29,6 @@ webgl_build_{{ project.name }}_{{ platform }}_{{ editor }}: curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr {% endif %} - # Disabling Burst - - python .yamato/disable-burst-if-requested.py --project-path {{ project.path }} --platform WebGL - # Installing editor - unity-downloader-cli -u {{ editor }} -c Editor -c webgl -c il2cpp -w --fast From 78884ae89865ef6d4b00bf74f7e6f93ad911ed3a Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Thu, 30 Jan 2025 12:56:23 +0100 Subject: [PATCH 37/66] Removed last badges izon test since izon was decommissioned. Removed unused argument for iOS and extended timeout for mobiles. . Disabled instable job on mobiles --- .yamato/mobile-standalone-test.yml | 4 +-- .yamato/project-updated-dependencies-test.yml | 29 ------------------- .../NetworkVariable/NetworkVariableTests.cs | 1 + 3 files changed, 3 insertions(+), 31 deletions(-) diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index d5ed61ef54..14d72c78c2 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -83,12 +83,12 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: set ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices - utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 + utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 {% else %} # Download standalone UnityTestRunner - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr # Run tests - - ./utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800 + - ./utr --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 {% endif %} artifacts: logs: diff --git a/.yamato/project-updated-dependencies-test.yml b/.yamato/project-updated-dependencies-test.yml index 75b6c47483..b3857995a1 100644 --- a/.yamato/project-updated-dependencies-test.yml +++ b/.yamato/project-updated-dependencies-test.yml @@ -25,32 +25,3 @@ updated-dependencies_{{ project.name }}_NGO_{{ platform.name }}_{{ editor }}: {% endfor -%} {% endfor -%} {% endfor -%} - - -{% for project in projects.default -%} -{% for platform in test_platforms.default -%} -{% for editor in validation_editors.default -%} -updated-dependency_badges_{{ project.name }}: - name: Badges for Updated Dependencies Test - NGO {{ project.name }} [{{ platform.name }}, {{ editor }}] - agent: - type: {{ platform.type }} - image: {{ platform.image }} - flavor: {{ platform.flavor }} - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci project izon -d --project-path {{ project.path }} - artifacts: - logs: - paths: - - "upm-ci~/test-results/**/*" - dependencies: -{% for platform in test_platforms.default -%} -{% for project in projects.default -%} -{% for editor in validation_editors.default -%} - - .yamato/project-updated-dependencies-test.yml#updated-dependencies_{{ project.name }}_NGO_{{ platform.name }}_{{ editor }} -{% endfor -%} -{% endfor -%} -{% endfor -%} -{% endfor -%} -{% endfor -%} -{% endfor -%} \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs index a67be4de26..1bc057cf1e 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs @@ -2953,6 +2953,7 @@ public void WhenSerializingAndDeserializingVeryLargeHashSetNetworkVariables_Valu } [Test] + [UnityPlatform(exclude = new[] { RuntimePlatform.Android, RuntimePlatform.IPhonePlayer })] // I will add this test to track in Jira as next step (after having working CI in place). The job is unstable on mobile devices [Repeat(5)] public void WhenSerializingAndDeserializingVeryLargeDictionaryNetworkVariables_ValuesAreSerializedCorrectly( From 2f9ac90d2a7c234ab4ae453f1baf927dbe49757f Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Thu, 30 Jan 2025 13:01:20 +0100 Subject: [PATCH 38/66] added updated-dependencies test to nightly trigger --- .yamato/_triggers.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index c1c82f90cb..cec26dc211 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -54,6 +54,8 @@ develop_nightly: - .yamato/_run-all.yml#run_all_project_tests_console_standalone_trunk # Build player for webgl platform on trunk - .yamato/_run-all.yml#run_all_webgl_builds_trunk + # Build player for webgl platform on trunk + - .yamato/project-updated-dependencies-test.yml#updated-dependencies_testproject_NGO_ubuntu_trunk # Run all tests on weekly bases From 49e2cd1e8d2c888aba5da80e6cbaba236971a2ec Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 31 Jan 2025 09:46:32 +0100 Subject: [PATCH 39/66] Removed android arm64 configuration --- .yamato/mobile-standalone-test.yml | 10 ++++------ .yamato/project.metafile | 15 +++------------ 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 14d72c78c2..69418cba5f 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -73,20 +73,18 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: # Installing editor. We still need the editor to run tests on standalone build - unity-downloader-cli -u {{ editor }} -c Editor -c il2cpp {% if platform.base == "mac" %} -c ios {% else %} -c android {% endif %} --fast --wait + + # Download standalone UnityTestRunner + - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr {% if platform.standalone == "Android" %} - # Download standalone UnityTestRunner - - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat - # Connect to Android device and run tests - | set ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices - utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 + ./utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 {% else %} - # Download standalone UnityTestRunner - - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr # Run tests - ./utr --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 {% endif %} diff --git a/.yamato/project.metafile b/.yamato/project.metafile index af9a240d15..169bed3409 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -59,22 +59,13 @@ test_platforms: base: mac architecture: arm64 mobile_test: - - name: android-armV7 + - name: android type: Unity::mobile::shield - image: package-ci/win10:v4 + image: package-ci/ubuntu-22.04:v4 flavor: b1.large - model: ShieldPro standalone: Android - base: win + base: ubuntu architecture: armv7 - - name: android-arm64 - type: Unity::mobile::shield - image: package-ci/win11-arm64:v4 - flavor: b1.large - model: ShieldPro - standalone: Android - base: win - architecture: arm64 - name: ios-arm64 type: Unity::mobile::iPhone image: package-ci/macos-13-arm64:v4 From 9a78699f6d33ab8daf7e087f62609304ba405fff Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 31 Jan 2025 09:48:15 +0100 Subject: [PATCH 40/66] corrected metafile with similar removal of android arm64 build --- .yamato/project.metafile | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.yamato/project.metafile b/.yamato/project.metafile index 169bed3409..0d7cc52781 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -36,20 +36,13 @@ test_platforms: standalone: StandaloneOSX # For mobile devices there is a split between the build and run phase so there is a need of splitting specification for both mobile_build: - - name: android-armV7 + - name: android type: Unity::VM image: package-ci/win10:v4 flavor: b1.large standalone: Android base: win architecture: armv7 - - name: android-arm64 - type: Unity::VM - image: package-ci/win11:v4 - flavor: b1.large - standalone: Android - base: win - architecture: arm64 # iOS modern builds are ARM64-only, thus no testing with armv7 (as in android case) - name: ios-arm64 type: Unity::VM::osx From b9e79123ddf0dff624c8893555b21a8821dbea49 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 31 Jan 2025 10:59:56 +0100 Subject: [PATCH 41/66] Corrected configuration for android run on ubuntu --- .yamato/mobile-standalone-test.yml | 7 ++++--- .yamato/project.metafile | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 69418cba5f..4ec93967bb 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -80,9 +80,10 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: {% if platform.standalone == "Android" %} # Connect to Android device and run tests - | - set ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% - start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% - start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices + export ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% + adb connect %BOKKEN_DEVICE_IP% + adb wait-for-device + adb devices ./utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 {% else %} # Run tests diff --git a/.yamato/project.metafile b/.yamato/project.metafile index 0d7cc52781..071bf7b038 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -56,6 +56,7 @@ test_platforms: type: Unity::mobile::shield image: package-ci/ubuntu-22.04:v4 flavor: b1.large + model: ShieldPro standalone: Android base: ubuntu architecture: armv7 From 5ba0c426d20a3df46dc41bfa6a1b2496f3f1eb1e Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Tue, 4 Feb 2025 11:22:30 +0100 Subject: [PATCH 42/66] Corrected Android adb connection and disabled test for IOS --- .yamato/mobile-standalone-test.yml | 3 +-- .../Tests/Runtime/NetworkVariable/NetworkVariableTests.cs | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 4ec93967bb..f1dc39ad77 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -80,8 +80,7 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: {% if platform.standalone == "Android" %} # Connect to Android device and run tests - | - export ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% - adb connect %BOKKEN_DEVICE_IP% + adb connect $BOKKEN_DEVICE_IP adb wait-for-device adb devices ./utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs index 1bc057cf1e..5131bbe590 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs @@ -2798,6 +2798,7 @@ public void WhenSerializingAndDeserializingVeryLargeListNetworkVariables_ValuesA } [Test] + [UnityPlatform(exclude = new[] { RuntimePlatform.IPhonePlayer })] // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on iOS [Repeat(5)] public void WhenSerializingAndDeserializingVeryLargeHashSetNetworkVariables_ValuesAreSerializedCorrectly( From 643257dbcf145cdeba82ac1636b3ecef34448342 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Tue, 4 Feb 2025 12:54:58 +0100 Subject: [PATCH 43/66] Reverted android test to be windows image based --- .yamato/mobile-standalone-test.yml | 5 ++--- .yamato/project.metafile | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index f1dc39ad77..0af34f0017 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -80,9 +80,8 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: {% if platform.standalone == "Android" %} # Connect to Android device and run tests - | - adb connect $BOKKEN_DEVICE_IP - adb wait-for-device - adb devices + start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% + start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices ./utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 {% else %} # Run tests diff --git a/.yamato/project.metafile b/.yamato/project.metafile index 071bf7b038..a26fdcf84b 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -54,11 +54,11 @@ test_platforms: mobile_test: - name: android type: Unity::mobile::shield - image: package-ci/ubuntu-22.04:v4 + image: package-ci/win10:v4 flavor: b1.large model: ShieldPro standalone: Android - base: ubuntu + base: win architecture: armv7 - name: ios-arm64 type: Unity::mobile::iPhone From c949d9be407da3a495989461bd48f74080f10505 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Tue, 4 Feb 2025 14:25:41 +0100 Subject: [PATCH 44/66] Corrected android commands (from ubuntu style to win) and disabled IOS test --- .yamato/mobile-standalone-test.yml | 11 +++++++---- .../Runtime/NetworkVariable/NetworkVariableTests.cs | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 0af34f0017..d42373e812 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -73,17 +73,20 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: # Installing editor. We still need the editor to run tests on standalone build - unity-downloader-cli -u {{ editor }} -c Editor -c il2cpp {% if platform.base == "mac" %} -c ios {% else %} -c android {% endif %} --fast --wait - - # Download standalone UnityTestRunner - - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr {% if platform.standalone == "Android" %} + # Download standalone UnityTestRunner + - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat + # Connect to Android device and run tests - | start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices - ./utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 + utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 {% else %} + # Download standalone UnityTestRunner + - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr + # Run tests - ./utr --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 {% endif %} diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs index 5131bbe590..62cf5aeecb 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs @@ -2612,6 +2612,7 @@ public string DictionaryStr(Dictionary list) } [Test] + [UnityPlatform(exclude = new[] { RuntimePlatform.IPhonePlayer })] // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on iOS [Repeat(5)] public void WhenSerializingAndDeserializingVeryLargeListNetworkVariables_ValuesAreSerializedCorrectly( From 6eeab8006cdf19fedb8bd9372694e22b4092a778 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Tue, 4 Feb 2025 15:44:59 +0100 Subject: [PATCH 45/66] Removed asynchronous connection command --- .yamato/mobile-standalone-test.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index d42373e812..9e88f939ed 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -80,8 +80,7 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: # Connect to Android device and run tests - | - start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% - start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices + %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 {% else %} # Download standalone UnityTestRunner From 83d118e57fd1211fdb5bf94fafe88a2de20c54dd Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Tue, 4 Feb 2025 17:41:25 +0100 Subject: [PATCH 46/66] Disabled IOS test --- .../Tests/Runtime/NetworkVariable/NetworkVariableTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs index 62cf5aeecb..d3d90dc139 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs @@ -2159,6 +2159,7 @@ public string ArrayStr(NativeArray arr) where T : unmanaged } [Test] + [UnityPlatform(exclude = new[] { RuntimePlatform.IPhonePlayer })] // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on iOS [Repeat(5)] public void WhenSerializingAndDeserializingVeryLargeValueTypeNativeArrayNetworkVariables_ValuesAreSerializedCorrectly( From 26e2d253e0b534b7e6888c4d833e8eaeec98df54 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 5 Feb 2025 09:52:14 +0100 Subject: [PATCH 47/66] Updated ADB connection commands for Android --- .yamato/mobile-standalone-test.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 9e88f939ed..0aea7a1bd5 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -75,13 +75,17 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: - unity-downloader-cli -u {{ editor }} -c Editor -c il2cpp {% if platform.base == "mac" %} -c ios {% else %} -c android {% endif %} --fast --wait {% if platform.standalone == "Android" %} - # Download standalone UnityTestRunner - - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat + # Download standalone UnityTestRunner and ADB setup + - command: curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat + - command: wget http://artifactory-slo.bf.unity3d.com/artifactory/mobile-generic/android/ADBKeys.zip!/adbkey.pub -O %USERPROFILE%/.android/adbkey.pub + - command: wget http://artifactory-slo.bf.unity3d.com/artifactory/mobile-generic/android/ADBKeys.zip!/adbkey -O %USERPROFILE%/.android/adbkey + - command: gsudo NetSh Advfirewall set allprofiles state off + + # Connect to Android device + - command: '"%ANDROID_SDK_ROOT%\platform-tools\adb.exe" connect %BOKKEN_DEVICE_IP%' - # Connect to Android device and run tests - - | - %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP% - utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 + # Run tests + - utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 {% else %} # Download standalone UnityTestRunner - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr From 672b5867a883badbaac8061a5fc51892f276c3bf Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 5 Feb 2025 10:06:26 +0100 Subject: [PATCH 48/66] Added PVPexceptions file which solves the problem of unreleased section causing CI failure (PVP check) --- com.unity.netcode.gameobjects/CHANGELOG.md | 11 +++++++++++ com.unity.netcode.gameobjects/pvpExceptions.json | 13 +++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 com.unity.netcode.gameobjects/pvpExceptions.json diff --git a/com.unity.netcode.gameobjects/CHANGELOG.md b/com.unity.netcode.gameobjects/CHANGELOG.md index 73787525e1..c20a80df87 100644 --- a/com.unity.netcode.gameobjects/CHANGELOG.md +++ b/com.unity.netcode.gameobjects/CHANGELOG.md @@ -6,6 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) Additional documentation and release notes are available at [Multiplayer Documentation](https://docs-multiplayer.unity3d.com). +## [Unreleased] + +### Added + +### Fixed + +- Fixed issue where a spawned `NetworkObject` that was registered with a prefab handler and owned by a client would invoke destroy more than once on the host-server side if the client disconnected while the `NetworkObject` was still spawned. (#3200) + +### Changed + + ## [2.2.0] - 2024-12-12 ### Added diff --git a/com.unity.netcode.gameobjects/pvpExceptions.json b/com.unity.netcode.gameobjects/pvpExceptions.json new file mode 100644 index 0000000000..8e2596eefd --- /dev/null +++ b/com.unity.netcode.gameobjects/pvpExceptions.json @@ -0,0 +1,13 @@ +{ + "exempts": { + "PVP-41-1": { + "errors": [ + "CHANGELOG.md: line 9: Unreleased section is not allowed for public release" + ] + } + }, + "extends": [ + "rme", + "supported" + ] +} From 0e239310ba7831da5db17275f5d2200f685fb431 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 5 Feb 2025 10:44:17 +0100 Subject: [PATCH 49/66] Updated pvpExceptions, added meta file and testing different android image --- .yamato/package-pack.yml | 2 +- .yamato/project.metafile | 2 +- .../pvpExceptions.json | 1070 ++++++++++++++++- .../pvpExceptions.json.meta | 7 + 4 files changed, 1074 insertions(+), 7 deletions(-) create mode 100644 com.unity.netcode.gameobjects/pvpExceptions.json.meta diff --git a/.yamato/package-pack.yml b/.yamato/package-pack.yml index 9f067782ec..e9173d0cdf 100644 --- a/.yamato/package-pack.yml +++ b/.yamato/package-pack.yml @@ -15,7 +15,7 @@ package_pack_-_ngo: - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.it.unity3d.com/artifactory/api/npm/upm-npm - upm-ci package pack --package-path com.unity.netcode.gameobjects - upm-pvp xray --packages "upm-ci~/packages/*.tgz" --results upm-ci~/xray - - upm-pvp require "supported rme" --allow-missing --results upm-ci~/xray --exemptions upm-ci~/xray/new-exemptions.json + - upm-pvp require "supported rme com.unity.netcode.gameobjects/pvpExceptions.json" --allow-missing --results upm-ci~/xray --exemptions upm-ci~/xray/new-exemptions.json artifacts: packages: paths: diff --git a/.yamato/project.metafile b/.yamato/project.metafile index a26fdcf84b..c70b78851e 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -54,7 +54,7 @@ test_platforms: mobile_test: - name: android type: Unity::mobile::shield - image: package-ci/win10:v4 + image: dots-ci/android:v3.2855892 flavor: b1.large model: ShieldPro standalone: Android diff --git a/com.unity.netcode.gameobjects/pvpExceptions.json b/com.unity.netcode.gameobjects/pvpExceptions.json index 8e2596eefd..988e4d7a6d 100644 --- a/com.unity.netcode.gameobjects/pvpExceptions.json +++ b/com.unity.netcode.gameobjects/pvpExceptions.json @@ -1,10 +1,1070 @@ { "exempts": { - "PVP-41-1": { - "errors": [ - "CHANGELOG.md: line 9: Unreleased section is not allowed for public release" - ] - } + "PVP-41-1": { + "errors": [ + "CHANGELOG.md: line 9: Unreleased section is not allowed for public release" + ] + }, + "PVP-150-1": { + "errors": [ + "Unity.Netcode.Components.AnticipatedNetworkTransform: in list item context (only allowed in block or inline context)", + "Unity.Netcode.Components.AnticipatedNetworkTransform: in list item context (only allowed in block or inline context)", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void AnticipateMove(Vector3): empty tag", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void AnticipateRotate(Quaternion): empty tag", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void AnticipateScale(Vector3): empty tag", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void AnticipateState(TransformState): empty tag", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void Smooth(TransformState, TransformState, float): empty tag", + "Unity.Netcode.AnticipatedNetworkVariable: in list item context (only allowed in block or inline context)", + "Unity.Netcode.AnticipatedNetworkVariable: in list item context (only allowed in block or inline context)", + "Unity.Netcode.AnticipatedNetworkVariable: void Anticipate(T): empty tag", + "Unity.Netcode.AnticipatedNetworkVariable: void Smooth(in T, in T, float, AnticipatedNetworkVariable.SmoothDelegate): empty tag", + "Unity.Netcode.BufferedLinearInterpolatorVector3: XML is not well-formed: Missing closing quotation mark for string literal", + "Unity.Netcode.BufferSerializer: void SerializeValue(ref NativeArray, Allocator): unexpected ", + "Unity.Netcode.BufferSerializer: bool PreCheck(int): empty tag", + "Unity.Netcode.BufferSerializer: bool PreCheck(int): empty tag", + "Unity.Netcode.BytePacker: in block context; use instead", + "Unity.Netcode.ByteUnpacker: in block context; use instead", + "Unity.Netcode.ByteUnpacker: void ReadValuePacked(FastBufferReader, out string): empty tag", + "Unity.Netcode.FastBufferReader: in block context; use instead", + "Unity.Netcode.FastBufferReader: .ctor(NativeArray, Allocator, int, int, Allocator): in block context (only allowed in top-level context)", + "Unity.Netcode.FastBufferReader: .ctor(NativeArray, Allocator, int, int, Allocator): empty tag", + "Unity.Netcode.FastBufferReader: .ctor(byte*, Allocator, int, int, Allocator): in block context (only allowed in top-level context)", + "Unity.Netcode.FastBufferReader: .ctor(byte*, Allocator, int, int, Allocator): empty tag", + "Unity.Netcode.FastBufferReader: .ctor(FastBufferWriter, Allocator, int, int, Allocator): in block context (only allowed in top-level context)", + "Unity.Netcode.FastBufferReader: .ctor(FastBufferWriter, Allocator, int, int, Allocator): empty tag", + "Unity.Netcode.FastBufferReader: .ctor(FastBufferReader, Allocator, int, int, Allocator): in block context (only allowed in top-level context)", + "Unity.Netcode.FastBufferReader: .ctor(FastBufferReader, Allocator, int, int, Allocator): empty tag", + "Unity.Netcode.FastBufferReader: void ReadNetworkSerializable(out T): empty tag", + "Unity.Netcode.FastBufferReader: void ReadNetworkSerializable(out T): empty tag", + "Unity.Netcode.FastBufferReader: void ReadNetworkSerializable(out T[]): empty tag", + "Unity.Netcode.FastBufferReader: void ReadNetworkSerializable(out NativeArray, Allocator): empty tag", + "Unity.Netcode.FastBufferReader: void ReadNetworkSerializableInPlace(ref T): empty tag", + "Unity.Netcode.FastBufferReader: void ReadNetworkSerializableInPlace(ref T): empty tag", + "Unity.Netcode.FastBufferReader: void ReadPartialValue(out T, int, int): empty tag", + "Unity.Netcode.FastBufferReader: void ReadValueSafe(out NativeArray, Allocator): unexpected ", + "Unity.Netcode.FastBufferReader: void ReadValueSafeTemp(out NativeArray): unexpected ", + "Unity.Netcode.FastBufferWriter: in block context; use instead", + "Unity.Netcode.FastBufferWriter: bool TryBeginWriteInternal(int): empty tag", + "Unity.Netcode.FastBufferWriter: bool TryBeginWriteInternal(int): empty tag", + "Unity.Netcode.FastBufferWriter: bool TryBeginWriteInternal(int): empty tag", + "Unity.Netcode.FastBufferWriter: byte[] ToArray(): empty tag", + "Unity.Netcode.FastBufferWriter: byte* GetUnsafePtr(): empty tag", + "Unity.Netcode.FastBufferWriter: byte* GetUnsafePtrAtCurrentPosition(): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(string, bool): empty tag", + "Unity.Netcode.FastBufferWriter: void WriteNetworkSerializable(in T): empty tag", + "Unity.Netcode.FastBufferWriter: void WriteNetworkSerializable(T[], int, int): empty tag", + "Unity.Netcode.FastBufferWriter: void WriteNetworkSerializable(T[], int, int): empty tag", + "Unity.Netcode.FastBufferWriter: void WriteNetworkSerializable(NativeArray, int, int): empty tag", + "Unity.Netcode.FastBufferWriter: void WriteNetworkSerializable(NativeArray, int, int): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(T[], int, int): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(T[], int, int): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(NativeArray, int, int): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(NativeArray, int, int): empty tag", + "Unity.Netcode.FastBufferWriter: void WritePartialValue(T, int, int): empty tag", + "Unity.Netcode.FastBufferWriter: void WritePartialValue(T, int, int): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T, ForStructs): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T, ForStructs): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T, ForStructs): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(in NativeArray): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(in NativeArray): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(in NativeArray): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(): empty tag", + "Unity.Netcode.FastBufferWriter: int GetWriteSize(): empty tag", + "Unity.Netcode.FastBufferWriter: void WriteValueSafe(in NativeArray): unexpected ", + "Unity.Netcode.ForceNetworkSerializeByMemcpy: empty tag", + "Unity.Netcode.GenerateSerializationForGenericParameterAttribute: tag inside ", + "Unity.Netcode.GenerateSerializationForGenericParameterAttribute: mixed block and inline content in ; wrap inline content in ", + "Unity.Netcode.Components.HalfVector3: .ctor(Vector3, bool3): unexpected ", + "Unity.Netcode.InvalidParentException: .ctor(string): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.InvalidParentException: .ctor(string): empty tag", + "Unity.Netcode.InvalidParentException: .ctor(string, Exception): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.InvalidParentException: .ctor(string, Exception): empty tag", + "Unity.Netcode.IReaderWriter: void SerializeValue(ref NativeArray, Allocator): unexpected ", + "Unity.Netcode.IReaderWriter: bool PreCheck(int): empty tag", + "Unity.Netcode.IReaderWriter: bool PreCheck(int): empty tag", + "Unity.Netcode.Editor.NetcodeEditorBase: void OnEnable(): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void VerboseDebug(string): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void CreateServerAndClients(int): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: .ctor(HostOrServer): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void TimeTravel(double, int): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool CreateNewClients(int, out NetworkManager[], bool): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void StopOneClient(NetworkManager, bool): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void StartOneClient(NetworkManager): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool Start(bool, NetworkManager, NetworkManager[], BeforeClientStartCallback, bool): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnected(NetworkManager, ResultWrapper, float): unexpected ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnected(NetworkManager[], ResultWrapper, float): unexpected ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnected(NetworkManager[], ResultWrapper, float): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnectedToServer(NetworkManager, ResultWrapper, float): unexpected ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnectedToServer(NetworkManager, int, ResultWrapper, float): unexpected ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(ulong, NetworkManager, ResultWrapper, bool, float): unexpected ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(Func, NetworkManager, ResultWrapper, bool, float): unexpected ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void GetNetworkObjectByRepresentationWithTimeTravel(Func, NetworkManager, ResultWrapper, bool, int): unexpected ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForCondition(Func, ResultWrapper, float, int): unexpected ", + "Unity.Netcode.NetworkBehaviour: NetworkObject: text or XML content outside a top-level tag", + "Unity.Netcode.NetworkBehaviour: void OnGainedOwnership(): mixed block and inline content in ; wrap inline content in ", + "Unity.Netcode.NetworkBehaviour: void OnLostOwnership(): mixed block and inline content in ; wrap inline content in ", + "Unity.Netcode.NetworkBehaviour: NetworkObject GetNetworkObject(ulong): empty tag", + "Unity.Netcode.NetworkBehaviour: NetworkObject GetNetworkObject(ulong): empty tag", + "Unity.Netcode.NetworkBehaviour: void OnSynchronize(ref BufferSerializer): unexpected ", + "Unity.Netcode.NetworkBehaviourReference: .ctor(NetworkBehaviour): empty tag", + "Unity.Netcode.NetworkConfig: string ToBase64(): empty tag", + "Unity.Netcode.NetworkConfig: ulong GetConfig(bool): empty tag", + "Unity.Netcode.NetworkConfig: ulong GetConfig(bool): empty tag", + "Unity.Netcode.NetworkConfig: bool CompareConfig(ulong): empty tag", + "Unity.Netcode.NetworkConfig: bool CompareConfig(ulong): empty tag", + "Unity.Netcode.NetworkList: .ctor(IEnumerable, NetworkVariableReadPermission, NetworkVariableWritePermission): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkList: .ctor(IEnumerable, NetworkVariableReadPermission, NetworkVariableWritePermission): empty tag", + "Unity.Netcode.NetworkList: IEnumerator GetEnumerator(): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkList: void Add(T): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkList: void Clear(): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkList: bool Contains(T): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkList: bool Remove(T): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkList: Count: cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkList: int IndexOf(T): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkList: void Insert(int, T): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkList: void RemoveAt(int): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkList: this[int]: cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkManager: OnServerStopped: unexpected ", + "Unity.Netcode.NetworkManager: OnClientStopped: unexpected ", + "Unity.Netcode.NetworkManager: void AddNetworkPrefab(GameObject): empty tag", + "Unity.Netcode.NetworkManager: void AddNetworkPrefab(GameObject): empty tag", + "Unity.Netcode.NetworkManager: void RemoveNetworkPrefab(GameObject): empty tag", + "Unity.Netcode.NetworkManager: MaximumTransmissionUnitSize: empty tag", + "Unity.Netcode.NetworkManager: MaximumTransmissionUnitSize: unexpected ", + "Unity.Netcode.NetworkManager: void SetPeerMTU(ulong, int): empty tag", + "Unity.Netcode.NetworkManager: int GetPeerMTU(ulong): empty tag", + "Unity.Netcode.NetworkManager: int GetPeerMTU(ulong): empty tag", + "Unity.Netcode.NetworkManager: MaximumFragmentedMessageSize: empty tag", + "Unity.Netcode.NetworkManager: MaximumFragmentedMessageSize: unexpected ", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: Guid AddGameNetworkObject(string): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: T AddComponentToObject(Guid): empty tag", + "Unity.Netcode.NetworkObject: NetworkTransforms: must use self-closing syntax", + "Unity.Netcode.NetworkObject: bool TryRemoveParent(bool): empty tag", + "Unity.Netcode.NetworkObject.OnOwnershipPermissionsFailureDelegateHandler: empty tag", + "Unity.Netcode.NetworkObject.OnOwnershipRequestedDelegateHandler: empty tag", + "Unity.Netcode.NetworkObject.OnOwnershipRequestedDelegateHandler: empty tag", + "Unity.Netcode.NetworkObject.OnOwnershipRequestResponseDelegateHandler: empty tag", + "Unity.Netcode.NetworkObjectReference: .ctor(NetworkObject): empty tag", + "Unity.Netcode.NetworkObjectReference: .ctor(GameObject): empty tag", + "Unity.Netcode.INetworkPrefabInstanceHandler: NetworkObject Instantiate(ulong, Vector3, Quaternion): empty tag", + "Unity.Netcode.NetworkPrefabHandler: bool AddHandler(NetworkObject, INetworkPrefabInstanceHandler): empty tag", + "Unity.Netcode.NetworkPrefabHandler: bool AddHandler(uint, INetworkPrefabInstanceHandler): empty tag", + "Unity.Netcode.NetworkPrefabHandler: void AddNetworkPrefab(GameObject): empty tag", + "Unity.Netcode.NetworkPrefabHandler: void AddNetworkPrefab(GameObject): empty tag", + "Unity.Netcode.NetworkPrefabHandler: void RemoveNetworkPrefab(GameObject): empty tag", + "Unity.Netcode.NetworkPrefabsList: void Add(NetworkPrefab): empty tag", + "Unity.Netcode.NetworkPrefabsList: void Remove(NetworkPrefab): empty tag", + "Unity.Netcode.SceneEvent: in block context; use instead", + "Unity.Netcode.NetworkSceneManager: SceneEventProgressStatus UnloadScene(Scene): empty tag", + "Unity.Netcode.NetworkSceneManager.SceneEventDelegate: in block context; use instead", + "Unity.Netcode.NetworkSceneManager.SceneEventDelegate: empty tag", + "Unity.Netcode.NetworkSceneManager.OnLoadDelegateHandler: in block context; use instead", + "Unity.Netcode.NetworkSceneManager.OnUnloadDelegateHandler: in block context; use instead", + "Unity.Netcode.NetworkSceneManager.OnSynchronizeDelegateHandler: in block context; use instead", + "Unity.Netcode.NetworkSceneManager.OnEventCompletedDelegateHandler: in block context; use instead", + "Unity.Netcode.NetworkSceneManager.OnLoadCompleteDelegateHandler: in block context; use instead", + "Unity.Netcode.NetworkSceneManager.OnUnloadCompleteDelegateHandler: in block context; use instead", + "Unity.Netcode.NetworkSceneManager.OnSynchronizeCompleteDelegateHandler: in block context; use instead", + "Unity.Netcode.NetworkTime: NetworkTime TimeTicksAgo(int, float): empty tag", + "Unity.Netcode.NetworkTimeSystem: bool Advance(double): empty tag", + "Unity.Netcode.Components.NetworkTransform: void OnSynchronize(ref BufferSerializer): empty tag", + "Unity.Netcode.Components.NetworkTransform: void OnSynchronize(ref BufferSerializer): empty tag", + "Unity.Netcode.Components.NetworkTransform: void OnSynchronize(ref BufferSerializer): unexpected ", + "Unity.Netcode.Components.NetworkTransform: void OnInitialize(ref NetworkVariable): empty tag", + "Unity.Netcode.Components.NetworkTransform: void SetState(Vector3?, Quaternion?, Vector3?, bool): empty tag", + "Unity.Netcode.Components.NetworkTransform: void SetState(Vector3?, Quaternion?, Vector3?, bool): empty tag", + "Unity.Netcode.Components.NetworkTransform: void SetState(Vector3?, Quaternion?, Vector3?, bool): text or XML content outside a top-level tag", + "Unity.Netcode.Components.NetworkTransform: void Teleport(Vector3, Quaternion, Vector3): empty tag", + "Unity.Netcode.Components.NetworkTransform: void Teleport(Vector3, Quaternion, Vector3): empty tag", + "Unity.Netcode.Components.NetworkTransform: void Teleport(Vector3, Quaternion, Vector3): text or XML content outside a top-level tag", + "Unity.Netcode.Components.NetworkTransform: void OnUpdate(): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.NetworkTransport: in block context; use instead", + "Unity.Netcode.NetworkTransport: void Initialize(NetworkManager): suspicious '///' triple-slash inside XmlDoc comment", + "Unity.Netcode.NetworkTransport: void Initialize(NetworkManager): text or XML content outside a top-level tag", + "Unity.Netcode.NetworkTransport: void OnEarlyUpdate(): XML is not well-formed: End tag was not expected at this location", + "Unity.Netcode.NetworkVariable: bool CheckDirtyState(bool): in block context (only allowed in top-level context)", + "Unity.Netcode.NetworkVariable: bool CheckDirtyState(bool): empty tag", + "Unity.Netcode.NetworkVariableBase: void SetUpdateTraits(NetworkVariableUpdateTraits): empty tag", + "Unity.Netcode.NetworkVariableBase: bool ExceedsDirtinessThreshold(): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper: empty tag", + "Unity.Netcode.NetworkVariableSerialization: void Write(FastBufferWriter, ref T): empty tag", + "Unity.Netcode.NetworkVariableSerialization: void Read(FastBufferReader, ref T): empty tag", + "Unity.Netcode.NetworkVariableSerialization: void WriteDelta(FastBufferWriter, ref T, ref T): empty tag", + "Unity.Netcode.NetworkVariableSerialization: void ReadDelta(FastBufferReader, ref T): empty tag", + "Unity.Netcode.NetworkVariableSerialization: void Duplicate(in T, ref T): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Single(ulong, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Single(ulong, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Not(ulong, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Not(ulong, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Group(NativeArray, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Group(NativeArray, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Group(NativeList, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Group(NativeList, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Group(ulong[], RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Group(ulong[], RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Group(T, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Group(T, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Not(NativeArray, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Not(NativeArray, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Not(NativeList, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Not(NativeList, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Not(ulong[], RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Not(ulong[], RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Not(T, RpcTargetUse): empty tag", + "Unity.Netcode.RpcTarget: BaseRpcTarget Not(T, RpcTargetUse): empty tag", + "Unity.Netcode.SceneEventType: in block context; use instead", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: must use self-closing syntax", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_UnmanagedByMemcpy(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_UnmanagedByMemcpyArray(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_List(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_HashSet(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_Dictionary(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_Dictionary(): unexpected ", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_UnmanagedINetworkSerializable(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_UnmanagedINetworkSerializableArray(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_ManagedINetworkSerializable(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_FixedString(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_FixedStringArray(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_ManagedIEquatable(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_UnmanagedIEquatable(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_UnmanagedIEquatableArray(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_List(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_HashSet(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_Dictionary(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_Dictionary(): unexpected ", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_UnmanagedValueEquals(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_UnmanagedValueEqualsArray(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_ManagedClassEquals(): empty tag", + "Unity.Netcode.UserNetworkVariableSerialization: empty tag", + "Unity.Netcode.UserNetworkVariableSerialization.DuplicateValueDelegate: unexpected " + ] + }, + "PVP-151-1": { + "errors": [ + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnUpdate(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnDestroy(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnBeforeUpdateTransformState(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnNetworkTransformStateUpdated(ref NetworkTransformState, ref NetworkTransformState): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnTransformUpdated(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform.TransformState: undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform.TransformState: Position: undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform.TransformState: Rotation: undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform.TransformState: Scale: undocumented", + "Unity.Netcode.StaleDataHandling: undocumented", + "Unity.Netcode.StaleDataHandling: Ignore: undocumented", + "Unity.Netcode.StaleDataHandling: Reanticipate: undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void OnInitialize(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: bool ExceedsDirtinessThreshold(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: .ctor(T, StaleDataHandling): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void Update(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void Dispose(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void Finalize(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: bool IsDirty(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void ResetDirty(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void WriteDelta(FastBufferWriter): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void WriteField(FastBufferWriter): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void ReadField(FastBufferReader): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void ReadDelta(FastBufferReader, bool): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable.OnAuthoritativeValueChangedDelegate: undocumented", + "Unity.Netcode.AnticipatedNetworkVariable.SmoothDelegate: missing ", + "Unity.Netcode.AnticipatedNetworkVariable.SmoothDelegate: missing ", + "Unity.Netcode.AnticipatedNetworkVariable.SmoothDelegate: missing ", + "Unity.Netcode.AnticipatedNetworkVariable.SmoothDelegate: missing ", + "Unity.Netcode.BaseRpcTarget: undocumented", + "Unity.Netcode.BaseRpcTarget: m_NetworkManager: undocumented", + "Unity.Netcode.BaseRpcTarget: void CheckLockBeforeDispose(): undocumented", + "Unity.Netcode.BaseRpcTarget: void Dispose(): undocumented", + "Unity.Netcode.BufferedLinearInterpolator: m_InterpStartValue: undocumented", + "Unity.Netcode.BufferedLinearInterpolator: m_CurrentInterpValue: undocumented", + "Unity.Netcode.BufferedLinearInterpolator: m_InterpEndValue: undocumented", + "Unity.Netcode.BufferedLinearInterpolator: m_Buffer: undocumented", + "Unity.Netcode.BufferedLinearInterpolator: void OnConvertTransformSpace(Transform, bool): undocumented", + "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: undocumented", + "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: Item: undocumented", + "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: TimeSent: undocumented", + "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: .ctor(T, double): undocumented", + "Unity.Netcode.BufferedLinearInterpolatorQuaternion: void OnConvertTransformSpace(Transform, bool): undocumented", + "Unity.Netcode.BufferedLinearInterpolatorVector3: XML is not well-formed: Missing closing quotation mark for string literal", + "Unity.Netcode.BufferedLinearInterpolatorVector3: void OnConvertTransformSpace(Transform, bool): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: TimedOut: undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: bool OnHasConditionBeenReached(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: bool HasConditionBeenReached(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void OnStarted(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void Started(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void OnFinished(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void Finished(bool): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IConditionalPredicate: undocumented", + "Unity.Netcode.TestHelpers.Runtime.IConditionalPredicate: bool HasConditionBeenReached(): missing ", + "Unity.Netcode.TestHelpers.Runtime.IConditionalPredicate: void Finished(bool): missing ", + "Unity.Netcode.CustomMessagingManager.HandleNamedMessageDelegate: missing ", + "Unity.Netcode.CustomMessagingManager.HandleNamedMessageDelegate: missing ", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: undocumented", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: .ctor(HostOrServer, bool): undocumented", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: void OnNewClientCreated(NetworkManager): undocumented", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: IEnumerator HiddenObjectPromotedSessionOwnerNewClientSynchronizes(): missing ", + "Unity.Netcode.GenerateSerializationForGenericParameterAttribute: .ctor(int): undocumented", + "Unity.Netcode.GenerateSerializationForTypeAttribute: .ctor(Type): undocumented", + "Unity.Netcode.Components.HalfVector3: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.HalfVector3: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.HalfVector3: .ctor(Vector3, bool3): missing ", + "Unity.Netcode.Components.HalfVector4: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.HalfVector4: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: string GetVector3Values(ref Vector3): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: string GetVector3Values(Vector3): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: float GetDeltaVarianceThreshold(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: float EulerDelta(float, float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: Vector3 EulerDelta(Vector3, Vector3): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool ApproximatelyEuler(float, float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(float, float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(Vector2, Vector2): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(Vector3, Vector3): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(Quaternion, Quaternion): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool ApproximatelyEuler(Vector3, Vector3): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: Vector3 GetRandomVector3(float, float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: .ctor(NetworkTopologyTypes, HostOrServer): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: .ctor(NetworkTopologyTypes): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: .ctor(HostOrServer): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: .ctor(): undocumented", + "Unity.Netcode.InvalidParentException: .ctor(string): missing ", + "Unity.Netcode.InvalidParentException: .ctor(string, Exception): missing ", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: AllMessagesReceived: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: NumberOfMessagesReceived: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: string GetHooksStillWaiting(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: bool OnHasConditionBeenReached(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: void OnFinished(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: void Reset(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: .ctor(List): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ReceiptType: undocumented", + "Unity.Netcode.TestHelpers.Runtime.ReceiptType: Received: undocumented", + "Unity.Netcode.TestHelpers.Runtime.ReceiptType: Handled: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: m_NetworkManager: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: void Initialize(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: .ctor(NetworkManager, ReceiptType): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: RealTimeSinceStartup: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: UnscaledTime: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: UnscaledDeltaTime: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: DeltaTime: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: FixedDeltaTime: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticRealTimeSinceStartup: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticUnscaledTime: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticUnscaledDeltaTime: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticDeltaTime: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: void TimeTravel(double): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: void Reset(): undocumented", + "Unity.Netcode.Editor.NetcodeEditorBase: missing ", + "Unity.Netcode.Editor.NetcodeEditorBase: void OnEnable(): missing ", + "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: undocumented", + "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: NetworkPrefabsPath: undocumented", + "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: TempNetworkPrefabsPath: undocumented", + "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: GenerateDefaultNetworkPrefabs: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: k_TickFrequency: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: s_GlobalTimeoutHelper: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: s_DefaultWaitForTick: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: NetcodeLogAssert: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void RegisterNetworkObject(NetworkObject): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void DeregisterNetworkObject(NetworkObject): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void DeregisterNetworkObject(ulong, ulong): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: TotalClients: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: k_DefaultTickRate: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: NumberOfClients: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_PlayerPrefab: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_ServerNetworkManager: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_ClientNetworkManagers: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_UseHost: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_DistributedAuthority: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_NetworkTopologyType: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool UseCMBService(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: NetworkTopologyTypes OnGetNetworkTopologyType(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void SetDistributedAuthorityProperties(NetworkManager): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_TargetFrameRate: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_EnableVerboseDebug: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool OnSetVerboseDebug(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: NetworkManagerInstatiationMode OnSetIntegrationTestMode(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnOneTimeSetup(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OneTimeSetup(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnSetup(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator SetUp(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnNewClientCreated(NetworkManager): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnNewClientStarted(NetworkManager): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnNewClientStartedAndConnected(NetworkManager): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool ShouldWaitForNewClientToConnect(NetworkManager): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool ShouldWaitForNewClientToConnect(NetworkManager): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator CreateAndStartNewClient(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator StopOneClient(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator StopOneClient(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator StopOneClient(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void StopOneClientWithTimeTravel(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void StopOneClientWithTimeTravel(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void SetTimeTravelSimulatedLatency(float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void SetTimeTravelSimulatedDropRate(float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void SetTimeTravelSimulatedLatencyJitter(float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanStartServerAndClients(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnStartedServerAndClients(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnServerAndClientsConnected(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void ClientNetworkManagerPostStartInit(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: LogAllMessages: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool ShouldCheckForSpawnedPlayers(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator StartServerAndClients(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanClientsLoad(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanClientsUnload(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool OnCanSceneCleanUpUnload(Scene): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator CoroutineShutdownAndCleanUp(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnTearDown(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnInlineTearDown(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator TearDown(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OneTimeTearDown(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanDestroyNetworkObject(NetworkObject): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(Func, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(Func, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(Func, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(Func, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(Func, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(Func, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(IConditionalPredicate, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(IConditionalPredicate, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(IConditionalPredicate, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(IConditionalPredicate, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(IConditionalPredicate, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(IConditionalPredicate, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForClientsConnectedOrTimeOut(NetworkManager[]): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForClientsConnectedOrTimeOutWithTimeTravel(NetworkManager[]): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForClientsConnectedOrTimeOut(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForClientsConnectedOrTimeOutWithTimeTravel(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnPlayerObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnPlayerObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnPlayerObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnPlayerObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: .ctor(NetworkTopologyTypes): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: .ctor(NetworkTopologyTypes, HostOrServer): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void AssertOnTimeout(string, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void AssertOnTimeout(string, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForTicks(NetworkManager, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForTicks(NetworkManager, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForTicks(NetworkManager, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: uint GetTickRate(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: int GetFrameRate(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.SceneManagementState: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.SceneManagementState: SceneManagementEnabled: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.SceneManagementState: SceneManagementDisabled: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: PerTest: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: AllTests: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: DoNotCreate: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.HostOrServer: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.HostOrServer: Host: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.HostOrServer: Server: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.HostOrServer: DAHost: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: DefaultMinFrames: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: DefaultTimeout: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: NetworkManagerInstances: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void RegisterHandlers(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void RegisterHandlers(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: NetworkManager CreateServer(bool): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool Create(int, out NetworkManager, out NetworkManager[], int, bool, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool Create(int, out NetworkManager, out NetworkManager[], int, bool, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool CreateNewClients(int, out NetworkManager[], bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool CreateNewClients(int, out NetworkManager[], bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void StopOneClient(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool Start(bool, NetworkManager, NetworkManager[], BeforeClientStartCallback, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: uint GetNextGlobalIdHashValue(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IsNetcodeIntegrationTestRunning: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void RegisterNetcodeIntegrationTest(bool): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: GameObject CreateNetworkObjectPrefab(string, NetworkManager, params NetworkManager[]): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void MarkAsSceneObjectRoot(GameObject, NetworkManager, NetworkManager[]): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnected(NetworkManager, ResultWrapper, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnected(NetworkManager, ResultWrapper, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnected(NetworkManager[], ResultWrapper, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnectedToServer(NetworkManager, ResultWrapper, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnectedToServer(NetworkManager, ResultWrapper, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnectedToServer(NetworkManager, int, ResultWrapper, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnectedToServer(NetworkManager, int, ResultWrapper, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnectedToServer(NetworkManager, int, ResultWrapper, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(ulong, NetworkManager, ResultWrapper, bool, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(ulong, NetworkManager, ResultWrapper, bool, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(Func, NetworkManager, ResultWrapper, bool, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(Func, NetworkManager, ResultWrapper, bool, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void GetNetworkObjectByRepresentationWithTimeTravel(Func, NetworkManager, ResultWrapper, bool, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForCondition(Func, ResultWrapper, float, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForCondition(Func, ResultWrapper, float, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: uint GetGlobalObjectIdHash(NetworkObject): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.MessageHandleCheck: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.BeforeClientStartCallback: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.ResultWrapper: missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.ResultWrapper: Result: undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: .ctor(bool, bool): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void AddLog(string, string, LogType): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void OnTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void Dispose(): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasNotReceived(LogType, string): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasNotReceived(LogType, Regex): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasReceived(LogType, string): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasReceived(LogType, Regex): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: bool HasLogBeenReceived(LogType, string): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void Reset(): undocumented", + "Unity.Netcode.RpcException: undocumented", + "Unity.Netcode.RpcException: .ctor(string): undocumented", + "Unity.Netcode.NetworkBehaviour: void InternalOnNetworkPostSpawn(): undocumented", + "Unity.Netcode.NetworkBehaviour: void InternalOnNetworkSessionSynchronized(): undocumented", + "Unity.Netcode.NetworkBehaviour: void OnReanticipate(double): undocumented", + "Unity.Netcode.NetworkClient: NetworkTopologyType: undocumented", + "Unity.Netcode.NetworkClient: DAHost: undocumented", + "Unity.Netcode.NetworkConfig: Prefabs: undocumented", + "Unity.Netcode.NetworkConfig: NetworkTopology: undocumented", + "Unity.Netcode.NetworkConfig: UseCMBService: undocumented", + "Unity.Netcode.NetworkConfig: AutoSpawnPlayerPrefabClientSide: undocumented", + "Unity.Netcode.ConnectionEventData: EventType: undocumented", + "Unity.Netcode.Components.NetworkDeltaPosition: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.NetworkDeltaPosition: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.NetworkDeltaPosition: Vector3 GetConvertedDelta(): missing ", + "Unity.Netcode.Components.NetworkDeltaPosition: Vector3 GetDeltaPosition(): missing ", + "Unity.Netcode.NetworkList: .ctor(IEnumerable, NetworkVariableReadPermission, NetworkVariableWritePermission): missing ", + "Unity.Netcode.NetworkList: void Finalize(): undocumented", + "Unity.Netcode.NetworkList: IEnumerator GetEnumerator(): missing ", + "Unity.Netcode.NetworkList: IEnumerator GetEnumerator(): missing ", + "Unity.Netcode.NetworkList: void Add(T): missing ", + "Unity.Netcode.NetworkList: void Add(T): missing ", + "Unity.Netcode.NetworkList: void Clear(): missing ", + "Unity.Netcode.NetworkList: bool Contains(T): missing ", + "Unity.Netcode.NetworkList: bool Contains(T): missing ", + "Unity.Netcode.NetworkList: bool Contains(T): missing ", + "Unity.Netcode.NetworkList: bool Remove(T): missing ", + "Unity.Netcode.NetworkList: bool Remove(T): missing ", + "Unity.Netcode.NetworkList: bool Remove(T): missing ", + "Unity.Netcode.NetworkList: Count: missing ", + "Unity.Netcode.NetworkList: int IndexOf(T): missing ", + "Unity.Netcode.NetworkList: int IndexOf(T): missing ", + "Unity.Netcode.NetworkList: int IndexOf(T): missing ", + "Unity.Netcode.NetworkList: void Insert(int, T): missing ", + "Unity.Netcode.NetworkList: void Insert(int, T): missing ", + "Unity.Netcode.NetworkList: void Insert(int, T): missing ", + "Unity.Netcode.NetworkList: void RemoveAt(int): missing ", + "Unity.Netcode.NetworkList: void RemoveAt(int): missing ", + "Unity.Netcode.NetworkList: this[int]: missing ", + "Unity.Netcode.NetworkList: this[int]: missing ", + "Unity.Netcode.NetworkManager: CurrentSessionOwner: undocumented", + "Unity.Netcode.NetworkManager: void NetworkUpdate(NetworkUpdateStage): undocumented", + "Unity.Netcode.NetworkManager.ReanticipateDelegate: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: NetworkManagerObject: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: NetworkManagerGameObject: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: InstantiatedGameObjects: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: InstantiatedNetworkObjects: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: CurrentNetworkManagerMode: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: bool StartNetworkManager(out NetworkManager, NetworkManagerOperatingMode, NetworkConfig): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: void ShutdownNetworkManager(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: bool BuffersMatch(int, long, byte[], byte[]): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: None: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: Host: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: Server: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: Client: undocumented", + "Unity.Netcode.NetworkObject: void SetSceneObjectStatus(bool): undocumented", + "Unity.Netcode.NetworkObject: ushort GetNetworkBehaviourOrderIndex(NetworkBehaviour): undocumented", + "Unity.Netcode.NetworkObject.OwnershipStatus: None: undocumented", + "Unity.Netcode.NetworkObject.OwnershipStatus: Distributable: undocumented", + "Unity.Netcode.NetworkObject.OwnershipStatus: Transferable: undocumented", + "Unity.Netcode.NetworkObject.OwnershipStatus: RequestRequired: undocumented", + "Unity.Netcode.NetworkObject.OwnershipStatus: SessionOwner: undocumented", + "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: Locked: undocumented", + "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: RequestRequired: undocumented", + "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: RequestInProgress: undocumented", + "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: NotTransferrable: undocumented", + "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: SessionOwnerOnly: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: RequestSent: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: AlreadyOwner: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: RequestRequiredNotSet: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: Locked: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: RequestInProgress: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: SessionOwnerOnly: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: Approved: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: Locked: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: RequestInProgress: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: CannotRequest: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: Denied: undocumented", + "Unity.Netcode.NetworkObject.OwnershipLockActions: None: undocumented", + "Unity.Netcode.NetworkObject.OwnershipLockActions: SetAndLock: undocumented", + "Unity.Netcode.NetworkObject.OwnershipLockActions: SetAndUnlock: undocumented", + "Unity.Netcode.NetworkObject.VisibilityDelegate: missing ", + "Unity.Netcode.NetworkObject.SpawnDelegate: missing ", + "Unity.Netcode.NetworkPrefab: bool Equals(NetworkPrefab): undocumented", + "Unity.Netcode.NetworkPrefab: SourcePrefabGlobalObjectIdHash: undocumented", + "Unity.Netcode.NetworkPrefab: TargetPrefabGlobalObjectIdHash: undocumented", + "Unity.Netcode.NetworkPrefab: bool Validate(int): undocumented", + "Unity.Netcode.NetworkPrefab: string ToString(): undocumented", + "Unity.Netcode.Editor.Configuration.NetworkPrefabProcessor: DefaultNetworkPrefabsPath: undocumented", + "Unity.Netcode.NetworkPrefabs: Prefabs: undocumented", + "Unity.Netcode.NetworkPrefabs: void Finalize(): undocumented", + "Unity.Netcode.NetworkPrefabs: void Initialize(bool): missing ", + "Unity.Netcode.NetworkPrefabs: bool Add(NetworkPrefab): missing ", + "Unity.Netcode.NetworkPrefabs: bool Add(NetworkPrefab): missing ", + "Unity.Netcode.NetworkPrefabs: void Remove(NetworkPrefab): missing ", + "Unity.Netcode.NetworkPrefabs: void Remove(GameObject): missing ", + "Unity.Netcode.Editor.NetworkPrefabsEditor: undocumented", + "Unity.Netcode.Editor.NetworkPrefabsEditor: void OnInspectorGUI(): undocumented", + "Unity.Netcode.NetworkSceneManager: List GetSceneMapping(MapTypes): undocumented", + "Unity.Netcode.NetworkSceneManager.MapTypes: undocumented", + "Unity.Netcode.NetworkSceneManager.MapTypes: ServerToClient: undocumented", + "Unity.Netcode.NetworkSceneManager.MapTypes: ClientToServer: undocumented", + "Unity.Netcode.NetworkSceneManager.SceneMap: undocumented", + "Unity.Netcode.NetworkSceneManager.SceneMap: MapType: undocumented", + "Unity.Netcode.NetworkSceneManager.SceneMap: Scene: undocumented", + "Unity.Netcode.NetworkSceneManager.SceneMap: ScenePresent: undocumented", + "Unity.Netcode.NetworkSceneManager.SceneMap: SceneName: undocumented", + "Unity.Netcode.NetworkSceneManager.SceneMap: ServerHandle: undocumented", + "Unity.Netcode.NetworkSceneManager.SceneMap: MappedLocalHandle: undocumented", + "Unity.Netcode.NetworkSceneManager.SceneMap: LocalHandle: undocumented", + "Unity.Netcode.NetworkSceneManager.SceneMap: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.NetworkSpawnManager: List GetConnectedPlayers(): undocumented", + "Unity.Netcode.NetworkSpawnManager: void InternalOnOwnershipChanged(ulong, ulong): undocumented", + "Unity.Netcode.NetworkTime: NetworkTime TimeTicksAgo(int, float): missing ", + "Unity.Netcode.Components.NetworkTransform: AuthorityMode: undocumented", + "Unity.Netcode.Components.NetworkTransform: PositionInLocalSpace: undocumented", + "Unity.Netcode.Components.NetworkTransform: RotationInLocalSpace: undocumented", + "Unity.Netcode.Components.NetworkTransform: void OnTransformUpdated(): undocumented", + "Unity.Netcode.Components.NetworkTransform: void OnBeforeUpdateTransformState(): undocumented", + "Unity.Netcode.Components.NetworkTransform: void OnOwnershipChanged(ulong, ulong): undocumented", + "Unity.Netcode.Components.NetworkTransform: void OnUpdate(): missing ", + "Unity.Netcode.Components.NetworkTransform: float GetTickLatency(): missing ", + "Unity.Netcode.Components.NetworkTransform: float GetTickLatencyInSeconds(): missing ", + "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: bool IsUnreliableFrameSync(): missing ", + "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: bool IsReliableStateUpdate(): missing ", + "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.NetworkTransform.AuthorityModes: undocumented", + "Unity.Netcode.Components.NetworkTransform.AuthorityModes: Server: undocumented", + "Unity.Netcode.Components.NetworkTransform.AuthorityModes: Owner: undocumented", + "Unity.Netcode.NetworkTransport: void OnEarlyUpdate(): XML is not well-formed: End tag was not expected at this location", + "Unity.Netcode.NetworkTransport: NetworkTopologyTypes OnCurrentTopology(): undocumented", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.NetworkTopologyTypes: undocumented", + "Unity.Netcode.NetworkTopologyTypes: ClientServer: undocumented", + "Unity.Netcode.NetworkTopologyTypes: DistributedAuthority: undocumented", + "Unity.Netcode.NetworkVariable: CheckExceedsDirtinessThreshold: undocumented", + "Unity.Netcode.NetworkVariable: bool ExceedsDirtinessThreshold(): undocumented", + "Unity.Netcode.NetworkVariable: void OnInitialize(): undocumented", + "Unity.Netcode.NetworkVariable: bool CheckDirtyState(bool): missing ", + "Unity.Netcode.NetworkVariable: void Dispose(): undocumented", + "Unity.Netcode.NetworkVariable: void Finalize(): undocumented", + "Unity.Netcode.NetworkVariable.CheckExceedsDirtinessThresholdDelegate: undocumented", + "Unity.Netcode.NetworkVariableUpdateTraits: undocumented", + "Unity.Netcode.NetworkVariableUpdateTraits: MinSecondsBetweenUpdates: undocumented", + "Unity.Netcode.NetworkVariableUpdateTraits: MaxSecondsBetweenUpdates: undocumented", + "Unity.Netcode.NetworkVariableBase: NetworkBehaviour GetBehaviour(): undocumented", + "Unity.Netcode.NetworkVariableBase: void MarkNetworkBehaviourDirty(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: bool OnSetVerboseDebug(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator TestListBuiltInTypeCollections(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator TestListSerializableObjectCollections(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator TestDictionaryCollections(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator TestDictionaryNestedCollections(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: IEnumerator TestHashSetBuiltInTypeCollections(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests: .ctor(HostOrServer, CollectionTypes): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests: IEnumerator CollectionAndOwnershipChangingTest(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests.CollectionTypes: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests.CollectionTypes: Dictionary: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsChangingTests.CollectionTypes: List: undocumented", + "Unity.Netcode.RuntimeTests.DictionaryCollectionUpdateHelper: bool OnValidateAgainst(BaseCollectionUpdateHelper): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryCollectionUpdateHelper: void OnClear(): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryCollectionUpdateHelper: void AddItem(): undocumented", + "Unity.Netcode.RuntimeTests.ListCollectionUpdateHelper: bool OnValidateAgainst(BaseCollectionUpdateHelper): undocumented", + "Unity.Netcode.RuntimeTests.ListCollectionUpdateHelper: void OnClear(): undocumented", + "Unity.Netcode.RuntimeTests.ListCollectionUpdateHelper: void AddItem(): undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: VerboseMode: undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: HelperState: undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void SetState(HelperStates): undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: bool OnValidateAgainst(BaseCollectionUpdateHelper): undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: bool ValidateAgainst(BaseCollectionUpdateHelper): undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void OnClear(): undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void Clear(): undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void AddItem(): undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void OnOwnershipChanged(ulong, ulong): undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper: void Log(string): undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: Stop: undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: Start: undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: Pause: undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: ClearToChangeOwner: undocumented", + "Unity.Netcode.RuntimeTests.BaseCollectionUpdateHelper.HelperStates: ChangingOwner: undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: Instances: undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void ResetState(): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: ListCollectionServer: undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: ListCollectionOwner: undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: NetworkVariableChanges: undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: bool ValidateInstances(): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: bool CompareTrackedChanges(Targets): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: HashSet GetHashSetValues(int): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: NetworkVariable> GetNetVar(Targets): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: HashSet OnSetServerValues(): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: HashSet OnSetOwnerValues(): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void Add(int, Targets): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void AddRange(HashSet, Targets): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void Remove(int, Targets): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void FullSet(HashSet, Targets): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void Clear(Targets): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void TrackChanges(Targets, HashSet, HashSet): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void OnServerListValuesChanged(HashSet, HashSet): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void OnOwnerListValuesChanged(HashSet, HashSet): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void ResetTrackedChanges(): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void OnNetworkPostSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.HashSetBaseTypeTestHelper: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: Instances: undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void ResetState(): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: ListCollectionServer: undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: ListCollectionOwner: undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: NetworkVariableChanges: undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: bool ValidateInstances(): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: bool CompareTrackedChanges(Targets): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: Dictionary GetDictionaryValues(int): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: Dictionary> GetNestedDictionaryValues(int): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: NetworkVariable>> GetNetVar(Targets): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: Dictionary> OnSetServerValues(): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: Dictionary> OnSetOwnerValues(): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: bool UpdateValue((int, Dictionary), Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void Add((int, Dictionary), Targets): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void Remove(int, Targets): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void FullSet(Dictionary>, Targets): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void Clear(Targets): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void TrackChanges(Targets, Dictionary>, Dictionary>): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void OnServerListValuesChanged(Dictionary>, Dictionary>): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void OnOwnerListValuesChanged(Dictionary>, Dictionary>): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void ResetTrackedChanges(): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void OnNetworkPostSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.NestedDictionaryTestHelper: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: Instances: undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void ResetState(): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: ListCollectionServer: undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: ListCollectionOwner: undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: NetworkVariableChanges: undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: bool ValidateInstances(): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: bool CompareTrackedChanges(Targets): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: Dictionary GetDictionaryValues(int): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: NetworkVariable> GetNetVar(Targets): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: Dictionary OnSetServerValues(): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: Dictionary OnSetOwnerValues(): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: bool UpdateValue((int, SerializableObject), Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void Add((int, SerializableObject), Targets): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void Remove(int, Targets): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void FullSet(Dictionary, Targets): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void Clear(Targets): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void TrackChanges(Targets, Dictionary, Dictionary): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void OnServerListValuesChanged(Dictionary, Dictionary): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void OnOwnerListValuesChanged(Dictionary, Dictionary): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void ResetTrackedChanges(): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void OnNetworkPostSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void InitValues(): undocumented", + "Unity.Netcode.RuntimeTests.DictionaryTestHelper: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.SerializableObject: undocumented", + "Unity.Netcode.RuntimeTests.SerializableObject: SerializableObject GetRandomObject(): undocumented", + "Unity.Netcode.RuntimeTests.SerializableObject: List GetListOfRandomObjects(int): undocumented", + "Unity.Netcode.RuntimeTests.SerializableObject: List> GetListOfListOfRandomObjects(int, int): undocumented", + "Unity.Netcode.RuntimeTests.SerializableObject: IntValue: undocumented", + "Unity.Netcode.RuntimeTests.SerializableObject: LongValue: undocumented", + "Unity.Netcode.RuntimeTests.SerializableObject: FloatValue: undocumented", + "Unity.Netcode.RuntimeTests.SerializableObject: string ToString(): undocumented", + "Unity.Netcode.RuntimeTests.SerializableObject: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.SerializableObject: bool Equals(SerializableObject): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: Instances: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void ResetState(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: ListCollectionServer: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: ListCollectionOwner: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: NetworkVariableChanges: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: bool ValidateInstances(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: bool CompareTrackedChanges(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: NetworkVariable>> GetNetVar(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: List> OnSetServerValues(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: List> OnSetOwnerValues(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void UpdateValue(List, Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void Add(List, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void AddRange(List>, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void Insert(List, int, Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void Remove(List, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void FullSet(List>, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void Clear(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void TrackChanges(Targets, List>, List>): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void OnServerListValuesChanged(List>, List>): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void OnOwnerListValuesChanged(List>, List>): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void ResetTrackedChanges(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void OnNetworkPostSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListSerializableObject: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: Instances: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void ResetState(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: ListCollectionServer: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: ListCollectionOwner: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: NetworkVariableChanges: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: bool ValidateInstances(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: bool CompareTrackedChanges(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: NetworkVariable> GetNetVar(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: List OnSetServerValues(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: List OnSetOwnerValues(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void UpdateValue(SerializableObject, Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void Add(SerializableObject, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void AddRange(List, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void Insert(SerializableObject, int, Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void Remove(SerializableObject, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void FullSet(List, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void Clear(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void TrackChanges(Targets, List, List): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void OnServerListValuesChanged(List, List): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void OnOwnerListValuesChanged(List, List): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void ResetTrackedChanges(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void OnNetworkPostSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperSerializableObject: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: Instances: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void ResetState(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: ListCollectionServer: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: ListCollectionOwner: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: NetworkVariableChanges: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: bool ValidateInstances(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: bool CompareTrackedChanges(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: NetworkVariable>> GetNetVar(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: List> OnSetServerValues(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: List> OnSetOwnerValues(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void UpdateValue(List, Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void Add(List, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void AddRange(List>, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void Insert(List, int, Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void Remove(List, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void FullSet(List>, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void Clear(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void TrackChanges(Targets, List>, List>): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void OnServerListValuesChanged(List>, List>): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void OnOwnerListValuesChanged(List>, List>): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void ResetTrackedChanges(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void OnNetworkPostSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperListInt: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: Instances: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void ResetState(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: ListCollectionServer: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: ListCollectionOwner: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: NetworkVariableChanges: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: bool ValidateInstances(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: bool CompareTrackedChanges(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: NetworkVariable> GetNetVar(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: List OnSetServerValues(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: List OnSetOwnerValues(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void UpdateValue(int, Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void Add(int, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void AddRange(List, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void Insert(int, int, Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void Remove(int, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void FullSet(List, Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void Clear(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void TrackChanges(Targets, List, List): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void OnServerListValuesChanged(List, List): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void OnOwnerListValuesChanged(List, List): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void ResetTrackedChanges(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void OnNetworkPostSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperInt: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase: IsDebugMode: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase: string GetLog(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase: void LogMessage(string): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase: void LogStart(): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase: void SetDebugMode(bool): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase: bool CompareTrackedChanges(Targets): undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase.Targets: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase.Targets: Server: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase.Targets: Owner: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase.DeltaTypes: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase.DeltaTypes: Added: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase.DeltaTypes: Removed: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase.DeltaTypes: Changed: undocumented", + "Unity.Netcode.RuntimeTests.ListTestHelperBase.DeltaTypes: UnChanged: undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: bool ValidateInstances(): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: NetworkVariable> GetNetVar(Targets): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: List OnSetServerValues(): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: List OnSetOwnerValues(): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: void UpdateValue(T, Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: void Add(T, Targets): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: void AddRange(List, Targets): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: void Insert(T, int, Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: void Remove(T, Targets): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: void FullSet(List, Targets): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: void Clear(Targets): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: void TrackChanges(Targets, List, List): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: void OnServerListValuesChanged(List, List): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: void OnOwnerListValuesChanged(List, List): undocumented", + "Unity.Netcode.RuntimeTests.IListTestHelperBase: void ResetTrackedChanges(): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: bool ValidateInstances(): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: NetworkVariable> GetNetVar(Targets): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: Dictionary OnSetServerValues(): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: Dictionary OnSetOwnerValues(): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: bool UpdateValue((TKey, TValue), Targets, bool): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void Add((TKey, TValue), Targets): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void Remove(TKey, Targets): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void FullSet(Dictionary, Targets): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void Clear(Targets): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void TrackChanges(Targets, Dictionary, Dictionary): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void OnServerListValuesChanged(Dictionary, Dictionary): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void OnOwnerListValuesChanged(Dictionary, Dictionary): undocumented", + "Unity.Netcode.RuntimeTests.IDictionaryTestHelperBase: void ResetTrackedChanges(): undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: bool ValidateInstances(): undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: NetworkVariable> GetNetVar(Targets): undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: HashSet OnSetServerValues(): undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: HashSet OnSetOwnerValues(): undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void Add(T, Targets): undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void Remove(T, Targets): undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void Clear(Targets): undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void TrackChanges(Targets, HashSet, HashSet): undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void OnServerListValuesChanged(HashSet, HashSet): undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void OnOwnerListValuesChanged(HashSet, HashSet): undocumented", + "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void ResetTrackedChanges(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper: OnValueChanged: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper: .ctor(NetworkVariableBase): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper.OnMyValueChangedDelegateHandler: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkVariableBaseHelper: .ctor(NetworkVariableBase): undocumented", + "Unity.Netcode.NetworkVariableSerialization: void WriteDelta(FastBufferWriter, ref T, ref T): missing ", + "Unity.Netcode.NetworkVariableSerialization.EqualsDelegate: missing ", + "Unity.Netcode.NetworkVariableSerialization.EqualsDelegate: missing ", + "Unity.Netcode.NetworkVariableSerialization.EqualsDelegate: missing ", + "Unity.Netcode.RuntimeTests.ByteEnum: undocumented", + "Unity.Netcode.RuntimeTests.ByteEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.ByteEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.ByteEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.SByteEnum: undocumented", + "Unity.Netcode.RuntimeTests.SByteEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.SByteEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.SByteEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.ShortEnum: undocumented", + "Unity.Netcode.RuntimeTests.ShortEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.ShortEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.ShortEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.UShortEnum: undocumented", + "Unity.Netcode.RuntimeTests.UShortEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.UShortEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.UShortEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.IntEnum: undocumented", + "Unity.Netcode.RuntimeTests.IntEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.IntEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.IntEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.UIntEnum: undocumented", + "Unity.Netcode.RuntimeTests.UIntEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.UIntEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.UIntEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.LongEnum: undocumented", + "Unity.Netcode.RuntimeTests.LongEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.LongEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.LongEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.ULongEnum: undocumented", + "Unity.Netcode.RuntimeTests.ULongEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.ULongEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.ULongEnum: C: undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void RegisterAndLabelNetworkObject(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void DeRegisterNetworkObject(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnLostOwnership(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnGainedOwnership(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnDestroy(): undocumented", + "Unity.Netcode.RpcAttribute: RequireOwnership: undocumented", + "Unity.Netcode.RpcAttribute: DeferLocal: undocumented", + "Unity.Netcode.RpcAttribute: AllowTargetOverride: undocumented", + "Unity.Netcode.RpcAttribute: .ctor(SendTo): undocumented", + "Unity.Netcode.RpcAttribute.RpcAttributeParams: undocumented", + "Unity.Netcode.RpcAttribute.RpcAttributeParams: Delivery: undocumented", + "Unity.Netcode.RpcAttribute.RpcAttributeParams: RequireOwnership: undocumented", + "Unity.Netcode.RpcAttribute.RpcAttributeParams: DeferLocal: undocumented", + "Unity.Netcode.RpcAttribute.RpcAttributeParams: AllowTargetOverride: undocumented", + "Unity.Netcode.ServerRpcAttribute: RequireOwnership: undocumented", + "Unity.Netcode.ServerRpcAttribute: .ctor(): undocumented", + "Unity.Netcode.ClientRpcAttribute: .ctor(): undocumented", + "Unity.Netcode.LocalDeferMode: undocumented", + "Unity.Netcode.LocalDeferMode: Default: undocumented", + "Unity.Netcode.LocalDeferMode: Defer: undocumented", + "Unity.Netcode.LocalDeferMode: SendImmediate: undocumented", + "Unity.Netcode.RpcSendParams: Target: undocumented", + "Unity.Netcode.RpcSendParams: LocalDeferMode: undocumented", + "Unity.Netcode.RpcSendParams: RpcSendParams op_Implicit(BaseRpcTarget): undocumented", + "Unity.Netcode.RpcSendParams: RpcSendParams op_Implicit(LocalDeferMode): undocumented", + "Unity.Netcode.RpcParams: RpcParams op_Implicit(RpcSendParams): undocumented", + "Unity.Netcode.RpcParams: RpcParams op_Implicit(BaseRpcTarget): undocumented", + "Unity.Netcode.RpcParams: RpcParams op_Implicit(LocalDeferMode): undocumented", + "Unity.Netcode.RpcParams: RpcParams op_Implicit(RpcReceiveParams): undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: IEnumerator ProxyDoesNotInvokeOnSender(): undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: ReceivedRpc: undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: void SendToEveryOneButMe(): undocumented", + "Unity.Netcode.RpcTarget: void Dispose(): undocumented", + "Unity.Netcode.RpcTarget: BaseRpcTarget Group(T, RpcTargetUse): missing ", + "Unity.Netcode.RpcTarget: BaseRpcTarget Not(T, RpcTargetUse): missing ", + "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: undocumented", + "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: OnServerRpcAction: undocumented", + "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: OnClientRpcAction: undocumented", + "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: void MyServerRpc(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: void MyClientRpc(ClientRpcParams): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: k_DefaultTimeOutWaitPeriod: undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: m_IsStarted: undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: TimedOut: undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: float GetTimeElapsed(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void OnStart(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void Start(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void OnStop(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void Stop(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: bool OnHasTimedOut(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: bool HasTimedOut(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: .ctor(float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: int GetFrameCount(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: void OnStop(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: bool OnHasTimedOut(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: void OnStart(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: .ctor(float, uint): undocumented", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_Dictionary(): missing ", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_Dictionary(): missing ", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_Dictionary(): missing ", + "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_Dictionary(): missing ", + "Unity.Netcode.Transports.UTP.UnityTransport: m_Driver: undocumented", + "Unity.Netcode.Transports.UTP.UnityTransport: NetworkConnection Connect(NetworkEndPoint): undocumented", + "Unity.Netcode.Transports.UTP.UnityTransport: NetworkTopologyTypes OnCurrentTopology(): undocumented", + "Unity.Netcode.Transports.UTP.UnityTransport.ConnectionAddressData: IsIpv6: undocumented", + "Unity.Netcode.UserNetworkVariableSerialization.WriteDeltaDelegate: missing ", + "Unity.Netcode.UserNetworkVariableSerialization.DuplicateValueDelegate: missing " + ] + } }, "extends": [ "rme", diff --git a/com.unity.netcode.gameobjects/pvpExceptions.json.meta b/com.unity.netcode.gameobjects/pvpExceptions.json.meta new file mode 100644 index 0000000000..897531988f --- /dev/null +++ b/com.unity.netcode.gameobjects/pvpExceptions.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3460732dd46332e48acdf417ee62dbd4 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: From 6dd9a5fd5738cd774dbecb6228be24667fca73c3 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 5 Feb 2025 12:22:55 +0100 Subject: [PATCH 50/66] Removed specific android model --- .yamato/project.metafile | 1 - 1 file changed, 1 deletion(-) diff --git a/.yamato/project.metafile b/.yamato/project.metafile index c70b78851e..1296bb343f 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -56,7 +56,6 @@ test_platforms: type: Unity::mobile::shield image: dots-ci/android:v3.2855892 flavor: b1.large - model: ShieldPro standalone: Android base: win architecture: armv7 From 496360bfe261ded7fac394ff65fd09bac11c6d53 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 5 Feb 2025 12:28:21 +0100 Subject: [PATCH 51/66] Changed android test command --- .yamato/mobile-standalone-test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.yamato/mobile-standalone-test.yml b/.yamato/mobile-standalone-test.yml index 0aea7a1bd5..2ca2444b86 100644 --- a/.yamato/mobile-standalone-test.yml +++ b/.yamato/mobile-standalone-test.yml @@ -85,7 +85,9 @@ run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}: - command: '"%ANDROID_SDK_ROOT%\platform-tools\adb.exe" connect %BOKKEN_DEVICE_IP%' # Run tests - - utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 + - | + set ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP% + utr --suite=playmode --platform={{ platform.standalone }} --artifacts-path=test-results --player-load-path=build/players --testproject={{ project.path }} --editor-location=.Editor --player-connection-ip=%BOKKEN_HOST_IP% --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=3600 {% else %} # Download standalone UnityTestRunner - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr From 89454e5bdce4e4ff6f5c0bc6f2ac52f38bfd9c1f Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 5 Feb 2025 16:06:31 +0100 Subject: [PATCH 52/66] Disabled tests for iOS were also disabled for Android (were also failing) --- .../Tests/Runtime/NetworkVariable/NetworkVariableTests.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs index d3d90dc139..cb062a6a64 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableTests.cs @@ -2159,7 +2159,7 @@ public string ArrayStr(NativeArray arr) where T : unmanaged } [Test] - [UnityPlatform(exclude = new[] { RuntimePlatform.IPhonePlayer })] // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on iOS + [UnityPlatform(exclude = new[] { RuntimePlatform.Android, RuntimePlatform.IPhonePlayer })] // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on iOS [Repeat(5)] public void WhenSerializingAndDeserializingVeryLargeValueTypeNativeArrayNetworkVariables_ValuesAreSerializedCorrectly( @@ -2613,7 +2613,7 @@ public string DictionaryStr(Dictionary list) } [Test] - [UnityPlatform(exclude = new[] { RuntimePlatform.IPhonePlayer })] // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on iOS + [UnityPlatform(exclude = new[] { RuntimePlatform.Android, RuntimePlatform.IPhonePlayer })] // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on iOS [Repeat(5)] public void WhenSerializingAndDeserializingVeryLargeListNetworkVariables_ValuesAreSerializedCorrectly( @@ -2800,7 +2800,7 @@ public void WhenSerializingAndDeserializingVeryLargeListNetworkVariables_ValuesA } [Test] - [UnityPlatform(exclude = new[] { RuntimePlatform.IPhonePlayer })] // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on iOS + [UnityPlatform(exclude = new[] { RuntimePlatform.Android, RuntimePlatform.IPhonePlayer })] // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on iOS [Repeat(5)] public void WhenSerializingAndDeserializingVeryLargeHashSetNetworkVariables_ValuesAreSerializedCorrectly( From af133d5e30335e32b60772df1696206d4bc97ba9 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 5 Feb 2025 18:47:53 +0100 Subject: [PATCH 53/66] Disabling failing Android tes --- .../Tests/Runtime/NetworkTransformAnticipationTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs index c4921d1fed..55f3f6acca 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs @@ -114,6 +114,7 @@ public AnticipatedNetworkTransform GetOtherClientComponent() } [Test] + [UnityPlatform(exclude = new[] { RuntimePlatform.Android })] // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on Android public void WhenAnticipating_ValueChangesImmediately() { var testComponent = GetTestComponent(); From d4721bbd23234ea630413ef6bf5c97bf5649aecd Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Thu, 6 Feb 2025 11:04:27 +0100 Subject: [PATCH 54/66] Added renovate config file which relates to renovate PR merged to develop-2.0.0 earlier yesterday (this makes sure that configuration will be the same between branches) --- .github/renovate.json5 | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/renovate.json5 diff --git a/.github/renovate.json5 b/.github/renovate.json5 new file mode 100644 index 0000000000..14fbb68a28 --- /dev/null +++ b/.github/renovate.json5 @@ -0,0 +1,38 @@ +{ + "baseBranches": ["develop", "develop-2.0.0"], + + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "local>unity/renovate-config" + ], + "prConcurrentLimit": 100, + // Ignore commits produced by github actions workflows + "gitIgnoredAuthors": ["githubaction@githubaction.com"], + "ignorePaths": [ + "**/node_modules/**", + // Don't renovate files in special folders using ~ as suffix + "**/*~/**" + ], + "packageRules": [ + + // Run unity-upm-project and unity-upm-package only on weekends to reduce PR noise + // Also ensure dependencies won't be downgraded when they don't exist in the public repositories + { + "matchManagers": [ + "unity-upm-project", + "unity-upm-package" + ], + "enabled": "true", + "schedule": [ + "every weekend" + ], + "rollbackPrs": false + }, + + // Enable automerge for Bokken image updates + { + "matchDatasources": ["unity-bokken"], + "automerge": false, + }, + ], +} From c65189ca76954bf4dbaec129ce95079ec976486b Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Thu, 6 Feb 2025 12:58:02 +0100 Subject: [PATCH 55/66] Unified android image --- .yamato/project.metafile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.yamato/project.metafile b/.yamato/project.metafile index 1296bb343f..43c1202c90 100644 --- a/.yamato/project.metafile +++ b/.yamato/project.metafile @@ -54,7 +54,7 @@ test_platforms: mobile_test: - name: android type: Unity::mobile::shield - image: dots-ci/android:v3.2855892 + image: package-ci/win10:v4 flavor: b1.large standalone: Android base: win From 6d76d9084e55b879443209a7fd0aefcefd31360e Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Thu, 6 Feb 2025 13:48:59 +0100 Subject: [PATCH 56/66] Testing package clean command --- .yamato/project-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.yamato/project-tests.yml b/.yamato/project-tests.yml index 811570b32f..dae927d880 100644 --- a/.yamato/project-tests.yml +++ b/.yamato/project-tests.yml @@ -18,6 +18,7 @@ test_{{ project.name }}_{{ platform.name }}_{{ editor }}: commands: - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - unity-downloader-cli -u {{ editor }} -c Editor --fast --wait + - upm-ci package clean - {% if platform.name == "ubuntu" %}DISPLAY=:0 && {% endif %}upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type project-tests --extra-utr-arg="--extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun" artifacts: logs: From 302ba7c19f03379c841809e948571403b83dc7de Mon Sep 17 00:00:00 2001 From: NoelStephensUnity Date: Thu, 6 Feb 2025 08:55:48 -0600 Subject: [PATCH 57/66] ci-test Seeing if using the v5 vs the hash fixes an issue with stalls and/or bypassing the trigger process. --- .github/workflows/conventional-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conventional-pr.yml b/.github/workflows/conventional-pr.yml index 6090fe2ab2..cfd27fbb74 100644 --- a/.github/workflows/conventional-pr.yml +++ b/.github/workflows/conventional-pr.yml @@ -18,7 +18,7 @@ jobs: steps: - name: semantic-pull-request # Internal Unity mirror available at jesseo/action-semantic-pull-request, but actions from private repos aren't supported, so continue to use the public one below - uses: amannn/action-semantic-pull-request@b7a9a97cb10fa6e1ae02647e718798175f6b1f1d + uses: amannn/action-semantic-pull-request@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: From 58215ec2a5c108fb755b470a70611ba71a53dfea Mon Sep 17 00:00:00 2001 From: NoelStephensUnity Date: Thu, 6 Feb 2025 08:57:15 -0600 Subject: [PATCH 58/66] Revert "ci-test" This reverts commit 302ba7c19f03379c841809e948571403b83dc7de. --- .github/workflows/conventional-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conventional-pr.yml b/.github/workflows/conventional-pr.yml index cfd27fbb74..6090fe2ab2 100644 --- a/.github/workflows/conventional-pr.yml +++ b/.github/workflows/conventional-pr.yml @@ -18,7 +18,7 @@ jobs: steps: - name: semantic-pull-request # Internal Unity mirror available at jesseo/action-semantic-pull-request, but actions from private repos aren't supported, so continue to use the public one below - uses: amannn/action-semantic-pull-request@v5 + uses: amannn/action-semantic-pull-request@b7a9a97cb10fa6e1ae02647e718798175f6b1f1d env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: From 67a6c5bcb13d63a1dc6f250f157f27a6eedcb5d0 Mon Sep 17 00:00:00 2001 From: Noel Stephens Date: Thu, 6 Feb 2025 09:23:35 -0600 Subject: [PATCH 59/66] Update NetworkTransformAnticipationTests.cs Seeing if this triggers a full build --- .../Tests/Runtime/NetworkTransformAnticipationTests.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs index 55f3f6acca..130fa40c0d 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs @@ -114,7 +114,8 @@ public AnticipatedNetworkTransform GetOtherClientComponent() } [Test] - [UnityPlatform(exclude = new[] { RuntimePlatform.Android })] // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on Android + // I will add this test to track in Jira as next step (after having working CI in place). The job is failing on Android + [UnityPlatform(exclude = new[] { RuntimePlatform.Android })] public void WhenAnticipating_ValueChangesImmediately() { var testComponent = GetTestComponent(); From 7d80f56bd6c4c3e83d4bffdec1873a16b80ad586 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Thu, 6 Feb 2025 17:05:46 +0100 Subject: [PATCH 60/66] Removed unsupported command --- .yamato/project-tests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.yamato/project-tests.yml b/.yamato/project-tests.yml index dae927d880..811570b32f 100644 --- a/.yamato/project-tests.yml +++ b/.yamato/project-tests.yml @@ -18,7 +18,6 @@ test_{{ project.name }}_{{ platform.name }}_{{ editor }}: commands: - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - unity-downloader-cli -u {{ editor }} -c Editor --fast --wait - - upm-ci package clean - {% if platform.name == "ubuntu" %}DISPLAY=:0 && {% endif %}upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type project-tests --extra-utr-arg="--extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun" artifacts: logs: From 832c3161850f2120a7238f845948b956e2bc966b Mon Sep 17 00:00:00 2001 From: NoelStephensUnity Date: Thu, 6 Feb 2025 11:40:50 -0600 Subject: [PATCH 61/66] fix Including using UnityEngine.TestTools --- .../Tests/Runtime/NetworkTransformAnticipationTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs index 130fa40c0d..7e00fcbc8f 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkTransformAnticipationTests.cs @@ -5,6 +5,7 @@ using Unity.Netcode.Components; using Unity.Netcode.TestHelpers.Runtime; using UnityEngine; +using UnityEngine.TestTools; using Object = UnityEngine.Object; namespace Unity.Netcode.RuntimeTests From 2bbc862907a42a904d264c05ddb6f83134f79040 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 7 Feb 2025 09:20:43 +0100 Subject: [PATCH 62/66] Modified PR trigger job indentation and created pack jobs on different platforms --- .yamato/_triggers.yml | 10 +++++----- .yamato/code-coverage.yml | 2 +- .yamato/desktop-standalone-tests.yml | 2 +- .yamato/package-pack.yml | 7 ++++--- .yamato/package-tests.yml | 2 +- .yamato/project-pack.yml | 7 ++++--- .yamato/project-tests.yml | 2 +- .yamato/project-updated-dependencies-test.yml | 2 +- 8 files changed, 18 insertions(+), 16 deletions(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index cec26dc211..12daa8cf34 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -18,11 +18,11 @@ pull_request_trigger: triggers: cancel_old_ci: true pull_requests: - - targets: - only: - - "develop" - - "develop-2.0.0" - - "/release\/.*/" + - targets: + only: + - "develop" + - "develop-2.0.0" + - "/release\/.*/" # Run all tests on trunk on nightly basis. diff --git a/.yamato/code-coverage.yml b/.yamato/code-coverage.yml index 7830522c99..0e2d499f8d 100644 --- a/.yamato/code-coverage.yml +++ b/.yamato/code-coverage.yml @@ -22,6 +22,6 @@ code_coverage_{{ platform.name }}_{{ editor }}: paths: - "upm-ci~/test-results/**/*" dependencies: - - .yamato/package-pack.yml#package_pack_-_ngo + - .yamato/package-pack.yml#package_pack_-_ngo_{{ platform.name }} {% endfor -%} {% endfor -%} \ No newline at end of file diff --git a/.yamato/desktop-standalone-tests.yml b/.yamato/desktop-standalone-tests.yml index 91f9ff40b3..b12c71f2eb 100644 --- a/.yamato/desktop-standalone-tests.yml +++ b/.yamato/desktop-standalone-tests.yml @@ -55,7 +55,7 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ - "artifacts/**/*" dependencies: - - .yamato/project-pack.yml#project_pack_-_{{ project.name }} + - .yamato/project-pack.yml#project_pack_-_{{ project.name }}_{{ platform.name }} {% endfor -%} {% endfor -%} {% endfor -%} diff --git a/.yamato/package-pack.yml b/.yamato/package-pack.yml index e9173d0cdf..cc85801042 100644 --- a/.yamato/package-pack.yml +++ b/.yamato/package-pack.yml @@ -2,9 +2,10 @@ --- # Packs Netcode for GameObjects together with performing initial checks. -# For this job no specific platform support and no running Unity instance is required so small agent (as per project.metafile definition) will be used to save resources and speed up the process -{% for platform in small_agent_platform -%} -package_pack_-_ngo: +# For this job no specific platform support and no running Unity instance is required so small agent (as per project.metafile definition) could be used to save resources and speed up the process. +# If everyone adheres to this rule it can create bottlenecks (since everyone would use this machine) so we decided to pack with the same platform as the given job runs on +{% for platform in test_platforms.desktop -%} +package_pack_-_ngo_{{ platform.name }}: name: Package Pack (and x-ray) - NGO [{{ platform.name }}] agent: type: {{ platform.type }} diff --git a/.yamato/package-tests.yml b/.yamato/package-tests.yml index 958b4b4dbc..0b3eb31109 100644 --- a/.yamato/package-tests.yml +++ b/.yamato/package-tests.yml @@ -21,6 +21,6 @@ package_test_-_ngo_{{ editor }}_{{ platform.name }}: paths: - "upm-ci~/test-results/**/*" dependencies: - - .yamato/package-pack.yml#package_pack_-_ngo + - .yamato/package-pack.yml#package_pack_-_ngo_{{ platform.name }} {% endfor -%} {% endfor -%} \ No newline at end of file diff --git a/.yamato/project-pack.yml b/.yamato/project-pack.yml index 25499ea4e5..0963d99271 100644 --- a/.yamato/project-pack.yml +++ b/.yamato/project-pack.yml @@ -2,10 +2,11 @@ --- # Jobs that iterate through and packs all NGO projects listed (to use in different jobs) -# For this job no specific platform support and no running Unity instance is required so small agent (as per project.metafile definition) will be used to save resources and speed up the process +# For this job no specific platform support and no running Unity instance is required so small agent (as per project.metafile definition) coul be used to save resources and speed up the process +# If everyone adheres to this rule it can create bottlenecks (since everyone would use this machine) so we decided to pack project with the same platform as the given job runs on {% for project in projects.all -%} -{% for platform in small_agent_platform -%} -project_pack_-_{{ project.name }}: +{% for platform in test_platforms.desktop -%} +project_pack_-_{{ project.name }}_{{ platform.name }}: name: Project Pack - {{ project.name }} [{{ platform.name }}] agent: type: {{ platform.type }} diff --git a/.yamato/project-tests.yml b/.yamato/project-tests.yml index 811570b32f..ec91e04540 100644 --- a/.yamato/project-tests.yml +++ b/.yamato/project-tests.yml @@ -24,7 +24,7 @@ test_{{ project.name }}_{{ platform.name }}_{{ editor }}: paths: - "upm-ci~/test-results/**/*" dependencies: - - .yamato/project-pack.yml#project_pack_-_{{ project.name }} + - .yamato/project-pack.yml#project_pack_-_{{ project.name }}_{{ platform.name }} {% endfor -%} {% endfor -%} {% endif -%} diff --git a/.yamato/project-updated-dependencies-test.yml b/.yamato/project-updated-dependencies-test.yml index b3857995a1..513087f3c4 100644 --- a/.yamato/project-updated-dependencies-test.yml +++ b/.yamato/project-updated-dependencies-test.yml @@ -20,7 +20,7 @@ updated-dependencies_{{ project.name }}_NGO_{{ platform.name }}_{{ editor }}: paths: - "upm-ci~/test-results/**/*" dependencies: - - path: .yamato/project-pack.yml#project_pack_-_{{ project.name }} + - path: .yamato/project-pack.yml#project_pack_-_{{ project.name }}_{{ platform.name }} rerun: always {% endfor -%} {% endfor -%} From ba922bb6ff53df0897e7664f32fddff6f191b0d6 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 7 Feb 2025 09:35:48 +0100 Subject: [PATCH 63/66] Corrected triggers dependencies --- .yamato/_triggers.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index 12daa8cf34..9429426257 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -6,15 +6,15 @@ pull_request_trigger: name: Pull Request Trigger (develop, develop-2.0.0, & release branches) dependencies: # Run project standards to verify package/default project - - .yamato/project-standards.yml#standards_{{ test_platforms.default }}_{{ projects.default.name }}_{{ validation_editors.default }} + - .yamato/project-standards.yml#standards_{{ test_platforms.default.name }}_{{ projects.default.name }}_{{ validation_editors.default }} # Run APV jobs to make sure the change won't break any dependants - .yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs # Run api validation to make sure that the change won't break SemVer - .yamato/wrench/api-validation-jobs.yml#api_validation_-_netcode_gameobjects_-_6000_0_-_windows # Run package EditMode and Playmode tests on desktop platforms on trunk - - .yamato/_run-all#run_all_package_tests_trunk + - .yamato/_run-all.yml#run_all_package_tests_trunk # Run project EditMode and PLaymode tests on desktop platforms on trunk - - .yamato/_run-all#run_all_project_tests_trunk + - .yamato/_run-all.yml#run_all_project_tests_trunk triggers: cancel_old_ci: true pull_requests: @@ -37,15 +37,15 @@ develop_nightly: rerun: always dependencies: # Run project standards to verify package/default project - - .yamato/project-standards.yml#standards_{{ test_platforms.default }}_{{ projects.default.name }}_{{ validation_editors.default }} + - .yamato/project-standards.yml#standards_{{ test_platforms.default.name }}_{{ projects.default.name }}_{{ validation_editors.default }} # Run APV jobs to make sure the change won't break any dependants - .yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs # Run api validation to make sure that the change won't break SemVer - .yamato/wrench/api-validation-jobs.yml#api_validation_-_netcode_gameobjects_-_6000_0_-_windows # Run package EditMode and Playmode tests on desktop platforms on trunk - - .yamato/_run-all#run_all_package_tests_trunk + - .yamato/_run-all.yml#run_all_package_tests_trunk # Run project EditMode and PLaymode tests on desktop platforms on trunk - - .yamato/_run-all#run_all_project_tests_trunk + - .yamato/_run-all.yml#run_all_project_tests_trunk # Run Runtime tests on desktop players on trunk - .yamato/_run-all.yml#run_all_project_tests_desktop_standalone_trunk # Run Runtime tests on mobile players on trunk @@ -73,9 +73,9 @@ develop_weekly_trunk: # Run project standards to verify package/default project - .yamato/_run-all.yml#run_all_projects_standards # Run package EditMode and Playmode tests on desktop platforms on trunk - - .yamato/_run-all#run_all_package_tests + - .yamato/_run-all.yml#run_all_package_tests # Run project EditMode and PLaymode tests on desktop platforms on trunk - - .yamato/_run-all#run_all_project_tests + - .yamato/_run-all.yml#run_all_project_tests # Run Runtime tests on desktop players on trunk - .yamato/_run-all.yml#run_all_project_tests_desktop_standalone # Run Runtime tests on mobile players on trunk From 231b86198ff1b0db377861778ed0346fc999f180 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 7 Feb 2025 09:39:01 +0100 Subject: [PATCH 64/66] Corrected project standards dependency within trigger jobs --- .yamato/_triggers.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index 9429426257..3b4dd60923 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -6,7 +6,7 @@ pull_request_trigger: name: Pull Request Trigger (develop, develop-2.0.0, & release branches) dependencies: # Run project standards to verify package/default project - - .yamato/project-standards.yml#standards_{{ test_platforms.default.name }}_{{ projects.default.name }}_{{ validation_editors.default }} + - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk # Run APV jobs to make sure the change won't break any dependants - .yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs # Run api validation to make sure that the change won't break SemVer @@ -37,7 +37,7 @@ develop_nightly: rerun: always dependencies: # Run project standards to verify package/default project - - .yamato/project-standards.yml#standards_{{ test_platforms.default.name }}_{{ projects.default.name }}_{{ validation_editors.default }} + - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk # Run APV jobs to make sure the change won't break any dependants - .yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs # Run api validation to make sure that the change won't break SemVer From c362f0b8bcf2fec26e234bf49302e13a903482ef Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 7 Feb 2025 11:16:08 +0100 Subject: [PATCH 65/66] Updated trigger jobs dependencies --- .yamato/_triggers.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index 3b4dd60923..e71a3a5094 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -7,14 +7,12 @@ pull_request_trigger: dependencies: # Run project standards to verify package/default project - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk - # Run APV jobs to make sure the change won't break any dependants - - .yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs - # Run api validation to make sure that the change won't break SemVer - - .yamato/wrench/api-validation-jobs.yml#api_validation_-_netcode_gameobjects_-_6000_0_-_windows # Run package EditMode and Playmode tests on desktop platforms on trunk - .yamato/_run-all.yml#run_all_package_tests_trunk # Run project EditMode and PLaymode tests on desktop platforms on trunk - .yamato/_run-all.yml#run_all_project_tests_trunk + # Run one standalone test to make sure there are no obvious issues with most common platform (for example --fail-on-assert option is not present with package/project tests) + - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_il2cpp_trunk triggers: cancel_old_ci: true pull_requests: @@ -40,8 +38,6 @@ develop_nightly: - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk # Run APV jobs to make sure the change won't break any dependants - .yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs - # Run api validation to make sure that the change won't break SemVer - - .yamato/wrench/api-validation-jobs.yml#api_validation_-_netcode_gameobjects_-_6000_0_-_windows # Run package EditMode and Playmode tests on desktop platforms on trunk - .yamato/_run-all.yml#run_all_package_tests_trunk # Run project EditMode and PLaymode tests on desktop platforms on trunk @@ -72,15 +68,15 @@ develop_weekly_trunk: dependencies: # Run project standards to verify package/default project - .yamato/_run-all.yml#run_all_projects_standards - # Run package EditMode and Playmode tests on desktop platforms on trunk + # Run package EditMode and Playmode tests on desktop platforms - .yamato/_run-all.yml#run_all_package_tests - # Run project EditMode and PLaymode tests on desktop platforms on trunk + # Run project EditMode and PLaymode tests on desktop platforms - .yamato/_run-all.yml#run_all_project_tests - # Run Runtime tests on desktop players on trunk + # Run Runtime tests on desktop players - .yamato/_run-all.yml#run_all_project_tests_desktop_standalone - # Run Runtime tests on mobile players on trunk + # Run Runtime tests on mobile players - .yamato/_run-all.yml#run_all_project_tests_mobile_standalone - # Run Runtime tests on console players on trunk + # Run Runtime tests on console players - .yamato/_run-all.yml#run_all_project_tests_console_standalone # Build player for webgl platform on trunk - .yamato/_run-all.yml#run_all_webgl_builds From 07cd7e7734567a8d2e32b343214648bdfec7267e Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Fri, 7 Feb 2025 13:30:11 +0100 Subject: [PATCH 66/66] Corrected Renovate bot config in the same way as in develop branch. PR trigger doesn't run on draft PRs --- .github/renovate.json5 | 3 +- .github/workflows/renovate-validation.yml | 38 ----------------------- .github/workflows/renovate.yml | 33 -------------------- .yamato/_triggers.yml | 1 + 4 files changed, 3 insertions(+), 72 deletions(-) delete mode 100644 .github/workflows/renovate-validation.yml delete mode 100644 .github/workflows/renovate.yml diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 14fbb68a28..acab47d6f0 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -1,9 +1,10 @@ { "baseBranches": ["develop", "develop-2.0.0"], + "dependencyDashboard": true, "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ - "local>unity/renovate-config" + "local>Unity-Technologies/unity-renovate-config" ], "prConcurrentLimit": 100, // Ignore commits produced by github actions workflows diff --git a/.github/workflows/renovate-validation.yml b/.github/workflows/renovate-validation.yml deleted file mode 100644 index 9ef821bcbd..0000000000 --- a/.github/workflows/renovate-validation.yml +++ /dev/null @@ -1,38 +0,0 @@ -# This workflow is for validating the Renovate configuration and docker image -# updates for it. -name: Renovate Validation -on: - workflow_dispatch: - inputs: - log-level: - type: choice - description: Select log level for Renovate - options: - - trace - - debug - - info - - warn - - error - default: info - required: false - pull_request: - paths: - # we trigger validation on any changes to the renovate workflow files - - .github/workflows/renovate*.yml - # as well as for any possible location for the renovate config file - - .github/renovate.json? - - -jobs: - renovate-validation: - # The reusable workflow will be updated by renovate if there's a new version - uses: Unity-Technologies/renovate-workflows/.github/workflows/run.yml@v5.0.0 - with: - # This is the image that contains our custom renovate and will be auto - # updated by Renovate itself. - image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.1.3@sha256:fdeed7bb524bd67611eb91ee1a5e990c8c73ed62c84a0cd5ef66c87eb5fd0d70 - dry-run: full - log-level: ${{ github.event.inputs.log-level }} - secrets: - renovate-auth-secret: ${{ secrets.RENOVATE_AUTH_SECRET }} - github-com-token: ${{ secrets.GH_COM_TOKEN }} diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml deleted file mode 100644 index f859c46a94..0000000000 --- a/.github/workflows/renovate.yml +++ /dev/null @@ -1,33 +0,0 @@ -# This workflow runs Renovate against the current repo and will create PRs with outdated dependencies. -name: Renovate - -on: - workflow_dispatch: - inputs: - log-level: - type: choice - description: Select log level for Renovate - options: - - trace - - debug - - info - - warn - - error - default: info - required: false - schedule: - # Every 6 hours at the 6th minute. - - cron: '06 */6 * * *' - -jobs: - renovate: - # The reusable workflow will be updated by renovate if there's a new version - uses: Unity-Technologies/renovate-workflows/.github/workflows/run.yml@v5.0.0 - with: - # This is the image that contains our custom renovate and will be auto - # updated by Renovate itself. - image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.1.3@sha256:fdeed7bb524bd67611eb91ee1a5e990c8c73ed62c84a0cd5ef66c87eb5fd0d70 - log-level: ${{ github.event.inputs.log-level }} - secrets: - renovate-auth-secret: ${{ secrets.RENOVATE_AUTH_SECRET }} - github-com-token: ${{ secrets.GH_COM_TOKEN }} \ No newline at end of file diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index e71a3a5094..8abd3622cf 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -21,6 +21,7 @@ pull_request_trigger: - "develop" - "develop-2.0.0" - "/release\/.*/" + - drafts: false # Run all tests on trunk on nightly basis.