-
Notifications
You must be signed in to change notification settings - Fork 460
Expand file tree
/
Copy path_run-all.yml
More file actions
187 lines (159 loc) · 6.61 KB
/
_run-all.yml
File metadata and controls
187 lines (159 loc) · 6.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
{% metadata_file .yamato/project.metafile %} # All configuration that is used to create different configurations (used in for loops) is taken from this file.
---
# 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
# CONFIGURATION STRUCTURE--------------------------------------------------------------
# It may seem that there is only 1 job defined, but we are using "for" loops based on .yamato/project.metafile configuration. Yamato "compiles" this code in order to generate jobs with multiple given configurations
# Jobs are generated using nested loops through:
# It's important to ensure that all generated in such way dependencies exist (this can be verified in Yamato)
# In theory, we could manually write jobs for every configuration. However, this approach would be more error-prone, especially when modifications or fixes are needed, as it would require keeping track of all configurations.
# The downside of our current approach is that it can sometimes impact readability due to the use of nested if and for statements.
#-----------------------------------------------------------------------------------
# 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 -%}
{% endfor -%}
# 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 -%}
{% 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 -%}
{% endfor -%}
{% endif -%}
{% endfor -%}
# Runs all projects tests on trunk editor
run_all_project_tests_trunk:
name: Run All Project Tests [Trunk only]
dependencies:
{% 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 -%}
# 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 -%}
{% 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.name }}_{{ editor }}
{% endfor -%}
{% endfor -%}
{% endfor -%}
# Runs all WebGL builds on trunk editor
run_all_webgl_builds_trunk:
name: Run All WebGl Build [Trunk only]
dependencies:
{% 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 Desktop tests
run_all_project_tests_desktop_standalone:
name: Run All Standalone Tests - Desktop
dependencies:
{% 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 -%}
# Runs all Desktop tests on trunk editor
run_all_project_tests_desktop_standalone_trunk:
name: Run All Standalone Tests - Desktop [Trunk only]
dependencies:
{% 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 -%}
# 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#mobile_standalone_test_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}
{% endfor -%}
{% endfor -%}
{% endfor -%}
# 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.default -%}
{% for platform in test_platforms.mobile_test -%}
{% for editor in validation_editors.default -%}
- .yamato/mobile-standalone-test.yml#mobile_standalone_test_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}
{% endfor -%}
{% 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#console_standalone_test_{{ 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#console_standalone_test_{{ project.name }}_tests_{{ platform.name }}_{{ editor }}
{% endfor -%}
{% endfor -%}
{% endfor -%}