Skip to content

build: NGO CI update and rewrite [2.X] #3193

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 69 commits into from
Feb 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
b2b4dec
Deleted multiprocess tests, project-promotion, project-publish and pr…
michalChrobot Jan 6, 2025
264e7c6
Updated project metafile
michalChrobot Jan 6, 2025
feac921
Package and Project pack jobs
michalChrobot Jan 6, 2025
269d27e
Package and Project tests
michalChrobot Jan 6, 2025
05c1b27
Project standards job
michalChrobot Jan 6, 2025
626a461
WebGL build job
michalChrobot Jan 6, 2025
7ba59e0
Desktop standalone tests
michalChrobot Jan 6, 2025
fd7b443
Mobile standalone tests
michalChrobot Jan 6, 2025
acc4764
Console standalone tests
michalChrobot Jan 6, 2025
e3f5063
Code coverage test
michalChrobot Jan 6, 2025
63b6b7e
Performance tests
michalChrobot Jan 6, 2025
26c051f
Triggers
michalChrobot Jan 6, 2025
9d628d8
Run all jobs
michalChrobot Jan 6, 2025
a54e226
Linter and comment corrections
michalChrobot Jan 7, 2025
0d0aba3
Removed "Unreleased" section from Changelog as per PVP requirements
michalChrobot Jan 7, 2025
6b2f885
Modified mobile test command to exclude parameters needed only for bu…
michalChrobot Jan 17, 2025
b37b2b0
Removing unnecessary commands from desktop and console standalone tests
michalChrobot Jan 22, 2025
37221d7
Merge branch 'develop-2.0.0' into NGO-CI-rewrite-for-develop-2.0.0
michalChrobot Jan 22, 2025
9788a19
Separation of desktop standalone tests into build and test phases
michalChrobot Jan 23, 2025
b112568
Corrected linter error
michalChrobot Jan 23, 2025
762ba9d
Removed unreleased section (PVP exception), corrected standalone test…
michalChrobot Jan 24, 2025
59a68e9
Corrected testfilter option
michalChrobot Jan 24, 2025
d978eb8
Added testfilter to run phase of standalone desktop tests
michalChrobot Jan 24, 2025
660008e
modified testfilter to be string
michalChrobot Jan 24, 2025
4cc821d
Corrected artifacts paths
michalChrobot Jan 24, 2025
5c0b578
Corrected artifacts paths
michalChrobot Jan 24, 2025
d0af58f
Merge branch 'NGO-CI-rewrite-for-develop-2.0.0' of https://github.com…
michalChrobot Jan 24, 2025
aaf6f02
Corrected linter indentations
michalChrobot Jan 24, 2025
f472c55
artifacts correction
michalChrobot Jan 24, 2025
0311ff5
Refactored artifacts for desktop standalone test
michalChrobot Jan 24, 2025
87134ed
Corrected paths for a test in standalone build
michalChrobot Jan 24, 2025
66969cf
corrected build load path
michalChrobot Jan 24, 2025
824a58c
Corrected keys in artifacts for desktop standalone jobs
michalChrobot Jan 28, 2025
7ae40b3
Downloading editor for run tests phase on desktop standalone
michalChrobot Jan 29, 2025
b0f8ee3
Updated build and test configuration for all standalone tests
michalChrobot Jan 29, 2025
2426239
Created project-updated-dependencies test together with badges update…
michalChrobot Jan 29, 2025
a938f78
Rmoved badges usage since it's discontinued. Added platform argument …
michalChrobot Jan 30, 2025
9d9b6a8
Removed usage of disable-burst-if-requested file (AoT compilation rel…
michalChrobot Jan 30, 2025
78884ae
Removed last badges izon test since izon was decommissioned. Removed …
michalChrobot Jan 30, 2025
2f9ac90
added updated-dependencies test to nightly trigger
michalChrobot Jan 30, 2025
49e2cd1
Removed android arm64 configuration
michalChrobot Jan 31, 2025
9a78699
corrected metafile with similar removal of android arm64 build
michalChrobot Jan 31, 2025
b9e7912
Corrected configuration for android run on ubuntu
michalChrobot Jan 31, 2025
5ba0c42
Corrected Android adb connection and disabled test for IOS
michalChrobot Feb 4, 2025
643257d
Reverted android test to be windows image based
michalChrobot Feb 4, 2025
c949d9b
Corrected android commands (from ubuntu style to win) and disabled IO…
michalChrobot Feb 4, 2025
6eeab80
Removed asynchronous connection command
michalChrobot Feb 4, 2025
83d118e
Disabled IOS test
michalChrobot Feb 4, 2025
26e2d25
Updated ADB connection commands for Android
michalChrobot Feb 5, 2025
672b586
Added PVPexceptions file which solves the problem of unreleased secti…
michalChrobot Feb 5, 2025
0e23931
Updated pvpExceptions, added meta file and testing different android …
michalChrobot Feb 5, 2025
6dd9a5f
Removed specific android model
michalChrobot Feb 5, 2025
496360b
Changed android test command
michalChrobot Feb 5, 2025
89454e5
Disabled tests for iOS were also disabled for Android (were also fail…
michalChrobot Feb 5, 2025
af133d5
Disabling failing Android tes
michalChrobot Feb 5, 2025
d4721bb
Added renovate config file which relates to renovate PR merged to dev…
michalChrobot Feb 6, 2025
c65189c
Unified android image
michalChrobot Feb 6, 2025
6d76d90
Testing package clean command
michalChrobot Feb 6, 2025
5617951
Merge branch 'develop-2.0.0' into NGO-CI-rewrite-for-develop-2.0.0
NoelStephensUnity Feb 6, 2025
302ba7c
ci-test
NoelStephensUnity Feb 6, 2025
58215ec
Revert "ci-test"
NoelStephensUnity Feb 6, 2025
67a6c5b
Update NetworkTransformAnticipationTests.cs
NoelStephensUnity Feb 6, 2025
7d80f56
Removed unsupported command
michalChrobot Feb 6, 2025
832c316
fix
NoelStephensUnity Feb 6, 2025
2bbc862
Modified PR trigger job indentation and created pack jobs on differen…
michalChrobot Feb 7, 2025
ba922bb
Corrected triggers dependencies
michalChrobot Feb 7, 2025
231b861
Corrected project standards dependency within trigger jobs
michalChrobot Feb 7, 2025
c362f0b
Updated trigger jobs dependencies
michalChrobot Feb 7, 2025
07cd7e7
Corrected Renovate bot config in the same way as in develop branch. P…
michalChrobot Feb 7, 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
39 changes: 39 additions & 0 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"baseBranches": ["develop", "develop-2.0.0"],
"dependencyDashboard": true,

"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>Unity-Technologies/unity-renovate-config"
],
"prConcurrentLimit": 100,
// Ignore commits produced by github actions workflows
"gitIgnoredAuthors": ["[email protected]"],
"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,
},
],
}
38 changes: 0 additions & 38 deletions .github/workflows/renovate-validation.yml

This file was deleted.

33 changes: 0 additions & 33 deletions .github/workflows/renovate.yml

This file was deleted.

220 changes: 116 additions & 104 deletions .yamato/_run-all.yml
Original file line number Diff line number Diff line change
@@ -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_test_{{ 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_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 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 -%}
Loading