Skip to content

ci: [Backport] NGO CI update and rewrite [1.X] (#3193) #3283

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 28 commits into from
Feb 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
422f342
build: NGO CI update and rewrite [2.X] (#3193)
michalChrobot Feb 11, 2025
04c08ce
Updated pvpExceptions file and moved it to proper location
michalChrobot Feb 11, 2025
af0f2b5
Added pvpExceptions file into package folder
michalChrobot Feb 11, 2025
9fd039a
Updated editor coverage
michalChrobot Feb 11, 2025
f052f95
Updated pvpExceptions meta file
michalChrobot Feb 11, 2025
2de9fba
Corrected pvpExceptions meta
michalChrobot Feb 11, 2025
7ccdd89
Fixed Standard check error saying "'NetworkDriver.RemoteEndPoint(Netw…
michalChrobot Feb 11, 2025
6dfaa81
Merge branch 'develop' into NGO-CI-rewrite-for-develop
michalChrobot Feb 11, 2025
9faa618
Revert "Fixed Standard check error saying "'NetworkDriver.RemoteEndPo…
michalChrobot Feb 11, 2025
b7fcdef
Merge branch 'NGO-CI-rewrite-for-develop' of https://github.com/Unity…
michalChrobot Feb 11, 2025
2870963
Merge branch 'develop' into NGO-CI-rewrite-for-develop
NoelStephensUnity Feb 11, 2025
6cc324b
fix
NoelStephensUnity Feb 12, 2025
2ff4608
fix
NoelStephensUnity Feb 12, 2025
f69b07c
fix
NoelStephensUnity Feb 12, 2025
50837d3
fix
NoelStephensUnity Feb 12, 2025
90a0ca5
Corrected trigger branch for nightly and weekly jobs
michalChrobot Feb 12, 2025
888838c
Added testing coverage on minimal supported editor (2021.3)
michalChrobot Feb 12, 2025
7953588
Corrected typo in runAll configurtation
michalChrobot Feb 12, 2025
f403305
Corrected platform name in webgl definition
michalChrobot Feb 12, 2025
f950d68
Added missing tests coverage for project-updated-dependencies
michalChrobot Feb 12, 2025
2dc1ad8
Corrected coverage
michalChrobot Feb 12, 2025
ab77240
update
NoelStephensUnity Feb 12, 2025
4d830bf
test - fix
NoelStephensUnity Feb 12, 2025
7e3b37b
Changed PR trigger to use mono for 2021 build
michalChrobot Feb 13, 2025
61d6d41
Added libssl install step
michalChrobot Feb 13, 2025
c80a2f3
Updated libssl version
michalChrobot Feb 13, 2025
4fa8cf3
Changed build for 2021.3 editor to win
michalChrobot Feb 13, 2025
b4fc48b
Merge branch 'develop' into NGO-CI-rewrite-for-develop
NoelStephensUnity Feb 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"baseBranches": ["develop", "develop-2.0.0"],
"dependencyDashboard": true,

"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>Unity-Technologies/unity-renovate-config"
Expand All @@ -15,6 +15,7 @@
"**/*~/**"
],
"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
{
Expand Down
282 changes: 181 additions & 101 deletions .yamato/_run-all.yml
Original file line number Diff line number Diff line change
@@ -1,161 +1,241 @@
{% metadata_file .yamato/project.metafile %}
---
run_all_tests:
name: Run All Package and Project 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

# Runs all package tests
run_all_package_tests:
name: Run All Package Tests
dependencies:
{% 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 package tests on mimimum supported editor (2021.3 in case of NGOv1.X)
run_all_package_tests_2021:
name: Run All Package Tests [2021.3]
dependencies:
{% for platform in test_platforms.desktop -%}
- .yamato/package-tests.yml#package_test_-_ngo_trunk_{{ platform.name }}
- .yamato/package-tests.yml#package_test_-_ngo_2021.3_{{ platform.name }}
{% endfor -%}


# 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 -%}
{% endif -%}
{% endfor -%}
{% endif -%}
{% 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 }}
{% 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 -%}
- .yamato/project-tests.yml#test_{{ project.name }}_{{ editor }}_{{ platform.name }}
{% 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 }}
# Runs all projects tests on mimimum supported editor (2021.3 in case of NGOv1.X)
run_all_project_tests_2021:
name: Run All Project Tests [2021.3]
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 }}_trunk
- .yamato/project-tests.yml#test_{{ project.name }}_{{ platform.name }}_2021.3
{% endfor -%}
{% endif -%}
{% endfor -%}


# 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 -%}
{% endif -%}
{% endfor -%}
{% endfor -%}

all_project_tests:
name: Run All Project Tests

# Runs all WebGL builds
run_all_webgl_builds:
name: Run All WebGl Build
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.all -%}
- .yamato/webgl-build.yml#webgl_build_{{ project.name }}_{{ platform.name }}_{{ editor }}
{% endfor -%}
{% endfor -%}
{% endfor -%}

all_package_tests:
name: Run All Package 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 -%}
{% 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.default -%}
- .yamato/webgl-build.yml#webgl_build_{{ project.name }}_{{ platform.name }}_{{ editor }}
{% endfor -%}
{% endfor -%}
{% endfor -%}

# Runs all WebGL builds on 2021.3 editor
run_all_webgl_builds_2021:
name: Run All WebGl Build [2021.3]
dependencies:
{% for project in projects.default -%}
{% for platform in test_platforms.desktop -%}
- .yamato/webgl-build.yml#webgl_build_{{ project.name }}_{{ platform.name }}_trunk
- .yamato/webgl-build.yml#webgl_build_{{ project.name }}_{{ platform.name }}_2021.3
{% endfor -%}
{% endfor -%}

# Test minimal project with different versions of dependencies
all_compatibility_tests:
name: Run All Compatibility Tests

# Runs all Desktop tests
run_all_project_tests_desktop_standalone:
name: Run All Standalone Tests - Desktop
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.all -%}
{% for backend in scripting_backends -%}
- .yamato/desktop-standalone-tests.yml#desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }}
{% endfor -%}
{% endfor -%}
{% endif -%}
{% endfor -%}
{% endfor -%}

all_singlenode_multiprocess_tests:
name: Run All Multiprocess Tests - Single Node

# 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 -%}
{% 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.desktop -%}
{% for editor in validation_editors.default -%}
{% for backend in scripting_backends -%}
- .yamato/desktop-standalone-tests.yml#desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }}
{% endfor -%}
{% endfor -%}
{% endfor -%}
{% endfor -%}

all_project_tests_standalone:
name: Run All Project Tests - Standalone
# Runs all Desktop tests on mimimum supported editor (2021.3 in case of NGOv1.X)
run_all_project_tests_desktop_standalone_2021:
name: Run All Standalone Tests - Desktop [2021.3]
dependencies:
{% for platform in test_platforms -%}
{% for project in projects -%}
{% if project.has_tests == "true" -%}
{% for editor in project.test_editors -%}
{% for project in projects.default -%}
{% for platform in test_platforms.desktop -%}
{% for backend in scripting_backends -%}
- .yamato/standalone-project-tests.yml#standalone_tests_{{ project.name }}_{{ backend }}_{{ editor }}_{{ platform.name }}
- .yamato/desktop-standalone-tests.yml#desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_trunk
- .yamato/desktop-standalone-tests.yml#desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_2021.3
{% endfor -%}
{% endfor -%}
{% endif -%}
{% endfor -%}

# Runs all Mobile tests
run_all_project_tests_mobile_standalone:
name: Run All Standalone Tests - Mobile
dependencies:
{% 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_mobile:
name: Run All Project Tests - Mobile

# Runs all Mobile tests on trunk editor
run_all_project_tests_mobile_standalone_trunk:
name: Run All Standalone Tests - Mobile [Trunk only]
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.mobile_test -%}
{% for editor in validation_editors.default -%}
- .yamato/mobile-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 Mobile tests on mimimum supported editor (2021.3 in case of NGOv1.X)
run_all_project_tests_mobile_standalone_2021:
name: Run All Standalone Tests - Mobile [2021.3]
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.mobile_test -%}
- .yamato/mobile-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_trunk
- .yamato/mobile-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_2021.3
{% endfor -%}
{% endfor -%}


# Runs all Console tests
run_all_project_tests_console_standalone:
name: Run All Standalone Tests - Console
dependencies:
{% 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 -%}
{% endfor -%}


# 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.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 -%}
{% endfor -%}

# Runs all Console tests on mimimum supported editor (2021.3 in case of NGOv1.X)
run_all_project_tests_console_standalone_2021:
name: Run All Standalone Tests - Console [2021.3]
dependencies:
{% for project in projects.default -%}
{% for platform in test_platforms.console_test -%}
- .yamato/console-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_trunk
- .yamato/console-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_2021.3
{% endfor -%}
{% endif -%}
{% endfor -%}
Loading