Skip to content

Commit be45e86

Browse files
build: NGO CI update and rewrite [2.X] (#3193)
* Refactor of CI setup, jobs and triggers * Disabling some tests which failing on mobile devices * Setting up Renovate bot configuration (same as already present in develop branch) * Added pvpExceptions file --------- Co-authored-by: NoelStephensUnity <[email protected]>
1 parent c369bfd commit be45e86

28 files changed

+1990
-894
lines changed

.github/renovate.json5

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"baseBranches": ["develop", "develop-2.0.0"],
3+
"dependencyDashboard": true,
4+
5+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
6+
"extends": [
7+
"local>Unity-Technologies/unity-renovate-config"
8+
],
9+
"prConcurrentLimit": 100,
10+
// Ignore commits produced by github actions workflows
11+
"gitIgnoredAuthors": ["[email protected]"],
12+
"ignorePaths": [
13+
"**/node_modules/**",
14+
// Don't renovate files in special folders using ~ as suffix
15+
"**/*~/**"
16+
],
17+
"packageRules": [
18+
19+
// Run unity-upm-project and unity-upm-package only on weekends to reduce PR noise
20+
// Also ensure dependencies won't be downgraded when they don't exist in the public repositories
21+
{
22+
"matchManagers": [
23+
"unity-upm-project",
24+
"unity-upm-package"
25+
],
26+
"enabled": "true",
27+
"schedule": [
28+
"every weekend"
29+
],
30+
"rollbackPrs": false
31+
},
32+
33+
// Enable automerge for Bokken image updates
34+
{
35+
"matchDatasources": ["unity-bokken"],
36+
"automerge": false,
37+
},
38+
],
39+
}

.github/workflows/renovate-validation.yml

-38
This file was deleted.

.github/workflows/renovate.yml

-33
This file was deleted.

.yamato/_run-all.yml

+116-104
Original file line numberDiff line numberDiff line change
@@ -1,161 +1,173 @@
11
{% metadata_file .yamato/project.metafile %}
22
---
3-
run_all_tests:
4-
name: Run All Package and Project Tests
3+
4+
# Runs all package tests
5+
run_all_package_tests:
6+
name: Run All Package Tests
57
dependencies:
6-
# Pull in package and validate jobs through the badges job
7-
- .yamato/_triggers.yml#badges_test_trigger
8-
- .yamato/mobile-build-and-test.yml#run_{{ projects.first.name }}_tests_{{ mobile_validation_editor }}_iOS
9-
- .yamato/mobile-build-and-test.yml#run_{{ projects.first.name }}_tests_{{ mobile_validation_editor }}_android
10-
# - .yamato/_run-all.yml#all_project_tests_standalone
11-
{% for project in projects -%}
12-
{% if project.name == "testproject" -%}
13-
{% for editor in project.test_editors -%}
14-
- .yamato/webgl-build.yml#build_{{ project.name }}_tests_{{ editor }}_webgl
8+
{% for platform in test_platforms.desktop -%}
9+
{% for editor in validation_editors.all -%}
10+
- .yamato/package-tests.yml#package_test_-_ngo_{{ editor }}_{{ platform.name }}
1511
{% endfor -%}
16-
{% endif -%}
1712
{% endfor -%}
1813

19-
{% for platform in test_platforms -%}
20-
{% for project in projects -%}
21-
{% for editor in project.test_editors -%}
22-
{% if editor != "trunk" -%}
23-
{% for package in project.packages -%}
24-
- .yamato/package-tests.yml#test_{{ project.name}}_{{ package.name }}_{{ editor }}_{{ platform.name }}
14+
15+
# Runs all package tests on trunk editor
16+
run_all_package_tests_trunk:
17+
name: Run All Package Tests [Trunk only]
18+
dependencies:
19+
{% for platform in test_platforms.desktop -%}
20+
{% for editor in validation_editors.default -%}
21+
- .yamato/package-tests.yml#package_test_-_ngo_{{ editor }}_{{ platform.name }}
2522
{% endfor -%}
26-
- .yamato/project-tests.yml#test_{{ project.name }}_{{ editor }}_{{ platform.name }}
27-
{% endif -%}
2823
{% endfor -%}
2924

30-
## Test minimal project with different versions of dependencies
31-
{% if project.name == "minimalproject" -%}
32-
{% for dependency in dependencies -%}
33-
{% for depeditor in dependency.test_editors -%}
34-
{% if depeditor != "trunk" -%}
35-
- .yamato/package-tests.yml#test_compatibility_{{ project.name }}_{{ project.packages.first.name }}_with_{{ dependency.name }}@{{ dependency.version }}_{{ depeditor }}_{{ platform.name }}
36-
{% endif -%}
25+
26+
# Runs all projects tests
27+
run_all_project_tests:
28+
name: Run All Project Tests
29+
dependencies:
30+
{% for project in projects.all -%}
31+
{% if project.has_tests == "true" -%}
32+
{% for platform in test_platforms.desktop -%}
33+
{% for editor in validation_editors.all -%}
34+
- .yamato/project-tests.yml#test_{{ project.name }}_{{ platform.name }}_{{ editor }}
3735
{% endfor -%}
3836
{% endfor -%}
3937
{% endif -%}
4038
{% endfor -%}
41-
{% endfor -%}
4239

43-
run_all_tests_trunk:
44-
name: Run All Package and Project Tests [Trunk]
40+
41+
# Runs all projects tests on trunk editor
42+
run_all_project_tests_trunk:
43+
name: Run All Project Tests [Trunk only]
4544
dependencies:
46-
{% for platform in test_platforms -%}
47-
{% for project in projects -%}
48-
{% for editor in project.test_editors -%}
49-
{% if editor == "trunk" -%}
50-
{% for package in project.packages -%}
51-
- .yamato/package-tests.yml#test_{{ project.name}}_{{ package.name }}_{{ editor }}_{{ platform.name }}
52-
{% endfor -%}
53-
- .yamato/project-tests.yml#test_{{ project.name }}_{{ editor }}_{{ platform.name }}
45+
{% for project in projects.all -%}
46+
{% if project.has_tests == "true" -%}
47+
{% for platform in test_platforms.desktop -%}
48+
{% for editor in validation_editors.default -%}
49+
- .yamato/project-tests.yml#test_{{ project.name }}_{{ platform.name }}_{{ editor }}
50+
{% endfor -%}
51+
{% endfor -%}
5452
{% endif -%}
5553
{% endfor -%}
5654

57-
## Test minimal project with different versions of dependencies on trunk
58-
{% if project.name == "minimalproject" -%}
59-
{% for dependency in dependencies -%}
60-
{% for depeditor in dependency.test_editors -%}
61-
{% if depeditor == "trunk" -%}
62-
- .yamato/package-tests.yml#test_compatibility_{{ project.name }}_{{ project.packages.first.name }}_with_{{ dependency.name }}@{{ dependency.version }}_{{ depeditor }}_{{ platform.name }}
63-
{% endif -%}
55+
56+
# Runs all project standards check
57+
run_all_projects_standards:
58+
name: Run All Projects Standards
59+
dependencies:
60+
{% for platform in test_platforms.default -%}
61+
{% for project in projects.all -%}
62+
{% for editor in validation_editors.default -%}
63+
- .yamato/project-standards.yml#standards_{{ platform.name }}_{{ project.name }}_{{ editor }}
6464
{% endfor -%}
6565
{% endfor -%}
66-
{% endif -%}
66+
{% endfor -%}
67+
68+
69+
# Runs all WebGL builds
70+
run_all_webgl_builds:
71+
name: Run All WebGl Build
72+
dependencies:
73+
{% for project in projects.default -%}
74+
{% for platform in test_platforms.desktop -%}
75+
{% for editor in validation_editors.all -%}
76+
- .yamato/webgl-build.yml#webgl_build_{{ project.name }}_{{ platform }}_{{ editor }}
77+
{% endfor -%}
6778
{% endfor -%}
6879
{% endfor -%}
6980

70-
all_project_tests:
71-
name: Run All Project Tests
81+
82+
# Runs all WebGL builds on trunk editor
83+
run_all_webgl_builds_trunk:
84+
name: Run All WebGl Build [Trunk only]
7285
dependencies:
73-
- .yamato/_triggers.yml#badges_test_trigger
74-
{% for platform in test_platforms -%}
75-
{% for project in projects -%}
76-
{% for editor in project.test_editors -%}
77-
- .yamato/project-tests.yml#test_{{ projects.first.name }}_{{ editor }}_{{ platform.name }}
86+
{% for project in projects.default -%}
87+
{% for platform in test_platforms.desktop -%}
88+
{% for editor in validation_editors.default -%}
89+
- .yamato/webgl-build.yml#webgl_build_{{ project.name }}_{{ platform }}_{{ editor }}
7890
{% endfor -%}
7991
{% endfor -%}
8092
{% endfor -%}
8193

82-
all_package_tests:
83-
name: Run All Package Tests
94+
95+
# Runs all Desktop tests
96+
run_all_project_tests_desktop_standalone:
97+
name: Run All Standalone Tests - Desktop
8498
dependencies:
85-
- .yamato/_triggers.yml#badges_test_trigger
86-
{% for platform in test_platforms -%}
87-
{% for project in projects -%}
88-
{% for editor in project.test_editors -%}
89-
{% for package in project.packages -%}
90-
- .yamato/package-tests.yml#test_{{ project.name}}_{{ package.name }}_{{ editor }}_{{ platform.name }}
99+
{% for project in projects.default -%}
100+
{% for platform in test_platforms.desktop -%}
101+
{% for editor in validation_editors.all -%}
102+
{% for backend in scripting_backends -%}
103+
- .yamato/desktop-standalone-tests.yml#desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }}
91104
{% endfor -%}
92105
{% endfor -%}
93106
{% endfor -%}
94107
{% endfor -%}
95108

96-
# Test minimal project with different versions of dependencies
97-
all_compatibility_tests:
98-
name: Run All Compatibility Tests
109+
110+
# Runs all Desktop tests on trunk editor
111+
run_all_project_tests_desktop_standalone_trunk:
112+
name: Run All Standalone Tests - Desktop [Trunk only]
99113
dependencies:
100-
{% for platform in test_platforms -%}
101-
{% for project in projects -%}
102-
{% if project.name == "minimalproject" -%}
103-
{% for dependency in dependencies -%}
104-
{% for editor in dependency.test_editors -%}
105-
- .yamato/package-tests.yml#test_compatibility_{{ project.name }}_{{ project.packages.first.name }}_with_{{ dependency.name }}@{{ dependency.version }}_{{ editor }}_{{ platform.name }}
114+
{% for project in projects.default -%}
115+
{% for platform in test_platforms.desktop -%}
116+
{% for editor in validation_editors.default -%}
117+
{% for backend in scripting_backends -%}
118+
- .yamato/desktop-standalone-tests.yml#desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }}
106119
{% endfor -%}
107120
{% endfor -%}
108-
{% endif -%}
109121
{% endfor -%}
110122
{% endfor -%}
111123

112-
all_singlenode_multiprocess_tests:
113-
name: Run All Multiprocess Tests - Single Node
124+
# Runs all Mobile tests
125+
run_all_project_tests_mobile_standalone:
126+
name: Run All Standalone Tests - Mobile
114127
dependencies:
115-
{% for platform in test_platforms -%}
116-
{% for project in projects -%}
117-
{% for editor in project.test_editors -%}
118-
{% if editor != "trunk" %}
119-
- .yamato/multiprocess-project-tests.yml#singlenode_multiprocess_test_testproject_{{ editor }}_{{ platform.name }}
120-
{% endif %}
128+
{% for project in projects.default -%}
129+
{% for platform in test_platforms.mobile_test -%}
130+
{% for editor in validation_editors.all -%}
131+
- .yamato/mobile-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}
121132
{% endfor -%}
122133
{% endfor -%}
123134
{% endfor -%}
124135

125-
all_project_tests_standalone:
126-
name: Run All Project Tests - Standalone
136+
137+
# Runs all Mobile tests on trunk editor
138+
run_all_project_tests_mobile_standalone_trunk:
139+
name: Run All Standalone Tests - Mobile [Trunk only]
127140
dependencies:
128-
{% for platform in test_platforms -%}
129-
{% for project in projects -%}
130-
{% if project.has_tests == "true" -%}
131-
{% for editor in project.test_editors -%}
132-
{% for backend in scripting_backends -%}
133-
- .yamato/standalone-project-tests.yml#standalone_tests_{{ project.name }}_{{ backend }}_{{ editor }}_{{ platform.name }}
141+
{% for project in projects.default -%}
142+
{% for platform in test_platforms.mobile_test -%}
143+
{% for editor in validation_editors.default -%}
144+
- .yamato/mobile-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}
134145
{% endfor -%}
135146
{% endfor -%}
136-
{% endif -%}
137-
{% endfor -%}
138147
{% endfor -%}
139148

140-
all_project_tests_mobile:
141-
name: Run All Project Tests - Mobile
149+
150+
# Runs all Console tests
151+
run_all_project_tests_console_standalone:
152+
name: Run All Standalone Tests - Console
142153
dependencies:
143-
{% for project in projects -%}
144-
{% if project.name == "testproject" -%}
145-
{% for editor in project.test_editors -%}
146-
- .yamato/mobile-build-and-test.yml#run_{{ project.name }}_tests_{{ editor }}_android
147-
- .yamato/mobile-build-and-test.yml#run_{{ project.name }}_tests_{{ editor }}_iOS
154+
{% for project in projects.default -%}
155+
{% for platform in test_platforms.console_test -%}
156+
{% for editor in validation_editors.all -%}
157+
- .yamato/console-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}
158+
{% endfor -%}
148159
{% endfor -%}
149-
{% endif -%}
150160
{% endfor -%}
151161

152-
all_project_tests_webgl:
153-
name: Build All Project Tests - WebGL
162+
163+
# Runs all Console tests on trunk editor
164+
run_all_project_tests_console_standalone_trunk:
165+
name: Run All Standalone Tests - Console [Trunk only]
154166
dependencies:
155-
{% for project in projects -%}
156-
{% if project.name == "testproject" -%}
157-
{% for editor in project.test_editors -%}
158-
- .yamato/webgl-build.yml#build_{{ project.name }}_tests_{{ editor }}_webgl
167+
{% for project in projects.default -%}
168+
{% for platform in test_platforms.console_test -%}
169+
{% for editor in validation_editors.default -%}
170+
- .yamato/console-standalone-test.yml#run_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}
171+
{% endfor -%}
159172
{% endfor -%}
160-
{% endif -%}
161173
{% endfor -%}

0 commit comments

Comments
 (0)