您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
145 行
5.1 KiB
145 行
5.1 KiB
test_editors:
|
|
- version: 2018.4
|
|
# 2018.4 doesn't support code-coverage
|
|
enableCodeCoverage: !!bool false
|
|
# We want some scene tests to run in the DevProject, but packages there only support 2019+
|
|
testProject: Project
|
|
- version: 2019.4
|
|
enableCodeCoverage: !!bool true
|
|
testProject: DevProject
|
|
- version: 2020.1
|
|
enableCodeCoverage: !!bool true
|
|
testProject: DevProject
|
|
- version: 2020.2
|
|
enableCodeCoverage: !!bool true
|
|
testProject: DevProject
|
|
|
|
trunk_editor:
|
|
- version: trunk
|
|
enableCodeCoverage: !!bool true
|
|
testProject: DevProject
|
|
|
|
test_platforms:
|
|
- name: win
|
|
type: Unity::VM
|
|
image: package-ci/win10:stable
|
|
flavor: b1.large
|
|
- name: mac
|
|
type: Unity::VM::osx
|
|
image: package-ci/mac:stable
|
|
flavor: b1.small
|
|
- name: linux
|
|
type: Unity::VM
|
|
image: package-ci/ubuntu:stable
|
|
flavor: b1.medium
|
|
|
|
packages:
|
|
- name: com.unity.ml-agents
|
|
assembly: Unity.ML-Agents
|
|
minCoveragePct: 72
|
|
- name: com.unity.ml-agents.extensions
|
|
assembly: Unity.ML-Agents.Extensions
|
|
minCoveragePct: 75
|
|
---
|
|
|
|
all_package_tests:
|
|
name: Run All Combinations of Editors/Platforms Tests
|
|
dependencies:
|
|
{% for editor in test_editors %}
|
|
{% for platform in test_platforms %}
|
|
- .yamato/com.unity.ml-agents-test.yml#test_com.unity.ml-agents_{{ platform.name }}_{{ editor.version }}
|
|
{% endfor %}
|
|
{% endfor %}
|
|
|
|
{% for editor in trunk_editor %}
|
|
{% for platform in test_platforms %}
|
|
- .yamato/com.unity.ml-agents-test.yml#test_com.unity.ml-agents_{{ platform.name }}_{{ editor.version }}
|
|
{% endfor %}
|
|
{% endfor %}
|
|
triggers:
|
|
cancel_old_ci: true
|
|
recurring:
|
|
- branch: master
|
|
frequency: daily
|
|
|
|
{% for package in packages %}
|
|
{% for editor in test_editors %}
|
|
{% for platform in test_platforms %}
|
|
|
|
{% if editor.enableCodeCoverage %}
|
|
{% capture coverageOptions %} --enable-code-coverage --code-coverage-options 'generateHtmlReport;assemblyFilters:+{{ package.assembly }}'{% endcapture %}
|
|
{% else %}
|
|
{% assign coverageOptions = "" %}
|
|
{% endif %}
|
|
test_{{ package.name }}_{{ platform.name }}_{{ editor.version }}:
|
|
name : {{ package.name }} test {{ editor.version }} on {{ platform.name }}
|
|
agent:
|
|
type: {{ platform.type }}
|
|
image: {{ platform.image }}
|
|
flavor: {{ platform.flavor}}
|
|
commands:
|
|
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
|
|
- upm-ci project test -u {{ editor.version }} --project-path {{ editor.testProject }} --package-filter {{ package.name }} {{ coverageOptions }} --extra-utr-arg "reruncount=2"
|
|
{% if editor.enableCodeCoverage %}
|
|
- python3 ml-agents/tests/yamato/check_coverage_percent.py upm-ci~/test-results/ {{ package.minCoveragePct }}
|
|
{% endif %}
|
|
artifacts:
|
|
logs:
|
|
paths:
|
|
- "upm-ci~/test-results/**/*"
|
|
dependencies:
|
|
- .yamato/com.unity.ml-agents-pack.yml#pack
|
|
triggers:
|
|
cancel_old_ci: true
|
|
{% if platform.name == "mac" %}
|
|
# TODO remove develop-hybrid trigger before merging to master
|
|
expression: |
|
|
(pull_request.target eq "master" OR
|
|
pull_request.target match "develop-hybrid.+" OR
|
|
pull_request.target match "release.+") AND
|
|
NOT pull_request.draft AND
|
|
(pull_request.changes.any match "com.unity.ml-agents/**" OR
|
|
pull_request.changes.any match " {{ editor.testProject }}/**" OR
|
|
{% if package.name == "com.unity.ml-agents.extensions" %}
|
|
pull_request.changes.any match "com.unity.ml-agents.extensions/**" OR
|
|
{% endif %}
|
|
pull_request.changes.any match ".yamato/com.unity.ml-agents-test.yml")
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endfor %}
|
|
{% endfor %}
|
|
|
|
{% for package in packages %}
|
|
{% for editor in trunk_editor %}
|
|
{% for platform in test_platforms %}
|
|
|
|
{% if editor.enableCodeCoverage %}
|
|
{% capture coverageOptions %} --enable-code-coverage --code-coverage-options 'generateHtmlReport;assemblyFilters:+{{ package.assembly }}'{% endcapture %}
|
|
{% else %}
|
|
{% assign coverageOptions = "" %}
|
|
{% endif %}
|
|
test_{{ package.name }}_{{ platform.name }}_trunk:
|
|
name : {{ package.name }} test {{ editor.version }} on {{ platform.name }}
|
|
agent:
|
|
type: {{ platform.type }}
|
|
image: {{ platform.image }}
|
|
flavor: {{ platform.flavor}}
|
|
commands:
|
|
- python -m pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade
|
|
- unity-downloader-cli -u trunk -c editor --wait --fast
|
|
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
|
|
- upm-ci project test -u {{ editor.version }} --project-path {{ editor.testProject }} --package-filter {{ package.name }} {{ coverageOptions }} --extra-utr-arg "reruncount=2"
|
|
{% if editor.enableCodeCoverage %}
|
|
- python3 ml-agents/tests/yamato/check_coverage_percent.py upm-ci~/test-results/ {{ package.minCoveragePct }}
|
|
{% endif %}
|
|
artifacts:
|
|
logs:
|
|
paths:
|
|
- "upm-ci~/test-results/**/*"
|
|
dependencies:
|
|
- .yamato/com.unity.ml-agents-pack.yml#pack
|
|
triggers:
|
|
cancel_old_ci: true
|
|
{% endfor %}
|
|
{% endfor %}
|
|
{% endfor %}
|