Skip to content

Commit f214b56

Browse files
authored
CHANGE: Split performance testing from codecov & functional testing (#2143)
1 parent b9153bc commit f214b56

File tree

2 files changed

+39
-36
lines changed

2 files changed

+39
-36
lines changed

.yamato/config.metadata

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
editors:
22
- version: 2021.3
33
- version: 2022.3
4-
disable_tvos_run: true
4+
run_tvos: false
55
- version: 6000.0
6-
disable_tvos_run: true
6+
run_tvos: false
77
- version: 6000.1
8-
disable_tvos_run: true
8+
run_tvos: false
99
- version: trunk
10-
disable_tvos_run: true
10+
run_tvos: false
1111

1212
utr_install_win: curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat
1313
utr_install_nix: curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr
@@ -80,7 +80,7 @@ ios_and_tvos_macos_bokken_image: package-ci/macos-13:v4.50.0
8080

8181
test_category:
8282
- name: performance
83-
- name: all
83+
- name: functional
8484

8585
instabilities_install_win: curl -s https://artifactory.prd.it.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.bat --output run_standalone_instability_detection-latest.bat --retry 5 || exit 0
8686
instabilities_run_win: run_standalone_instability_detection-latest.bat 0.5.1 || exit 0

.yamato/upm-ci.yml

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
- upm-ci package pack --package-path ./Packages/com.unity.inputsystem/
2727
# Run upm-ci verification tests as well as tests contained in the package.
2828
- upm-ci package test --package-path ./Packages/com.unity.inputsystem/ -u %EDITOR_VERSION%
29-
{% if platform.name == "win" %} --enable-code-coverage --code-coverage-options "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem;pathReplacePatterns:@*,,Library/PackageCache,Packages"
29+
{% if platform.name == "win" and category.name == "functional" %} --enable-code-coverage --code-coverage-options "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem;pathReplacePatterns:@*,,Library/PackageCache,Packages"
3030
--extra-utr-arg="--coverage-results-path={{ yamato_source_dir_win }}/upm-ci~/test-results/CodeCoverage/Package" {% endif %}
3131
{% if platform.installscript %}
3232
- {{ unity_downloader_install }}
@@ -37,9 +37,9 @@
3737
- move /Y .\Packages\com.unity.inputsystem\Samples .\Assets
3838
- move /Y .\Packages\com.unity.inputsystem\Samples.meta .\Assets
3939
# Now run our full test suite that sits in Assets/Tests by running UTR on our project.
40-
- ./utr --testproject . --timeout=1200 --editor-location=.Editor --artifacts_path=upm-ci~/test-results/isolation-com.unity.inputsystem.tests --suite=playmode {% if platform.name == "win" %} --suite=editor {% endif %} {% if category.name == "performance" %} --category=Performance {% endif %} --api-profile=NET_4_6 {% if platform.runtime %} --platform {{ platform.runtime }} {% endif %} {% if platform.scripting-backend %} --scripting-backend {{ platform.scripting-backend }} {% endif %} --report-performance-data --performance-project-id=InputSystem {% if platform.name == "win" %}--enable-code-coverage --coverage-options="generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem" --coverage-results-path={{ yamato_source_dir_win }}/upm-ci~/test-results/CodeCoverage/Project {% endif %}
40+
- ./utr --testproject . --timeout=1200 --editor-location=.Editor --artifacts_path=upm-ci~/test-results/isolation-com.unity.inputsystem.tests --suite=playmode {% if platform.name == "win" %} --suite=editor {% endif %} {% if category.name == "performance" %} --category=Performance {% else %} --category=!Performance {% endif %} --api-profile=NET_4_6 {% if platform.runtime %} --platform {{ platform.runtime }} {% endif %} {% if platform.scripting-backend %} --scripting-backend {{ platform.scripting-backend }} {% endif %} {% if category.name == "performance" %} --report-performance-data --performance-project-id=InputSystem {% endif %} {% if platform.name == "win" and category.name == "functional" %}--enable-code-coverage --coverage-options="generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem" --coverage-results-path={{ yamato_source_dir_win }}/upm-ci~/test-results/CodeCoverage/Project {% endif %}
4141
# Merge all the code coverage results into one report.
42-
{% if platform.name == "win" %}
42+
{% if platform.name == "win" and category.name == "functional" %}
4343
- '{{ yamato_source_dir_win }}/.Editor/Unity.exe -projectPath {{ yamato_source_dir_win }} -batchmode -debugCodeOptimization -enableCodeCoverage -coverageResultsPath {{ yamato_source_dir_win }}/upm-ci~/test-results/CodeCoverage/ -coverageOptions "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem;sourcePaths:{{ yamato_source_dir_win }}/Packages/com.unity.inputsystem/" -quit'
4444
#delete the reports from the two runs and only keep the final merged one
4545
- rmdir /s/q "{{ yamato_source_dir_win }}/upm-ci~/test-results/CodeCoverage/Package"
@@ -77,7 +77,7 @@
7777
- mv ./Assets/Samples.meta ./Packages/com.unity.inputsystem
7878
- upm-ci package pack --package-path ./Packages/com.unity.inputsystem/
7979
# Run upm-ci verification tests as well as tests contained in the package.
80-
- upm-ci package test --package-path ./Packages/com.unity.inputsystem/ -u $EDITOR_VERSION {% if platform.name == "mac" or platform.name == "linux" %} --enable-code-coverage --code-coverage-options "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem;pathReplacePatterns:@*,,Library/PackageCache,Packages" --extra-utr-arg="--coverage-results-path={{ yamato_source_dir_nix }}/upm-ci~/test-results/CodeCoverage/Package" {% endif %}
80+
- upm-ci package test --package-path ./Packages/com.unity.inputsystem/ -u $EDITOR_VERSION {% if category.name == "functional" and platform.name == "mac" or platform.name == "linux" %} --enable-code-coverage --code-coverage-options "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem;pathReplacePatterns:@*,,Library/PackageCache,Packages" --extra-utr-arg="--coverage-results-path={{ yamato_source_dir_nix }}/upm-ci~/test-results/CodeCoverage/Package" {% endif %}
8181
{% if platform.installscript %}
8282
- {{ unity_downloader_install }}
8383
- {{ platform.installscript }} $EDITOR_VERSION
@@ -87,12 +87,12 @@
8787
- mv ./Packages/com.unity.inputsystem/Samples ./Assets
8888
- mv ./Packages/com.unity.inputsystem/Samples.meta ./Assets
8989
# Now run our full test suite that sits in Assets/Tests by running UTR on our project.
90-
- ./utr --testproject . --timeout=1200 --editor-location=.Editor --artifacts_path=upm-ci~/test-results/isolation-com.unity.inputsystem.tests --suite=playmode {% if platform.name == "mac" or platform.name == "linux"%} --suite=editor {% endif %} {% if category.name == "performance" %} --category=Performance {% endif %} --api-profile=NET_4_6 {% if platform.runtime %} --platform {{ platform.runtime }} {% endif %} {% if platform.scripting-backend %} --scripting-backend {{ platform.scripting-backend }} {% endif %} --report-performance-data --performance-project-id=InputSystem {% if platform.name == "mac" or platform.name == "linux" %} --enable-code-coverage --coverage-options="generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem" --coverage-results-path={{ yamato_source_dir_nix }}/upm-ci~/test-results/CodeCoverage/Project {% endif %}
90+
- ./utr --testproject . --timeout=1200 --editor-location=.Editor --artifacts_path=upm-ci~/test-results/isolation-com.unity.inputsystem.tests --suite=playmode {% if platform.name == "mac" or platform.name == "linux"%} --suite=editor {% endif %} {% if category.name == "performance" %} --category=Performance {% else %} --category=!Performance {% endif %} --api-profile=NET_4_6 {% if platform.runtime %} --platform {{ platform.runtime }} {% endif %} {% if platform.scripting-backend %} --scripting-backend {{ platform.scripting-backend }} {% endif %} {% if category.name == "performance" %} --report-performance-data --performance-project-id=InputSystem {% endif %} {% if category.name == "functional" and platform.name == "mac" or platform.name == "linux" %} --enable-code-coverage --coverage-options="generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem" --coverage-results-path={{ yamato_source_dir_nix }}/upm-ci~/test-results/CodeCoverage/Project {% endif %}
9191
# Merge all the code coverage results into one report.
92-
{% if platform.name == "mac" %}
92+
{% if platform.name == "mac" and category.name == "functional" %}
9393
- '{{ yamato_source_dir_nix }}/.Editor/Unity.app/Contents/MacOS/Unity -projectPath {{ yamato_source_dir_nix }} -batchmode -debugCodeOptimization -enableCodeCoverage -coverageResultsPath {{ yamato_source_dir_nix }}/upm-ci~/test-results/CodeCoverage/ -coverageOptions "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem;sourcePaths:{{ yamato_source_dir_nix }}/Packages/com.unity.inputsystem/" -quit'
9494
{% endif %}
95-
{% if platform.name == "linux" %}
95+
{% if platform.name == "linux" and category.name == "functional" %}
9696
- '{{ yamato_source_dir_nix }}/.Editor/Unity -projectPath {{ yamato_source_dir_nix }} -batchmode -debugCodeOptimization -enableCodeCoverage -coverageResultsPath {{ yamato_source_dir_nix }}/upm-ci~/test-results/CodeCoverage/ -coverageOptions "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.InputSystem;sourcePaths:{{ yamato_source_dir_nix }}/Packages/com.unity.inputsystem/" -quit'
9797
{% endif %}
9898
- rm -rf {{ yamato_source_dir_nix }}/upm-ci~/test-results/CodeCoverage/Package
@@ -122,7 +122,7 @@ build_ios_{{ editor.version }}_{{ category.name }}:
122122
- {{ utr_install_nix }}
123123
- {{ unity_downloader_install }}
124124
- unity-downloader-cli -c Editor -c iOS -u $EDITOR_VERSION --fast --wait
125-
- ./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% endif %} --platform=iOS --editor-location=.Editor --testproject=. --player-save-path=build/players --artifacts_path=build/logs --build-only --report-performance-data --performance-project-id=InputSystem
125+
- ./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% else %} --category=!Performance {% endif %} --platform=iOS --editor-location=.Editor --testproject=. --player-save-path=build/players --artifacts_path=build/logs --build-only {% if category.name == "performance" %} --report-performance-data --performance-project-id=InputSystem {% endif %}
126126
after:
127127
- {{ instabilities_install_nix }}
128128
- {{ instabilities_run_mac }}
@@ -148,18 +148,17 @@ run_ios_{{ editor.version }}_{{ category.name }}:
148148
- .yamato/upm-ci.yml#build_ios_{{ editor.version }}_{{ category.name }}
149149
commands:
150150
- {{ utr_install_nix }}
151-
- ./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% endif %} --platform=iOS --player-load-path=build/players --artifacts_path=build/test-results --report-performance-data --performance-project-id=InputSystem
151+
- ./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% else %} --category=!Performance {% endif %} --platform=iOS --player-load-path=build/players --artifacts_path=build/test-results {% if category.name == "performance" %} --report-performance-data --performance-project-id=InputSystem {% endif %}
152152
after:
153153
- {{ instabilities_install_nix }}
154154
- {{ instabilities_run_mac }}
155155
artifacts:
156156
logs:
157157
paths:
158158
- "build/test-results/**"
159-
{% endfor %} # test_category
160159

161-
build_tvos_{{ editor.version }}:
162-
name: Build - {{ editor.version }} - tvOS
160+
build_tvos_{{ editor.version }}_{{ category.name }}:
161+
name: Build - {{ editor.version }} - tvOS, {{ category.name }} tests
163162
agent:
164163
type: Unity::VM::osx
165164
image: {{ ios_and_tvos_macos_bokken_image }}
@@ -170,7 +169,7 @@ build_tvos_{{ editor.version }}:
170169
- {{ utr_install_nix }}
171170
- {{ unity_downloader_install }}
172171
- unity-downloader-cli -c Editor -c AppleTV -u $EDITOR_VERSION --fast --wait
173-
- ./utr --suite=playmode --platform=tvOS --editor-location=.Editor --testproject=. --player-save-path=build/players --artifacts_path=build/logs --build-only --report-performance-data --performance-project-id=InputSystem
172+
- ./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% else %} --category=!Performance {% endif %} --platform=tvOS --editor-location=.Editor --testproject=. --player-save-path=build/players --artifacts_path=build/logs --build-only {% if category.name == "performance" %} --report-performance-data --performance-project-id=InputSystem {% endif %}
174173
after:
175174
- {{ instabilities_install_nix }}
176175
- {{ instabilities_run_mac }}
@@ -182,8 +181,8 @@ build_tvos_{{ editor.version }}:
182181
paths:
183182
- "build/logs/**"
184183

185-
run_tvos_{{ editor.version }}:
186-
name: Run - {{ editor.version }} - tvOS
184+
run_tvos_{{ editor.version }}_{{ category.name }}:
185+
name: Run - {{ editor.version }} - tvOS, {{ category.name }} tests
187186
agent:
188187
type: Unity::mobile::appletv
189188
image: {{ ios_and_tvos_macos_bokken_image }}
@@ -192,17 +191,18 @@ run_tvos_{{ editor.version }}:
192191
EDITOR_VERSION: {{ editor.version }}
193192
skip_checkout: true
194193
dependencies:
195-
- .yamato/upm-ci.yml#build_tvos_{{ editor.version }}
194+
- .yamato/upm-ci.yml#build_tvos_{{ editor.version }}_{{ category.name }}
196195
commands:
197196
- {{ utr_install_nix }}
198-
- ./utr --suite=playmode --platform=tvOS --player-load-path=build/players --artifacts_path=build/test-results --report-performance-data --performance-project-id=InputSystem
197+
- ./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% else %} --category=!Performance {% endif %} --platform=tvOS --player-load-path=build/players --artifacts_path=build/test-results {% if category.name == "performance" %} --report-performance-data --performance-project-id=InputSystem {% endif %}
199198
after:
200199
- {{ instabilities_install_nix }}
201200
- {{ instabilities_run_mac }}
202201
artifacts:
203202
logs:
204203
paths:
205204
- "build/test-results/**"
205+
{% endfor %} # test_category
206206

207207
{% for backend in scripting_backends %}
208208
{% for category in test_category %}
@@ -218,7 +218,7 @@ build_android_{{ editor.version }}_{{ backend.name }}_{{ category.name }}:
218218
- {{ utr_install_win }}
219219
- {{ unity_downloader_install }}
220220
- unity-downloader-cli -c Editor -c Android -u %EDITOR_VERSION% --fast --wait
221-
- ./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% endif %} --platform=Android --editor-location=.Editor --testproject=. --player-save-path=build/players --artifacts_path=build/logs --scripting-backend={{ backend.name }} --build-only --repository --performance-project-id=InputSystem
221+
- ./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% else %} --category=!Performance {% endif %} --platform=Android --editor-location=.Editor --testproject=. --player-save-path=build/players --artifacts_path=build/logs --scripting-backend={{ backend.name }} --build-only --repository {% if category.name == "performance" %} --performance-project-id=InputSystem {% endif %}
222222
after:
223223
- {{ instabilities_install_win }}
224224
- {{ instabilities_run_win }}
@@ -252,7 +252,7 @@ run_android_{{ editor.version }}_{{ backend.name }}_{{ category.name }}:
252252
start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP%
253253
# List the connected devices
254254
start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices
255-
./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% endif %} --platform=android --player-load-path=build/players --artifacts_path=build/test-results --report-performance-data --performance-project-id=InputSystem
255+
./utr --suite=playmode {% if category.name == "performance" %} --category=Performance {% else %} --category=!Performance {% endif %} --platform=android --player-load-path=build/players --artifacts_path=build/test-results {% if category.name == "performance" %} --report-performance-data --performance-project-id=InputSystem {% endif %}
256256
after:
257257
- start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP%
258258
- if not exist build\test-results mkdir build\test-results
@@ -269,24 +269,24 @@ run_android_{{ editor.version }}_{{ backend.name }}_{{ category.name }}:
269269
{% endfor %} # editors
270270

271271
all_tests:
272-
name: All Tests
272+
name: All Functional Tests
273273
dependencies:
274274
{% for editor in editors %}
275275
{% for platform in platforms_win %}
276-
- .yamato/upm-ci.yml#{{ platform.name }}_{{ editor.version }}_all
276+
- .yamato/upm-ci.yml#{{ platform.name }}_{{ editor.version }}_functional
277277
{% endfor %}
278278
{% for platform in platforms_nix %}
279-
- .yamato/upm-ci.yml#{{ platform.name }}_{{ editor.version }}_all
279+
- .yamato/upm-ci.yml#{{ platform.name }}_{{ editor.version }}_functional
280280
{% endfor %}
281281
{% for backend in scripting_backends %}
282-
- .yamato/upm-ci.yml#run_android_{{ editor.version }}_{{ backend.name }}_all
282+
- .yamato/upm-ci.yml#run_android_{{ editor.version }}_{{ backend.name }}_functional
283283
{% endfor %}
284-
- .yamato/upm-ci.yml#run_ios_{{ editor.version }}_all
285-
{% if editor.disable_tvos_run %}
286-
- .yamato/upm-ci.yml#build_tvos_{{ editor.version }}
287-
{% else %}
288-
- .yamato/upm-ci.yml#run_tvos_{{ editor.version }}
289-
{% endif %}
284+
- .yamato/upm-ci.yml#run_ios_{{ editor.version }}_functional
285+
{% if editor.run_tvos == "false" %}
286+
- .yamato/upm-ci.yml#build_tvos_{{ editor.version }}_functional
287+
{% else %}
288+
- .yamato/upm-ci.yml#run_tvos_{{ editor.version }}_functional
289+
{% endif %}
290290
{% endfor %}
291291
- .yamato/upm-ci.yml#publish_dryrun
292292
triggers:
@@ -298,7 +298,7 @@ all_tests:
298298

299299

300300
performance_tests_only:
301-
name: Performance Tests Only
301+
name: All Performance Tests
302302
dependencies:
303303
{% for editor in editors %}
304304
{% for platform in platforms_win %}
@@ -311,7 +311,10 @@ performance_tests_only:
311311
- .yamato/upm-ci.yml#run_android_{{ editor.version }}_{{ backend.name }}_performance
312312
{% endfor %}
313313
- .yamato/upm-ci.yml#run_ios_{{ editor.version }}_performance
314-
{% endfor %}
314+
{% unless editor.run_tvos == "false" %}
315+
- .yamato/upm-ci.yml#run_tvos_{{ editor.version }}_performance
316+
{% endunless %}
317+
{% endfor %} #editors
315318
triggers:
316319
recurring:
317320
- branch: develop

0 commit comments

Comments
 (0)