{% metadata_file .yamato/coverage_tests.metafile %} test_editors: - version: 2019.4 # We want some scene tests to run in the DevProject, but packages there only support 2020+ testProject: Project enableNoDefaultPackages: !!bool true - version: 2020.2 testProject: DevProject enableNoDefaultPackages: !!bool true - version: 2021.1 testProject: DevProject enableNoDefaultPackages: !!bool true trunk_editor: - version: trunk # Workaround for MLA-1596 - need to make sure we load the right results. 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:v1.3.1-719011 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 coverage_editor in coverage_test_editors %} {% for coverage_platform in coverage_test_platforms %} {% for coverage_package in coverage_test_packages %} - .yamato/com.unity.ml-agents-coverage.yml#test_coverage_{{ coverage_package.name }}_{{ coverage_platform.name }}_{{ coverage_editor.version }} {% endfor %} {% endfor %} {% endfor %} {% 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: main frequency: daily {% for package in packages %} {% for editor in test_editors %} {% for platform in test_platforms %} {% if editor.enableNoDefaultPackages %} {% assign noDefaultPackagesOptions = "--extra-create-project-arg='-upmNoDefaultPackages'" %} {% else %} {% assign noDefaultPackagesOptions = "" %} {% 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 package test -u {{ editor.version }} --package-path {{ package.name }} {{ noDefaultPackagesOptions }} --warnings-as-errors --extra-utr-arg "reruncount=2" artifacts: logs: paths: - "upm-ci~/test-results/**/*" dependencies: - .yamato/com.unity.ml-agents-pack.yml#pack {% for coverage_editor in coverage_test_editors %} {% for coverage_platform in coverage_test_platforms %} {% for coverage_package in coverage_test_packages %} - .yamato/com.unity.ml-agents-coverage.yml#test_coverage_{{ coverage_package.name }}_{{ coverage_platform.name }}_{{ coverage_editor.version }} {% endfor %} {% endfor %} {% endfor %} triggers: cancel_old_ci: true {% if platform.name == "linux" %} expression: | (pull_request.target eq "main" 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 %} 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: - python3 -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 }} --extra-create-project-arg="-upmNoDefaultPackages" --extra-utr-arg "reruncount=2" artifacts: logs: paths: - "upm-ci~/test-results/**/*" dependencies: - .yamato/com.unity.ml-agents-pack.yml#pack {% for coverage_editor in coverage_test_editors %} {% for coverage_platform in coverage_test_platforms %} {% for coverage_package in coverage_test_packages %} - .yamato/com.unity.ml-agents-coverage.yml#test_coverage_{{ coverage_package.name }}_{{ coverage_platform.name }}_{{ coverage_editor.version }} {% endfor %} {% endfor %} {% endfor %} triggers: cancel_old_ci: true {% endfor %} {% endfor %} {% endfor %}