From eefe7743378b1f082c9ace068044e929faa8b5d3 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 12:40:59 +0200 Subject: [PATCH 01/15] Added 6000.0 specific RunAll tests --- .yamato/_run-all.yml | 69 +++++++++++++++++++++++++++++++++-- .yamato/project-standards.yml | 2 +- 2 files changed, 67 insertions(+), 4 deletions(-) diff --git a/.yamato/_run-all.yml b/.yamato/_run-all.yml index ec26e6eb90..e542f5a1eb 100644 --- a/.yamato/_run-all.yml +++ b/.yamato/_run-all.yml @@ -2,14 +2,15 @@ --- # DESCRIPTION-------------------------------------------------------------------------- - # Those jobs group together related test as dependencies to allow to easily manage running a given set of tests. - # This enables efficient test execution for different validation scenarios +# Those jobs group together related test as dependencies to allow to easily manage running a given set of tests. +# This enables efficient test execution for different validation scenarios # QUALITY CONSIDERATIONS--------------------------------------------------------------- - # It's important to ensure that all dependencies exist (this can be verified in Yamato) since a modification in parameters may result in a given job not being generated, and thus we will not be able to run such erroneous job. +# It's important to ensure that all dependencies exist (this can be verified in Yamato) since a modification in parameters may result in a given job not being generated, and thus we will not be able to run such erroneous job. #----------------------------------------------------------------------------------- + # Runs all package tests run_all_package_tests: name: Run All Package Tests @@ -31,6 +32,14 @@ run_all_package_tests_trunk: {% endfor -%} {% endfor -%} +# Runs all package tests on mimimum supported editor (6000.0 in case of NGOv2.X) +run_all_package_tests_6000: + name: Run All Package Tests [6000.0] + dependencies: +{% for platform in test_platforms.desktop -%} + - .yamato/package-tests.yml#package_test_-_ngo_6000.0_{{ platform.name }} +{% endfor -%} + # Runs all projects tests run_all_project_tests: @@ -61,6 +70,18 @@ run_all_project_tests_trunk: {% endif -%} {% endfor -%} +# Runs all projects tests on mimimum supported editor (6000.0 in case of NGOv2.X) +run_all_project_tests_6000: + name: Run All Project Tests [6000.0] + dependencies: +{% for project in projects.all -%} +{% if project.has_tests == "true" -%} +{% for platform in test_platforms.desktop -%} + - .yamato/project-tests.yml#test_{{ project.name }}_{{ platform.name }}_6000.0 +{% endfor -%} +{% endif -%} +{% endfor -%} + # Runs all project standards check run_all_projects_standards: @@ -104,6 +125,16 @@ run_all_webgl_builds_trunk: {% endfor -%} {% endfor -%} +# Runs all WebGL builds on 6000.0 editor +run_all_webgl_builds_6000: + name: Run All WebGl Build [6000.0] + dependencies: +{% for project in projects.default -%} +{% for platform in test_platforms.desktop -%} + - .yamato/webgl-build.yml#webgl_build_{{ project.name }}_{{ platform.name }}_6000.0 +{% endfor -%} +{% endfor -%} + # Runs all Desktop tests run_all_project_tests_desktop_standalone: @@ -134,6 +165,18 @@ run_all_project_tests_desktop_standalone_trunk: {% endfor -%} {% endfor -%} +# Runs all Desktop tests on mimimum supported editor (6000.0 in case of NGOv2.X) +run_all_project_tests_desktop_standalone_6000: + name: Run All Standalone Tests - Desktop [6000.0] + dependencies: +{% for project in projects.default -%} +{% for platform in test_platforms.desktop -%} +{% for backend in scripting_backends -%} + - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_6000.0 +{% endfor -%} +{% endfor -%} +{% endfor -%} + # Runs all Mobile tests run_all_project_tests_mobile_standalone: name: Run All Standalone Tests - Mobile @@ -159,6 +202,16 @@ run_all_project_tests_mobile_standalone_trunk: {% endfor -%} {% endfor -%} +# Runs all Mobile tests on mimimum supported editor (6000.0 in case of NGOv2.X) +run_all_project_tests_mobile_standalone_6000: + name: Run All Standalone Tests - Mobile [6000.0] + dependencies: +{% for project in projects.default -%} +{% for platform in test_platforms.mobile_test -%} + - .yamato/mobile-standalone-test.yml#mobile_standalone_test_{{ project.name }}_{{ platform.name }}_6000.0 +{% endfor -%} +{% endfor -%} + # Runs all Console tests run_all_project_tests_console_standalone: @@ -184,3 +237,13 @@ run_all_project_tests_console_standalone_trunk: {% endfor -%} {% endfor -%} {% endfor -%} + +# Runs all Console tests on mimimum supported editor (6000.0 in case of NGOv2.X) +run_all_project_tests_console_standalone_6000: + name: Run All Standalone Tests - Console [6000.0] + dependencies: +{% for project in projects.default -%} +{% for platform in test_platforms.console_test -%} + - .yamato/console-standalone-test.yml#console_standalone_test_{{ project.name }}_{{ platform.name }}_6000.0 +{% endfor -%} +{% endfor -%} diff --git a/.yamato/project-standards.yml b/.yamato/project-standards.yml index 6a70daf149..4b05b86610 100644 --- a/.yamato/project-standards.yml +++ b/.yamato/project-standards.yml @@ -29,7 +29,7 @@ #------------------------------------------------------------------------------------ {% for project in projects.all -%} -{% for platform in test_platforms.default -%} +{% for platform in test_platforms.desktop -%} {% for editor in validation_editors.default -%} standards_{{ platform.name }}_{{ project.name }}_{{ editor }}: name: Standards Check - NGO {{ project.name }} [{{ platform.name }}, {{ editor }}] From d295f92432994003daf210890217e8400df3457e Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 12:48:05 +0200 Subject: [PATCH 02/15] Updated trigger jobs with minimal supported editor --- .yamato/_triggers.yml | 91 ++++++++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 39 deletions(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index 352f1f6c08..98ef49bb8f 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -2,55 +2,60 @@ --- # DESCRIPTION-------------------------------------------------------------------------- - # This configuration defines three main CI trigger patterns: - # 1. Pull Request Validation: Validation performed on PR basis - # 2. Nightly Development: Test set run nightly (validates most important test cases) - # 3. Weekly Full Validation: Test set run weekly (validates all test cases to prevent any suprises) - # Each pattern represents different balance between validation depth, execution time and CI resource usage +# This configuration defines three main CI trigger patterns: +# 1. Pull Request Validation: Validation performed on PR basis +# 2. Nightly Development: Test set run nightly (validates most important test cases) +# 3. Weekly Full Validation: Test set run weekly (validates all test cases to prevent any surprises) +# Each pattern represents different balance between validation depth, execution time and CI resource usage # TRIGGER PATTERNS------------------------------------------------------------------- - # Pull Request: - # This test validaes Standards, Package tests, Project tests and Desktop standalone tests to ensure that main platforms are covered - # Triggers on PRs to develop, develop-2.0.0, and release branches - # Focuses on critical validation paths that we should validate before merging PRs - # Cancels previous runs on new commits - # Excludes draft PRs +# Pull Request: +# This test validates Standards, Package tests, Project tests and Desktop standalone tests to ensure that main platforms are covered +# Triggers on PRs to develop, develop, and release branches +# Focuses on critical validation paths that we should validate before merging PRs +# Cancels previous runs on new commits +# Excludes draft PRs - # Nightly: - # This test validaes same subset as pull_request_trigger with addition of mobile/console tests and webgl builds - # Runs daily on develop-2.0.0 (local configuration) - # Includes all test types but only on trunk. TODO: Add validation for minimum supported editor in nightly - # Adds platform-specific and APV validation +# Nightly: +# This test validates same subset as pull_request_trigger with addition of mobile/console tests and webgl builds +# Runs daily on develop (local configuration) +# Includes all test types but only on trunk. +# Adds platform-specific and APV validation - # Weekly: - # This test validaes same subset as develop_nightly but runs per all supported editors as well as executes code coverage test and runs project standards per project - # Runs across all supported editor versions - # Includes code coverage analysis - # Validates all projects and standards +# Weekly: +# This test validates same subset as develop_nightly but runs per all supported editors as well as executes code coverage test and runs project standards per project +# Runs across all supported editor versions +# Includes code coverage analysis +# Validates all projects and standards # CONFIGURATION STRUCTURE-------------------------------------------------------------- - # Jobs configurations are generated by ensuring that all dependencies are successful. - # The dependencies are taken from _run-all.yml file where we can gather multiple tests into proper sets +# Jobs configurations are generated by ensuring that all dependencies are successful. +# The dependencies are taken from _run-all.yml file where we can gather multiple tests into proper sets # QUALITY CONSIDERATIONS--------------------------------------------------------------- # It's important to ensure that all dependencies exist (this can be verified in Yamato) since a modification in parameters may result in a given job not being generated, and thus we will not be able to run such erroneous job. - #----------------------------------------------------------------------------------- # Run all relevant tasks when a pull request targeting the develop or release branch is created or updated. +# In order to have better coverage we run desktop standalone tests with different configurations which allows to mostly cover for different platforms, scripting backends and editor versions. pull_request_trigger: name: Pull Request Trigger (develop, develop-2.0.0, & release branches) dependencies: - # Run project standards to verify package/default project + # Run project standards to verify package/default project. This is fine to just run for trunk - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk - # Run package EditMode and Playmode tests on desktop platforms on trunk + # Run package EditMode and Playmode package tests on trunk - .yamato/_run-all.yml#run_all_package_tests_trunk - # Run project EditMode and PLaymode tests on desktop platforms on trunk + # Run package EditMode and Playmode package tests on minimum supported editor (6000.0 in case of NGOv2.X) + - .yamato/_run-all.yml#run_all_package_tests_6000 + # Run project EditMode and PLaymode project tests 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 + # Run project EditMode and PLaymode project tests on minimum supported editor (6000.0 in case of NGOv2.X) + - .yamato/_run-all.yml#run_all_project_tests_6000 + # Run standalone test with mixture of parameters 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). We run 2 different combinations with different platform/editor/scripting backend. + - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_mac_il2cpp_trunk + - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_mono_6000.0 triggers: cancel_old_ci: true pull_requests: @@ -60,13 +65,13 @@ pull_request_trigger: - "develop-2.0.0" - "/release\/.*/" - drafts: false - + # 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]" + name: "\U0001F319 [Nightly] Run All Tests [Trunk and 6000]" triggers: recurring: - branch: develop-2.0.0 @@ -74,23 +79,31 @@ develop_nightly: rerun: always dependencies: # Run project standards to verify package/default project - - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk + - .yamato/project-standards.yml#standards_win_testproject_trunk + - .yamato/project-standards.yml#standards_ubuntu_testproject_6000.0 # 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 package EditMode and Playmode tests on desktop platforms on trunk + # Run package EditMode and Playmode tests on desktop platforms on trunk and 6000.0 - .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_package_tests_6000 + # Run project EditMode and PLaymode tests on desktop platforms on trunk and 6000.0 - .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_6000 + # Run Runtime tests on desktop players on trunk and 6000.0 editors - .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_desktop_standalone_6000 + # Run Runtime tests on mobile players on trunk and 6000.0 editors - .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_mobile_standalone_6000 + # Run Runtime tests on console players on trunk and 6000.0 editors - .yamato/_run-all.yml#run_all_project_tests_console_standalone_trunk - # Build player for webgl platform on trunk + - .yamato/_run-all.yml#run_all_project_tests_console_standalone_6000 + # Build player for webgl platform on trunk and 6000.0 editors - .yamato/_run-all.yml#run_all_webgl_builds_trunk - # Build player for webgl platform on trunk + - .yamato/_run-all.yml#run_all_webgl_builds_6000 + # Build player for webgl platform on trunk and 6000.0 editors - .yamato/project-updated-dependencies-test.yml#updated-dependencies_testproject_NGO_ubuntu_trunk + - .yamato/project-updated-dependencies-test.yml#updated-dependencies_testproject_NGO_win_6000.0 # Run all tests on weekly bases From e4a47a18aac7c9162b92694fa2629e5973d46a2c Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 13:05:26 +0200 Subject: [PATCH 03/15] Added "run_quick_checks" job that will run the fastest checks and ONLY IF those will pass, it will run the rest of PR trigger dependencies --- .yamato/_run-all.yml | 9 +++++++++ .yamato/_triggers.yml | 31 ++++++++++++++++++------------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/.yamato/_run-all.yml b/.yamato/_run-all.yml index e542f5a1eb..9bc82c3106 100644 --- a/.yamato/_run-all.yml +++ b/.yamato/_run-all.yml @@ -10,6 +10,15 @@ #----------------------------------------------------------------------------------- +# This job runs the fastest checks (PVP and code standards) +# This is mainly used to quickly validate the easy mistakes before for example running PR trigger jobs (see _triggers.yml) +run_quick_checks: + name: Run Quick Initial Checks + dependencies: + - .yamato/package-pack.yml#package_pack_-_ngo_win + - .yamato/package-pack.yml#package_pack_-_ngo_mac + - .yamato/package-pack.yml#package_pack_-_ngo_ubuntu + - .yamato/project-standards.yml#standards_win_testproject_6000.0 # Runs all package tests run_all_package_tests: diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index 98ef49bb8f..3001bebc3e 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -40,22 +40,27 @@ # Run all relevant tasks when a pull request targeting the develop or release branch is created or updated. # In order to have better coverage we run desktop standalone tests with different configurations which allows to mostly cover for different platforms, scripting backends and editor versions. +# This job will FIRST run "run_quick_checks" jobs (defined in _run-all.yml) which runs the fastest checks (like PVP or code standards) and ONLY IF those pass it will run the rest of the tests. +# This optimization allows to speed up feedback look for any "obvious" errors and save resources. pull_request_trigger: name: Pull Request Trigger (develop, develop-2.0.0, & release branches) dependencies: - # Run project standards to verify package/default project. This is fine to just run for trunk - - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk - # Run package EditMode and Playmode package tests on trunk - - .yamato/_run-all.yml#run_all_package_tests_trunk - # Run package EditMode and Playmode package tests on minimum supported editor (6000.0 in case of NGOv2.X) - - .yamato/_run-all.yml#run_all_package_tests_6000 - # Run project EditMode and PLaymode project tests on trunk - - .yamato/_run-all.yml#run_all_project_tests_trunk - # Run project EditMode and PLaymode project tests on minimum supported editor (6000.0 in case of NGOv2.X) - - .yamato/_run-all.yml#run_all_project_tests_6000 - # Run standalone test with mixture of parameters 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). We run 2 different combinations with different platform/editor/scripting backend. - - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_mac_il2cpp_trunk - - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_mono_6000.0 + - .yamato/_run-all.yml#run_quick_checks + - expression: dependencies.run_quick_checks.status == "success" + dependencies: + # Run project standards to verify package/default project. This is fine to just run for trunk + - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk + # Run package EditMode and Playmode package tests on trunk + - .yamato/_run-all.yml#run_all_package_tests_trunk + # Run package EditMode and Playmode package tests on minimum supported editor (6000.0 in case of NGOv2.X) + - .yamato/_run-all.yml#run_all_package_tests_6000 + # Run project EditMode and PLaymode project tests on trunk + - .yamato/_run-all.yml#run_all_project_tests_trunk + # Run project EditMode and PLaymode project tests on minimum supported editor (6000.0 in case of NGOv2.X) + - .yamato/_run-all.yml#run_all_project_tests_6000 + # Run standalone test with mixture of parameters 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). We run 2 different combinations with different platform/editor/scripting backend. + - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_mac_il2cpp_trunk + - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_mono_6000.0 triggers: cancel_old_ci: true pull_requests: From f066223f30f7869257cd10e33b269d5be53f50d6 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 13:08:31 +0200 Subject: [PATCH 04/15] corrected typo --- .yamato/_run-all.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.yamato/_run-all.yml b/.yamato/_run-all.yml index 9bc82c3106..fa02128aa9 100644 --- a/.yamato/_run-all.yml +++ b/.yamato/_run-all.yml @@ -18,7 +18,8 @@ run_quick_checks: - .yamato/package-pack.yml#package_pack_-_ngo_win - .yamato/package-pack.yml#package_pack_-_ngo_mac - .yamato/package-pack.yml#package_pack_-_ngo_ubuntu - - .yamato/project-standards.yml#standards_win_testproject_6000.0 + - .yamato/project-standards.yml#standards_win_testproject_trunk + # Runs all package tests run_all_package_tests: From ef4fd76af75a2cd8426ba93766718149119da037 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 13:21:07 +0200 Subject: [PATCH 05/15] First try with INITIAL and EXTENDED PR job --- .yamato/_triggers.yml | 49 ++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index 3001bebc3e..b37ddc56eb 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -38,29 +38,11 @@ #----------------------------------------------------------------------------------- -# Run all relevant tasks when a pull request targeting the develop or release branch is created or updated. -# In order to have better coverage we run desktop standalone tests with different configurations which allows to mostly cover for different platforms, scripting backends and editor versions. -# This job will FIRST run "run_quick_checks" jobs (defined in _run-all.yml) which runs the fastest checks (like PVP or code standards) and ONLY IF those pass it will run the rest of the tests. -# This optimization allows to speed up feedback look for any "obvious" errors and save resources. -pull_request_trigger: - name: Pull Request Trigger (develop, develop-2.0.0, & release branches) +initial_pull_request_trigger: + name: (INITIAL) Pull Request Trigger (develop, develop-2.0.0, & release branches) dependencies: + # Run fast checks that allow for detection of the simplest issues - .yamato/_run-all.yml#run_quick_checks - - expression: dependencies.run_quick_checks.status == "success" - dependencies: - # Run project standards to verify package/default project. This is fine to just run for trunk - - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk - # Run package EditMode and Playmode package tests on trunk - - .yamato/_run-all.yml#run_all_package_tests_trunk - # Run package EditMode and Playmode package tests on minimum supported editor (6000.0 in case of NGOv2.X) - - .yamato/_run-all.yml#run_all_package_tests_6000 - # Run project EditMode and PLaymode project tests on trunk - - .yamato/_run-all.yml#run_all_project_tests_trunk - # Run project EditMode and PLaymode project tests on minimum supported editor (6000.0 in case of NGOv2.X) - - .yamato/_run-all.yml#run_all_project_tests_6000 - # Run standalone test with mixture of parameters 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). We run 2 different combinations with different platform/editor/scripting backend. - - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_mac_il2cpp_trunk - - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_mono_6000.0 triggers: cancel_old_ci: true pull_requests: @@ -71,6 +53,31 @@ pull_request_trigger: - "/release\/.*/" - drafts: false +# Run all relevant tasks when a pull request targeting the develop or release branch is created or updated. +# In order to have better coverage we run desktop standalone tests with different configurations which allows to mostly cover for different platforms, scripting backends and editor versions. +# This job will FIRST run "run_quick_checks" jobs (defined in _run-all.yml) which runs the fastest checks (like PVP or code standards) and ONLY IF those pass it will run the rest of the tests. +# This optimization allows to speed up feedback look for any "obvious" errors and save resources. +# THIS JOB WILL NOT RUN IF THE INITIAL JOB FAILS (the one above. For example if the code standards fail) +extended_pull_request_trigger: + name: (EXTENDED) Pull Request Trigger (develop, develop-2.0.0, & release branches) + dependencies: + # Run project standards to verify package/default project. This is fine to just run for trunk + - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk + # Run package EditMode and Playmode package tests on trunk + - .yamato/_run-all.yml#run_all_package_tests_trunk + # Run package EditMode and Playmode package tests on minimum supported editor (6000.0 in case of NGOv2.X) + - .yamato/_run-all.yml#run_all_package_tests_6000 + # Run project EditMode and PLaymode project tests on trunk + - .yamato/_run-all.yml#run_all_project_tests_trunk + # Run project EditMode and PLaymode project tests on minimum supported editor (6000.0 in case of NGOv2.X) + - .yamato/_run-all.yml#run_all_project_tests_6000 + # Run standalone test with mixture of parameters 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). We run 2 different combinations with different platform/editor/scripting backend. + - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_mac_il2cpp_trunk + - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_mono_6000.0 + triggers: + expression: dependencies.initial_pull_request_trigger.status == "success" + cancel_old_ci: true + # Run all tests on trunk on nightly basis. # Same subset as pull_request_trigger with addition of mobile/desktop/console tests and webgl builds From f0019fe5430f0d019fb7571e90716daae8689100 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 13:38:50 +0200 Subject: [PATCH 06/15] Corrected initial PR job --- .yamato/_triggers.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index b37ddc56eb..a4f343358b 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -43,6 +43,10 @@ initial_pull_request_trigger: dependencies: # Run fast checks that allow for detection of the simplest issues - .yamato/_run-all.yml#run_quick_checks + - expression: dependencies.run_quick_checks.status == "success" + dependencies: + # Run all PR trigger tests. This will be executed ONLY IF the run_quick_checks dependency passes. + - .yamato/_triggers.yml#extended_pull_request_trigger triggers: cancel_old_ci: true pull_requests: @@ -59,8 +63,10 @@ initial_pull_request_trigger: # This optimization allows to speed up feedback look for any "obvious" errors and save resources. # THIS JOB WILL NOT RUN IF THE INITIAL JOB FAILS (the one above. For example if the code standards fail) extended_pull_request_trigger: - name: (EXTENDED) Pull Request Trigger (develop, develop-2.0.0, & release branches) + name: Pull Request Trigger (develop, develop-2.0.0, & release branches) dependencies: + # Run fast checks that allow for detection of the simplest issues (Needs to be included as dependency to make the expression at the bottom of this job possible) + - .yamato/_triggers.yml#initial_pull_request_trigger # Run project standards to verify package/default project. This is fine to just run for trunk - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk # Run package EditMode and Playmode package tests on trunk @@ -74,9 +80,6 @@ extended_pull_request_trigger: # Run standalone test with mixture of parameters 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). We run 2 different combinations with different platform/editor/scripting backend. - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_mac_il2cpp_trunk - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_mono_6000.0 - triggers: - expression: dependencies.initial_pull_request_trigger.status == "success" - cancel_old_ci: true # Run all tests on trunk on nightly basis. From 6040c38702185aa26eaf6c0fbe680d5623a5d508 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 13:39:36 +0200 Subject: [PATCH 07/15] corrected dependency name --- .yamato/_triggers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index a4f343358b..00dbab6c88 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -43,7 +43,7 @@ initial_pull_request_trigger: dependencies: # Run fast checks that allow for detection of the simplest issues - .yamato/_run-all.yml#run_quick_checks - - expression: dependencies.run_quick_checks.status == "success" + - expression: dependencies..yamato/_run-all.yml#run_quick_checks.status == "success" dependencies: # Run all PR trigger tests. This will be executed ONLY IF the run_quick_checks dependency passes. - .yamato/_triggers.yml#extended_pull_request_trigger From ac00475242bdcf7f287bed07ad440e256316aa59 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 13:47:35 +0200 Subject: [PATCH 08/15] modification --- .yamato/_triggers.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index 00dbab6c88..d83fc18df1 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -43,10 +43,6 @@ initial_pull_request_trigger: dependencies: # Run fast checks that allow for detection of the simplest issues - .yamato/_run-all.yml#run_quick_checks - - expression: dependencies..yamato/_run-all.yml#run_quick_checks.status == "success" - dependencies: - # Run all PR trigger tests. This will be executed ONLY IF the run_quick_checks dependency passes. - - .yamato/_triggers.yml#extended_pull_request_trigger triggers: cancel_old_ci: true pull_requests: @@ -80,6 +76,9 @@ extended_pull_request_trigger: # Run standalone test with mixture of parameters 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). We run 2 different combinations with different platform/editor/scripting backend. - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_mac_il2cpp_trunk - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_mono_6000.0 + triggers: + cancel_old_ci: true + expression: dependencies.initial_pull_request_trigger.status == "success" # Run all tests on trunk on nightly basis. From 302c3e428b604f7d737fae0e6049f23fce8cc0c6 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 13:49:42 +0200 Subject: [PATCH 09/15] modification of expression --- .yamato/_triggers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index d83fc18df1..2d9db3c846 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -78,7 +78,7 @@ extended_pull_request_trigger: - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_mono_6000.0 triggers: cancel_old_ci: true - expression: dependencies.initial_pull_request_trigger.status == "success" + expression: pull_request.dependencies.initial_pull_request_trigger.status == "success" # Run all tests on trunk on nightly basis. From 8efd8f85442669fb88b7519fc7fbf985deda8600 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 14:41:50 +0200 Subject: [PATCH 10/15] Corrected PR trigger definition and added initial check as dependency of project pack job --- .yamato/_run-all.yml | 2 -- .yamato/_triggers.yml | 30 +++++++++--------------------- .yamato/project-pack.yml | 2 ++ 3 files changed, 11 insertions(+), 23 deletions(-) diff --git a/.yamato/_run-all.yml b/.yamato/_run-all.yml index fa02128aa9..048ca36081 100644 --- a/.yamato/_run-all.yml +++ b/.yamato/_run-all.yml @@ -15,8 +15,6 @@ run_quick_checks: name: Run Quick Initial Checks dependencies: - - .yamato/package-pack.yml#package_pack_-_ngo_win - - .yamato/package-pack.yml#package_pack_-_ngo_mac - .yamato/package-pack.yml#package_pack_-_ngo_ubuntu - .yamato/project-standards.yml#standards_win_testproject_trunk diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index 2d9db3c846..de14f84882 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -38,31 +38,13 @@ #----------------------------------------------------------------------------------- -initial_pull_request_trigger: - name: (INITIAL) Pull Request Trigger (develop, develop-2.0.0, & release branches) - dependencies: - # Run fast checks that allow for detection of the simplest issues - - .yamato/_run-all.yml#run_quick_checks - triggers: - cancel_old_ci: true - pull_requests: - - targets: - only: - - "develop" - - "develop-2.0.0" - - "/release\/.*/" - - drafts: false - # Run all relevant tasks when a pull request targeting the develop or release branch is created or updated. # In order to have better coverage we run desktop standalone tests with different configurations which allows to mostly cover for different platforms, scripting backends and editor versions. -# This job will FIRST run "run_quick_checks" jobs (defined in _run-all.yml) which runs the fastest checks (like PVP or code standards) and ONLY IF those pass it will run the rest of the tests. +# This job will FIRST run "run_quick_checks" jobs (defined in _run-all.yml) since it's the dependency of project pack jobs which is on the lowest dependency tier. This runs the fastest checks (like PVP or code standards) and ONLY IF those pass it will run the rest of the tests. # This optimization allows to speed up feedback look for any "obvious" errors and save resources. -# THIS JOB WILL NOT RUN IF THE INITIAL JOB FAILS (the one above. For example if the code standards fail) -extended_pull_request_trigger: +pull_request_trigger: name: Pull Request Trigger (develop, develop-2.0.0, & release branches) dependencies: - # Run fast checks that allow for detection of the simplest issues (Needs to be included as dependency to make the expression at the bottom of this job possible) - - .yamato/_triggers.yml#initial_pull_request_trigger # Run project standards to verify package/default project. This is fine to just run for trunk - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk # Run package EditMode and Playmode package tests on trunk @@ -78,7 +60,13 @@ extended_pull_request_trigger: - .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_mono_6000.0 triggers: cancel_old_ci: true - expression: pull_request.dependencies.initial_pull_request_trigger.status == "success" + pull_requests: + - targets: + only: + - "develop" + - "develop-2.0.0" + - "/release\/.*/" + - drafts: false # Run all tests on trunk on nightly basis. diff --git a/.yamato/project-pack.yml b/.yamato/project-pack.yml index 5a0337a6a1..ccd9708339 100644 --- a/.yamato/project-pack.yml +++ b/.yamato/project-pack.yml @@ -35,6 +35,8 @@ project_pack_-_{{ project.name }}_{{ platform.name }}: commands: - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm # upm-ci is not preinstalled on the image so we need to download it - upm-ci project pack --project-path {{ project.path }} + dependencies: + - .yamato/_run-all.yml#run_quick_checks artifacts: packages: paths: From 115a8abebde731db47e8bab8c52c64a919c70101 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 14:44:26 +0200 Subject: [PATCH 11/15] removed API docs for testing --- .../NetworkVariable/AnticipatedNetworkVariable.cs | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs index 5fe5d40818..34141ab0a7 100644 --- a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs +++ b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs @@ -249,16 +249,8 @@ public T AuthoritativeValue } } } + - /// - /// A function to interpolate between two values based on a percentage. - /// See , , , and so on - /// for examples. - /// - /// The authoritative value to interpolate from - /// The anticipated value to interpolate to - /// The interpolation factor between 0 and 1 - /// The interpolated value public delegate T SmoothDelegate(T authoritativeValue, T anticipatedValue, float amount); private SmoothDelegate m_SmoothDelegate = null; From 0678062d72c6af80c6286002f2ed76241fb8e7b0 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 14:56:43 +0200 Subject: [PATCH 12/15] Added run_quick_checks as dependency to initial jobs --- .yamato/_triggers.yml | 3 +-- .yamato/package-tests.yml | 1 + .yamato/project-pack.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index de14f84882..41b7b53816 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -42,11 +42,10 @@ # In order to have better coverage we run desktop standalone tests with different configurations which allows to mostly cover for different platforms, scripting backends and editor versions. # This job will FIRST run "run_quick_checks" jobs (defined in _run-all.yml) since it's the dependency of project pack jobs which is on the lowest dependency tier. This runs the fastest checks (like PVP or code standards) and ONLY IF those pass it will run the rest of the tests. # This optimization allows to speed up feedback look for any "obvious" errors and save resources. +# Since standards job is a part of initial checks it's not present as direct dependency here pull_request_trigger: name: Pull Request Trigger (develop, develop-2.0.0, & release branches) dependencies: - # Run project standards to verify package/default project. This is fine to just run for trunk - - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk # Run package EditMode and Playmode package tests on trunk - .yamato/_run-all.yml#run_all_package_tests_trunk # Run package EditMode and Playmode package tests on minimum supported editor (6000.0 in case of NGOv2.X) diff --git a/.yamato/package-tests.yml b/.yamato/package-tests.yml index 2d304ad02e..ff1188e337 100644 --- a/.yamato/package-tests.yml +++ b/.yamato/package-tests.yml @@ -54,6 +54,7 @@ package_test_-_ngo_{{ editor }}_{{ platform.name }}: - "upm-ci~/test-results/**/*" - "pvp-results/*" dependencies: + - .yamato/_run-all.yml#run_quick_checks # initial checks to perform fast validation of common errors - .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 ccd9708339..647d395bde 100644 --- a/.yamato/project-pack.yml +++ b/.yamato/project-pack.yml @@ -36,7 +36,7 @@ project_pack_-_{{ project.name }}_{{ platform.name }}: - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm # upm-ci is not preinstalled on the image so we need to download it - upm-ci project pack --project-path {{ project.path }} dependencies: - - .yamato/_run-all.yml#run_quick_checks + - .yamato/_run-all.yml#run_quick_checks # initial checks to perform fast validation of common errors artifacts: packages: paths: From 7c6cc17c8be7938d0733f20dd00536e4934ab9b3 Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 15:04:23 +0200 Subject: [PATCH 13/15] reverted API removal --- .../NetworkVariable/AnticipatedNetworkVariable.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs index 34141ab0a7..5fe5d40818 100644 --- a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs +++ b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs @@ -249,8 +249,16 @@ public T AuthoritativeValue } } } - + /// + /// A function to interpolate between two values based on a percentage. + /// See , , , and so on + /// for examples. + /// + /// The authoritative value to interpolate from + /// The anticipated value to interpolate to + /// The interpolation factor between 0 and 1 + /// The interpolated value public delegate T SmoothDelegate(T authoritativeValue, T anticipatedValue, float amount); private SmoothDelegate m_SmoothDelegate = null; From cfa21f4bfde97b1056910380fb78c80038b1c23d Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 15:14:22 +0200 Subject: [PATCH 14/15] Corrected webgl dependencies --- .yamato/_run-all.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.yamato/_run-all.yml b/.yamato/_run-all.yml index 048ca36081..8f7ea367b8 100644 --- a/.yamato/_run-all.yml +++ b/.yamato/_run-all.yml @@ -138,9 +138,11 @@ run_all_webgl_builds_6000: name: Run All WebGl Build [6000.0] dependencies: {% for project in projects.default -%} +{% if platform.name != "mac" -%} # There is an error about "Light baking could not be started because no valid OpenCL device could be found". Tracked in MTT-11726 {% for platform in test_platforms.desktop -%} - .yamato/webgl-build.yml#webgl_build_{{ project.name }}_{{ platform.name }}_6000.0 {% endfor -%} +{% endif -%} {% endfor -%} From 3a8188af07371e116f503182bffbfa3133d7485b Mon Sep 17 00:00:00 2001 From: michalChrobot Date: Wed, 16 Apr 2025 15:31:46 +0200 Subject: [PATCH 15/15] Corrected project standards to use only default platform --- .yamato/_run-all.yml | 2 +- .yamato/_triggers.yml | 2 +- .yamato/project-standards.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.yamato/_run-all.yml b/.yamato/_run-all.yml index 8f7ea367b8..1fb8cdec3f 100644 --- a/.yamato/_run-all.yml +++ b/.yamato/_run-all.yml @@ -16,7 +16,7 @@ run_quick_checks: name: Run Quick Initial Checks dependencies: - .yamato/package-pack.yml#package_pack_-_ngo_ubuntu - - .yamato/project-standards.yml#standards_win_testproject_trunk + - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk # Runs all package tests diff --git a/.yamato/_triggers.yml b/.yamato/_triggers.yml index 41b7b53816..3018bc5176 100644 --- a/.yamato/_triggers.yml +++ b/.yamato/_triggers.yml @@ -80,7 +80,7 @@ develop_nightly: rerun: always dependencies: # Run project standards to verify package/default project - - .yamato/project-standards.yml#standards_win_testproject_trunk + - .yamato/project-standards.yml#standards_ubuntu_testproject_trunk - .yamato/project-standards.yml#standards_ubuntu_testproject_6000.0 # Run APV jobs to make sure the change won't break any dependants - .yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs diff --git a/.yamato/project-standards.yml b/.yamato/project-standards.yml index 4b05b86610..6a70daf149 100644 --- a/.yamato/project-standards.yml +++ b/.yamato/project-standards.yml @@ -29,7 +29,7 @@ #------------------------------------------------------------------------------------ {% for project in projects.all -%} -{% for platform in test_platforms.desktop -%} +{% 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 }}]