From ae3c2adc11413f2ae64cb3d5c78a3a9c501bb9a6 Mon Sep 17 00:00:00 2001 From: kroatoa Date: Tue, 23 Jul 2024 16:38:50 +0200 Subject: [PATCH] RM-1787 Update Wrench to latest version. (#1015) * Initial onboarding with Wrench 0.8.16 Migrate Pack Job Dependency * Update to Wrench 0.8.16 and use pvp require for the docs check * Create Recipe for project tests. Add a nightly trigger Fix missing dependencies for project tests. Fix EditorVersion Update to Wrench 0.8.18 Fix upm-pvp call. Command line fix Select the suites to run * Test with manual manifest * Remove text mesh pro from manifest * Remove text mesh pro from HDRPInputSystem * Move docs builder and code coverage into recipes. Move triggers into recipes. * Delete empty package json * Add Artifacts to project tests, and regenerate recipes * Delete Empty Project Pack * update artifacts path * Updated Wrench reference and regenerated recipes * Rebase onto master and upgrade to Wrench 0.10.2 * Update to 0.10.3 * Rename for consistency. * Rename Folder for consistency. * Update wrench_config.json * remove stale doc exceptions --------- Co-authored-by: Antoine Charton Co-authored-by: Elliott Holt Co-authored-by: Gregory Labute --- .gitignore | 6 +- .yamato/build-docs.yml | 16 + .yamato/code-coverage.yml | 21 + .yamato/package-ci.yml | 90 --- .yamato/package-coverage.yml | 20 - .yamato/package-pack.yml | 19 - .yamato/package-promotion.yml | 39 - .yamato/package-publish.yml | 39 - .yamato/package-test.yml | 32 - .yamato/package-validation.yml | 32 - .yamato/project-pack.yml | 18 - .yamato/project-test.yml | 672 +++++++++++++++++- .yamato/triggers.yml | 113 +++ .yamato/wrench/api-validation-jobs.yml | 47 ++ .yamato/wrench/package-pack-jobs.yml | 30 + .yamato/wrench/preview-a-p-v.yml | 464 ++++++++++++ .yamato/wrench/promotion-jobs.yml | 152 ++++ .yamato/wrench/pvp-exemptions.json | 5 + .yamato/wrench/validation-jobs.yml | 357 ++++++++++ .yamato/wrench/wrench_config.json | 27 + Projects/HDRP/Packages/manifest.json | 1 - .../HDRPInputSystem/Packages/manifest.json | 1 - .../Cinemachine-recipes.sln | 16 + .../Cinemachine.Cookbook.csproj | 14 + .../Cinemachine-Recipes/CinemachineBuilder.cs | 13 + Tools/Cinemachine-Recipes/Program.cs | 20 + .../Cinemachine-Recipes/Recipes/BuildDocs.cs | 46 ++ .../Recipes/CodeCoverage.cs | 49 ++ .../Recipes/ProjectTest.cs | 76 ++ Tools/Cinemachine-Recipes/Recipes/Triggers.cs | 49 ++ .../Settings/CinemachineSettings.cs | 42 ++ Tools/Cinemachine-Recipes/global.json | 7 + Tools/Cinemachine-Recipes/nuget.config | 6 + Tools/Cinemachine-Recipes/regenerate.bat | 2 + Tools/Cinemachine-Recipes/regenerate.sh | 2 + 35 files changed, 2219 insertions(+), 324 deletions(-) create mode 100644 .yamato/build-docs.yml create mode 100644 .yamato/code-coverage.yml delete mode 100644 .yamato/package-ci.yml delete mode 100644 .yamato/package-coverage.yml delete mode 100644 .yamato/package-pack.yml delete mode 100644 .yamato/package-promotion.yml delete mode 100644 .yamato/package-publish.yml delete mode 100644 .yamato/package-test.yml delete mode 100644 .yamato/package-validation.yml delete mode 100644 .yamato/project-pack.yml create mode 100644 .yamato/triggers.yml create mode 100644 .yamato/wrench/api-validation-jobs.yml create mode 100644 .yamato/wrench/package-pack-jobs.yml create mode 100644 .yamato/wrench/preview-a-p-v.yml create mode 100644 .yamato/wrench/promotion-jobs.yml create mode 100644 .yamato/wrench/pvp-exemptions.json create mode 100644 .yamato/wrench/validation-jobs.yml create mode 100644 .yamato/wrench/wrench_config.json create mode 100644 Tools/Cinemachine-Recipes/Cinemachine-recipes.sln create mode 100644 Tools/Cinemachine-Recipes/Cinemachine.Cookbook.csproj create mode 100644 Tools/Cinemachine-Recipes/CinemachineBuilder.cs create mode 100644 Tools/Cinemachine-Recipes/Program.cs create mode 100644 Tools/Cinemachine-Recipes/Recipes/BuildDocs.cs create mode 100644 Tools/Cinemachine-Recipes/Recipes/CodeCoverage.cs create mode 100644 Tools/Cinemachine-Recipes/Recipes/ProjectTest.cs create mode 100644 Tools/Cinemachine-Recipes/Recipes/Triggers.cs create mode 100644 Tools/Cinemachine-Recipes/Settings/CinemachineSettings.cs create mode 100644 Tools/Cinemachine-Recipes/global.json create mode 100644 Tools/Cinemachine-Recipes/nuget.config create mode 100644 Tools/Cinemachine-Recipes/regenerate.bat create mode 100755 Tools/Cinemachine-Recipes/regenerate.sh diff --git a/.gitignore b/.gitignore index b77d74871..c46bf9e3b 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,8 @@ npm-debug.log.meta /projects/**/Tests_ProRes /projects/**/Temp *.csproj -*.sln \ No newline at end of file +*.sln +!Tools/**/*sln +!Tools/**/*csproj +bin +obj \ No newline at end of file diff --git a/.yamato/build-docs.yml b/.yamato/build-docs.yml new file mode 100644 index 000000000..d956e7e25 --- /dev/null +++ b/.yamato/build-docs.yml @@ -0,0 +1,16 @@ +# Auto-generated by Recipe Engine, do not modify manually. + +# Generate codecov data for Cinemachine on MacOS +code_coverage_-_macos_-_trunk: + name: Code coverage - MacOS - trunk + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - brick_source: git@github.cds.internal.unity3d.com:wind-xu/virtual_production_doc_generation.git@v0.3.0 + variables: + EDITOR_VERSION: trunk + PACKAGE_NAME: com.unity.cinemachine + PACKAGE_PATH: com.unity.cinemachine + diff --git a/.yamato/code-coverage.yml b/.yamato/code-coverage.yml new file mode 100644 index 000000000..c25d085b0 --- /dev/null +++ b/.yamato/code-coverage.yml @@ -0,0 +1,21 @@ +# Auto-generated by Recipe Engine, do not modify manually. + +# Generate codecov data for Cinemachine on Ubuntu +code_coverage_-_ubuntu_-_trunk: + name: Code coverage - Ubuntu - trunk + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + - command: upm-ci package test -u trunk --package-path com.unity.cinemachine --type package-tests --enable-code-coverage --code-coverage-options "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.Cinemachine*" --extra-utr-arg=--coverage-results-path=${YAMATO_SOURCE_DIR}/upm-ci~/test-results/CoverageResults + - command: curl -Os https://uploader.codecov.io/latest/linux/codecov + - command: ./codecov -v -t "${CODECOV_TOKEN}" -B "${GIT_BRANCH}" -T "${GIT_TAG}" -P "${YAMATO_PR_ID}" -f "upm-ci~/test-results/CoverageResults/**/*.xml" + artifacts: + packages: + paths: + - upm-ci~/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + diff --git a/.yamato/package-ci.yml b/.yamato/package-ci.yml deleted file mode 100644 index 8b494dd9e..000000000 --- a/.yamato/package-ci.yml +++ /dev/null @@ -1,90 +0,0 @@ -{% metadata_file .yamato/metadata.metafile %} ---- -ci_trigger: - name: Package CI Trigger - triggers: - branches: - only: - - "/^(main)|(release[/]\\d+[.]\\d+)$/" - pull_requests: - - targets: - only: - - "/.*/" - dependencies: - {% for test_name in all_configurations.ci.test_names %} - {% for test in all_tests %} - {% if test.name == test_name %} - {% for platform_name in all_configurations.ci.platform_names %} - {% for platform in all_platforms %} - {% if platform.name == platform_name %} - {% for editor in test.editors %} - - .yamato/package-test.yml#test_{{test.name}}_{{platform.name}}_{{editor}} - {% endfor %} - {% endif %} - {% endfor %} - {% endfor %} - {% endif %} - {% endfor %} - {% endfor %} - - .yamato/package-coverage.yml#coverage_ubuntu_trunk - - .yamato/package-validation.yml#api_doc_validation - -nightly_trigger: - name: Package Nightly tests - triggers: - recurring: - - branch: main - frequency: daily - dependencies: - {% for test_project in all_testprojects %} - {% for editor in test_project.editors %} - - .yamato/project-test.yml#test_ubuntu_{{editor}}_{{test_project.name}} - {% endfor %} - {% endfor %} - - {% for test_name in all_configurations.nightly.test_names %} - {% for test in all_tests %} - {% if test.name == test_name %} - {% for platform_name in all_configurations.nightly.platform_names %} - {% for platform in all_platforms %} - {% if platform.name == platform_name %} - {% for editor in test.editors %} - - .yamato/package-test.yml#test_{{test.name}}_{{platform.name}}_{{editor}} - {% endfor %} - {% endif %} - {% endfor %} - {% endfor %} - {% endif %} - {% endfor %} - {% endfor %} - - .yamato/package-coverage.yml#coverage_ubuntu_trunk - - .yamato/package-validation.yml#api_doc_validation - -all_trigger: - name: Trigger all tests - dependencies: - {% for test_project in all_testprojects %} - {% for editor in test_project.editors %} - - .yamato/project-test.yml#test_ubuntu_{{editor}}_{{test_project.name}} - - .yamato/project-test.yml#test_windows_{{editor}}_{{test_project.name}} - - .yamato/project-test.yml#test_macos_{{editor}}_{{test_project.name}} - {% endfor %} - {% endfor %} - - {% for test_name in all_configurations.nightly.test_names %} - {% for test in all_tests %} - {% if test.name == test_name %} - {% for platform_name in all_configurations.nightly.platform_names %} - {% for platform in all_platforms %} - {% if platform.name == platform_name %} - {% for editor in test.editors %} - - .yamato/package-test.yml#test_{{test.name}}_{{platform.name}}_{{editor}} - {% endfor %} - {% endif %} - {% endfor %} - {% endfor %} - {% endif %} - {% endfor %} - {% endfor %} - - .yamato/package-coverage.yml#coverage_ubuntu_trunk - - .yamato/package-validation.yml#api_doc_validation \ No newline at end of file diff --git a/.yamato/package-coverage.yml b/.yamato/package-coverage.yml deleted file mode 100644 index 012b8299f..000000000 --- a/.yamato/package-coverage.yml +++ /dev/null @@ -1,20 +0,0 @@ -{% metadata_file .yamato/metadata.metafile %} ---- -coverage_ubuntu_trunk: - name: Coverage on ubuntu with trunk - agent: - type: Unity::VM - image: package-ci/ubuntu-22.04:v4 - flavor: b1.large - 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 trunk --package-path com.unity.cinemachine --type package-tests --enable-code-coverage --code-coverage-options "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.Cinemachine*" --extra-utr-arg=--coverage-results-path=${YAMATO_SOURCE_DIR}/upm-ci~/test-results/CoverageResults - - curl -Os https://uploader.codecov.io/latest/linux/codecov - - chmod +x codecov - - ./codecov -v -t "${CODECOV_TOKEN}" -B "${GIT_BRANCH}" -T "${GIT_TAG}" -P "${YAMATO_PR_ID}" -f "upm-ci~/test-results/CoverageResults/**/*.xml" - artifacts: - logs: - paths: - - "upm-ci~/test-results/**/*" - dependencies: - - .yamato/package-pack.yml#pack diff --git a/.yamato/package-pack.yml b/.yamato/package-pack.yml deleted file mode 100644 index ab91b9e2e..000000000 --- a/.yamato/package-pack.yml +++ /dev/null @@ -1,19 +0,0 @@ -{% metadata_file .yamato/metadata.metafile %} ---- -pack: - name: Pack package - agent: - type: Unity::VM - image: package-ci/ubuntu-22.04:v4 - flavor: b1.large - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci package pack --package-path com.unity.cinemachine - artifacts: - packages: - paths: - - "upm-ci~/packages/**/*" - - - - \ No newline at end of file diff --git a/.yamato/package-promotion.yml b/.yamato/package-promotion.yml deleted file mode 100644 index 1f46335f4..000000000 --- a/.yamato/package-promotion.yml +++ /dev/null @@ -1,39 +0,0 @@ -{% metadata_file .yamato/metadata.metafile %} ---- -promote: - name: Promote to Production - agent: - type: Unity::VM - image: package-ci/win10:v4 - flavor: b1.large - variables: - IS_DRY_RUN: 0 - UPMCI_PROMOTION: 1 - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - IF %IS_DRY_RUN% == 1 (upm-ci package promote --package-path com.unity.cinemachine --dry-run) ELSE (upm-ci package promote --package-path com.unity.cinemachine) - triggers: - tags: - only: - - /^[Rr]elease-(0\.\d+\.\d+|[1-9]\d*\.\d+\.\d+(-preview(\.\d+)?|-exp(\.\d+|-\w+\.\d+)|-pre\.\d+))$/ - artifacts: - artifacts: - paths: - - "upm-ci~/packages/*.tgz" - dependencies: - - .yamato/package-pack.yml#pack - {% for test_name in all_configurations.promote.test_names %} - {% for test in all_tests %} - {% if test.name == test_name %} - {% for platform_name in all_configurations.promote.platform_names %} - {% for platform in all_platforms %} - {% if platform.name == platform_name %} - {% for editor in test.editors %} - - .yamato/package-test.yml#test_{{test.name}}_{{platform.name}}_{{editor}} - {% endfor %} - {% endif %} - {% endfor %} - {% endfor %} - {% endif %} - {% endfor %} - {% endfor %} diff --git a/.yamato/package-publish.yml b/.yamato/package-publish.yml deleted file mode 100644 index 2cd204140..000000000 --- a/.yamato/package-publish.yml +++ /dev/null @@ -1,39 +0,0 @@ -{% metadata_file .yamato/metadata.metafile %} ---- -publish: - name: Publish to Internal Registry - agent: - type: Unity::VM - image: package-ci/win10:v4 - flavor: b1.large - variables: - IS_DRY_RUN: 0 - UPMCI_ENABLE_PACKAGE_SIGNING: 1 - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - IF %IS_DRY_RUN% == 1 (upm-ci package publish --package-path com.unity.cinemachine --dry-run) ELSE (upm-ci package publish --package-path com.unity.cinemachine) - triggers: - tags: - only: - - /^[Rr][Cc]-(0\.\d+\.\d+|[1-9]\d*\.\d+\.\d+(-preview(\.\d+)?|-exp(\.\d+|-\w+\.\d+)|-pre\.\d+)?)$/ - artifacts: - artifacts: - paths: - - "upm-ci~/packages/*.tgz" - dependencies: - - .yamato/package-pack.yml#pack - {% for test_name in all_configurations.publish.test_names %} - {% for test in all_tests %} - {% if test.name == test_name %} - {% for platform_name in all_configurations.publish.platform_names %} - {% for platform in all_platforms %} - {% if platform.name == platform_name %} - {% for editor in test.editors %} - - .yamato/package-test.yml#test_{{test.name}}_{{platform.name}}_{{editor}} - {% endfor %} - {% endif %} - {% endfor %} - {% endfor %} - {% endif %} - {% endfor %} - {% endfor %} diff --git a/.yamato/package-test.yml b/.yamato/package-test.yml deleted file mode 100644 index a380a34ce..000000000 --- a/.yamato/package-test.yml +++ /dev/null @@ -1,32 +0,0 @@ -{% metadata_file .yamato/metadata.metafile %} ---- -{% for test in all_tests %} -{% for platform in all_platforms %} -{% for editor in test.editors %} -test_{{ test.name }}_{{ platform.name }}_{{ editor }}: - name : Test package {{ test.name }} on {{ platform.name }} with {{ editor }} - agent: - type: {{ platform.type }} - image: {{ platform.image }} - flavor: {{ platform.flavor }} - {% if platform.name == "centos" or test.variables %} - variables: - {% if platform.name == "centos" %} - DISPLAY: ":0" - {% endif %} - {% for variable in test.variables %} - {{ variable }} - {% endfor %} - {% endif %} - 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 }} {{ test.args }} --package-path com.unity.cinemachine - artifacts: - logs: - paths: - - "upm-ci~/test-results/**/*" - dependencies: - - .yamato/package-pack.yml#pack -{% endfor %} -{% endfor %} -{% endfor %} diff --git a/.yamato/package-validation.yml b/.yamato/package-validation.yml deleted file mode 100644 index 6ecab2941..000000000 --- a/.yamato/package-validation.yml +++ /dev/null @@ -1,32 +0,0 @@ -{% metadata_file .yamato/metadata.metafile %} ---- - -# The following job runs PVP API docs validation to validate all public APIs (classes and methods) have documentation. -# For APIs which are exempted from API docs validartion, they are put in pvp_exemptions.json -api_doc_validation: - name: API documentation validation - agent: - type: Unity::VM - image: package-ci/ubuntu-22.04:v4 - flavor: b1.medium - commands: - # Needed for now, until we get a recent upm-pvp into the image. - - sudo apt-get update && sudo apt-get install -y upm-pvp - # Add dependencies on physics and HDRP packages in Cinemachine package to workaround script compilation errors. - # Since Cinemachine package's dependencies need to be changed by this job on the fly, we cannot use the package packed by the 'pack' job. So just pack the package inside this job and make it self sufficient. - - python -c "import json, sys; m = json.load(open(sys.argv[1])); m['dependencies']['com.unity.modules.physics'] = '1.0.0'; m['dependencies']['com.unity.render-pipelines.high-definition'] = '13.1.8'; json.dump(m, open(sys.argv[1], 'w'))" com.unity.cinemachine/package.json - - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci package pack --package-path com.unity.cinemachine - # Download Unity. - - unity-downloader-cli --fast --wait -u {{ all_tests.first.editors.first }} -c editor - # Run PVS in PVP mode. - - upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results "upm-ci~/pvp" - # Require that PVP-20-1 (API docs validation) passed, also exempt some known errors which are in pvp_api_doc_exemptions.json - - upm-pvp require ./pvp_api_doc_exemptions.json --results "upm-ci~/pvp" --failures "upm-ci~/pvp/failures.json" - artifacts: - pvp: - paths: - - upm-ci~/pvp/** - logs: - paths: - - upm-ci~/test-results/** \ No newline at end of file diff --git a/.yamato/project-pack.yml b/.yamato/project-pack.yml deleted file mode 100644 index bee5558b2..000000000 --- a/.yamato/project-pack.yml +++ /dev/null @@ -1,18 +0,0 @@ -{% metadata_file .yamato/metadata.metafile %} ---- -{% for test_project in all_testprojects %} -pack_{{test_project.name}}: - name: Pack project {{test_project.name}} - agent: - type: Unity::VM - image: package-ci/ubuntu-22.04:v4 - flavor: b1.large - commands: - - rm com.unity.cinemachine/Tests/.tests.json - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci project pack --project-path {{test_project.path}} - artifacts: - packages: - paths: - - "upm-ci~/packages/**/*" -{% endfor %} \ No newline at end of file diff --git a/.yamato/project-test.yml b/.yamato/project-test.yml index 29715aca6..d3896a116 100644 --- a/.yamato/project-test.yml +++ b/.yamato/project-test.yml @@ -1,54 +1,662 @@ -{% metadata_file .yamato/metadata.metafile %} ---- -{% for test_project in all_testprojects %} - {% for editor in test_project.editors %} -test_ubuntu_{{editor}}_{{test_project.name}}: - name : Test project ubuntu {{editor}} {{test_project.name}} +# Auto-generated by Recipe Engine, do not modify manually. + +# Run HDRP project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_hdrp_-_2022_3_-_macos: + name: Test Project - cinemachine - HDRP - 2022.3 - MacOS + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/HDRP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run HDRP project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_hdrp_-_2022_3_-_ubuntu: + name: Test Project - cinemachine - HDRP - 2022.3 - Ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/HDRP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run HDRP project tests for Cinemachine on Windows +test_project_-_cinemachine_-_hdrp_-_2022_3_-_windows: + name: Test Project - cinemachine - HDRP - 2022.3 - Windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/HDRP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run HDRP project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_hdrp_-_6000_0_-_macos: + name: Test Project - cinemachine - HDRP - 6000.0 - MacOS + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/HDRP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run HDRP project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_hdrp_-_6000_0_-_ubuntu: + name: Test Project - cinemachine - HDRP - 6000.0 - Ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/HDRP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run HDRP project tests for Cinemachine on Windows +test_project_-_cinemachine_-_hdrp_-_6000_0_-_windows: + name: Test Project - cinemachine - HDRP - 6000.0 - Windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/HDRP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run HDRPInputSystem project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_hdrpinputsystem_-_2022_3_-_macos: + name: Test Project - cinemachine - HDRPInputSystem - 2022.3 - MacOS + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/HDRPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run HDRPInputSystem project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_hdrpinputsystem_-_2022_3_-_ubuntu: + name: Test Project - cinemachine - HDRPInputSystem - 2022.3 - Ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/HDRPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run HDRPInputSystem project tests for Cinemachine on Windows +test_project_-_cinemachine_-_hdrpinputsystem_-_2022_3_-_windows: + name: Test Project - cinemachine - HDRPInputSystem - 2022.3 - Windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/HDRPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run HDRPInputSystem project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_hdrpinputsystem_-_6000_0_-_macos: + name: Test Project - cinemachine - HDRPInputSystem - 6000.0 - MacOS + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/HDRPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run HDRPInputSystem project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_hdrpinputsystem_-_6000_0_-_ubuntu: + name: Test Project - cinemachine - HDRPInputSystem - 6000.0 - Ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/HDRPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run HDRPInputSystem project tests for Cinemachine on Windows +test_project_-_cinemachine_-_hdrpinputsystem_-_6000_0_-_windows: + name: Test Project - cinemachine - HDRPInputSystem - 6000.0 - Windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/HDRPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/HDRPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run Standalone project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_standalone_-_2022_3_-_macos: + name: Test Project - cinemachine - Standalone - 2022.3 - MacOS + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/Standalone --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/Standalone --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run Standalone project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_standalone_-_2022_3_-_ubuntu: + name: Test Project - cinemachine - Standalone - 2022.3 - Ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/Standalone --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/Standalone --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run Standalone project tests for Cinemachine on Windows +test_project_-_cinemachine_-_standalone_-_2022_3_-_windows: + name: Test Project - cinemachine - Standalone - 2022.3 - Windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/Standalone --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/Standalone --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run Standalone project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_standalone_-_6000_0_-_macos: + name: Test Project - cinemachine - Standalone - 6000.0 - MacOS + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/Standalone --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/Standalone --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run Standalone project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_standalone_-_6000_0_-_ubuntu: + name: Test Project - cinemachine - Standalone - 6000.0 - Ubuntu agent: + image: package-ci/ubuntu-20.04:default type: Unity::VM - image: package-ci/ubuntu-22.04:v4 flavor: b1.large commands: - - rm com.unity.cinemachine/Tests/.tests.json - - 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}} --project-path {{test_project.path}} --type project-tests + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/Standalone --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/Standalone --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode artifacts: - logs: + artifacts: paths: - - "upm-ci~/test-results/**/*" + - artifacts/* dependencies: - - .yamato/project-pack.yml#pack_{{test_project.name}} + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine -test_windows_{{editor}}_{{test_project.name}}: - name : Test project windows {{editor}} {{test_project.name}} +# Run Standalone project tests for Cinemachine on Windows +test_project_-_cinemachine_-_standalone_-_6000_0_-_windows: + name: Test Project - cinemachine - Standalone - 6000.0 - Windows agent: + image: package-ci/win10:default type: Unity::VM - image: package-ci/win10:v4 flavor: b1.large 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}} --project-path {{test_project.path}} --type project-tests + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/Standalone --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/Standalone --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode artifacts: - logs: + artifacts: paths: - - "upm-ci~/test-results/**/*" + - artifacts/* dependencies: - - .yamato/project-pack.yml#pack_{{test_project.name}} + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine -test_macos_{{editor}}_{{test_project.name}}: - name : Test project macos {{editor}} {{test_project.name}} +# Run StandaloneInputSystem project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_standaloneinputsystem_-_2022_3_-_macos: + name: Test Project - cinemachine - StandaloneInputSystem - 2022.3 - MacOS agent: + image: package-ci/macos-13:default type: Unity::VM::osx - image: package-ci/macos-13:v4 - flavor: m1.mac + flavor: b1.xlarge 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}} --project-path {{test_project.path}} --type project-tests + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/StandaloneInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/StandaloneInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode artifacts: - logs: + artifacts: paths: - - "upm-ci~/test-results/**/*" + - artifacts/* dependencies: - - .yamato/project-pack.yml#pack_{{test_project.name}} - {% endfor %} -{% endfor %} \ No newline at end of file + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run StandaloneInputSystem project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_standaloneinputsystem_-_2022_3_-_ubuntu: + name: Test Project - cinemachine - StandaloneInputSystem - 2022.3 - Ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/StandaloneInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/StandaloneInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run StandaloneInputSystem project tests for Cinemachine on Windows +test_project_-_cinemachine_-_standaloneinputsystem_-_2022_3_-_windows: + name: Test Project - cinemachine - StandaloneInputSystem - 2022.3 - Windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/StandaloneInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/StandaloneInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run StandaloneInputSystem project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_standaloneinputsystem_-_6000_0_-_macos: + name: Test Project - cinemachine - StandaloneInputSystem - 6000.0 - MacOS + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/StandaloneInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/StandaloneInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run StandaloneInputSystem project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_standaloneinputsystem_-_6000_0_-_ubuntu: + name: Test Project - cinemachine - StandaloneInputSystem - 6000.0 - Ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/StandaloneInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/StandaloneInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run StandaloneInputSystem project tests for Cinemachine on Windows +test_project_-_cinemachine_-_standaloneinputsystem_-_6000_0_-_windows: + name: Test Project - cinemachine - StandaloneInputSystem - 6000.0 - Windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/StandaloneInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/StandaloneInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URP project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_urp_-_2022_3_-_macos: + name: Test Project - cinemachine - URP - 2022.3 - MacOS + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/URP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/URP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URP project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_urp_-_2022_3_-_ubuntu: + name: Test Project - cinemachine - URP - 2022.3 - Ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/URP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/URP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URP project tests for Cinemachine on Windows +test_project_-_cinemachine_-_urp_-_2022_3_-_windows: + name: Test Project - cinemachine - URP - 2022.3 - Windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/URP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/URP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URP project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_urp_-_6000_0_-_macos: + name: Test Project - cinemachine - URP - 6000.0 - MacOS + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/URP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/URP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URP project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_urp_-_6000_0_-_ubuntu: + name: Test Project - cinemachine - URP - 6000.0 - Ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/URP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/URP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URP project tests for Cinemachine on Windows +test_project_-_cinemachine_-_urp_-_6000_0_-_windows: + name: Test Project - cinemachine - URP - 6000.0 - Windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/URP --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/URP --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URPInputSystem project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_urpinputsystem_-_2022_3_-_macos: + name: Test Project - cinemachine - URPInputSystem - 2022.3 - MacOS + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/URPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/URPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URPInputSystem project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_urpinputsystem_-_2022_3_-_ubuntu: + name: Test Project - cinemachine - URPInputSystem - 2022.3 - Ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/URPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/URPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URPInputSystem project tests for Cinemachine on Windows +test_project_-_cinemachine_-_urpinputsystem_-_2022_3_-_windows: + name: Test Project - cinemachine - URPInputSystem - 2022.3 - Windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + - command: upm-pvp create-test-project Projects/URPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/URPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URPInputSystem project tests for Cinemachine on MacOS +test_project_-_cinemachine_-_urpinputsystem_-_6000_0_-_macos: + name: Test Project - cinemachine - URPInputSystem - 6000.0 - MacOS + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/URPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/URPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URPInputSystem project tests for Cinemachine on Ubuntu +test_project_-_cinemachine_-_urpinputsystem_-_6000_0_-_ubuntu: + name: Test Project - cinemachine - URPInputSystem - 6000.0 - Ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: 'rm com.unity.cinemachine/Tests/.tests.json ' + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/URPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner --testproject=Projects/URPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + +# Run URPInputSystem project tests for Cinemachine on Windows +test_project_-_cinemachine_-_urpinputsystem_-_6000_0_-_windows: + name: Test Project - cinemachine - URPInputSystem - 6000.0 - Windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + - command: upm-pvp create-test-project Projects/URPInputSystem --packages "upm-ci~/packages/*.tgz" --unity .Editor + - command: UnifiedTestRunner.exe --testproject=Projects/URPInputSystem --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=editor --suite=PlayMode + artifacts: + artifacts: + paths: + - artifacts/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + diff --git a/.yamato/triggers.yml b/.yamato/triggers.yml new file mode 100644 index 000000000..827c2df38 --- /dev/null +++ b/.yamato/triggers.yml @@ -0,0 +1,113 @@ +# Auto-generated by Recipe Engine, do not modify manually. + +# All tests defined in recipes. +all_trigger: + name: All Trigger + dependencies: + - path: .yamato/code-coverage.yml#code_coverage_-_ubuntu_-_trunk + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_6000_0_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_6000_0_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_6000_0_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_6000_0_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_6000_0_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_6000_0_-_windows + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_macos + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_ubuntu + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_windows + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_macos + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_ubuntu + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_windows + triggers: + expression: NOT pull_request.draft + +# Nightly check on main +nightly_trigger: + name: Nightly Trigger + dependencies: + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrp_-_6000_0_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_hdrpinputsystem_-_6000_0_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standalone_-_6000_0_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_standaloneinputsystem_-_6000_0_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urp_-_6000_0_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_2022_3_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_2022_3_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_2022_3_-_windows + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_6000_0_-_macos + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_6000_0_-_ubuntu + - path: .yamato/project-test.yml#test_project_-_cinemachine_-_urpinputsystem_-_6000_0_-_windows + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_macos + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_ubuntu + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_windows + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_macos + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_ubuntu + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_windows + +# Tests to run on PRs and mainline branches. +package_ci: + name: Package CI + dependencies: + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_windows + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_macos + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_ubuntu + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_windows + triggers: + branches: + only: + - main + - release[/]\\d+[.]\\d+) + diff --git a/.yamato/wrench/api-validation-jobs.yml b/.yamato/wrench/api-validation-jobs.yml new file mode 100644 index 000000000..07b12e3cb --- /dev/null +++ b/.yamato/wrench/api-validation-jobs.yml @@ -0,0 +1,47 @@ +# Auto-generated by Recipe Engine, do not modify manually. +# This job is generated by the wrench recipe engine module, see find the docs here: . + +# upm-ci validation tests for API Validation - cinemachine - 2022.3 - windows (2022.3 - Windows). +api_validation_-_cinemachine_-_2022_3_-_windows: + name: API Validation - cinemachine - 2022.3 - windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl %WRENCH_LOCAL_APV_DOWNLOAD_URL% -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/PackageJsonCondersor.py + timeout: 1 + retries: 0 + - command: upm-ci package test -u .Editor --package-path com.unity.cinemachine --type vetting-tests || exit 0 + timeout: 30 + retries: 0 + - command: python PythonScripts/parse_upm_ci_results.py --package-path=com.unity.cinemachine + timeout: 2 + retries: 0 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + triggers: + expression: push.branch match "^release/.*" + cancel_old_ci: true + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + diff --git a/.yamato/wrench/package-pack-jobs.yml b/.yamato/wrench/package-pack-jobs.yml new file mode 100644 index 000000000..fb98bc281 --- /dev/null +++ b/.yamato/wrench/package-pack-jobs.yml @@ -0,0 +1,30 @@ +# Auto-generated by Recipe Engine, do not modify manually. +# This job is generated by the wrench recipe engine module, see find the docs here: . + +# Pack and Sign Cinemachine +package_pack_-_cinemachine: + name: Package Pack - cinemachine + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: upm-ci package pack --package-path com.unity.cinemachine + - command: cp upm-ci~/packages/packages.json upm-ci~/packages/com.unity.cinemachine_packages.json + artifacts: + packages: + paths: + - upm-ci~/packages/**/* + variables: + UPMCI_ACK_LARGE_PACKAGE: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + diff --git a/.yamato/wrench/preview-a-p-v.yml b/.yamato/wrench/preview-a-p-v.yml new file mode 100644 index 000000000..85927e400 --- /dev/null +++ b/.yamato/wrench/preview-a-p-v.yml @@ -0,0 +1,464 @@ +# Auto-generated by Recipe Engine, do not modify manually. +# This job is generated by the wrench recipe engine module, see find the docs here: . + +# Parent Preview APV Job. +all_preview_apv_jobs: + name: All Preview APV Jobs + dependencies: + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_2021_3_-_macos + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_2021_3_-_ubuntu + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_2021_3_-_windows + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_2022_3_-_macos + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_2022_3_-_ubuntu + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_2022_3_-_windows + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_0_-_macos + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_0_-_ubuntu + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_0_-_windows + triggers: + expression: push.branch match "^release/.*" + cancel_old_ci: true + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + +# Functional tests for dependents found in the latest 2021.3 manifest (MacOS). +preview_apv_-_2021_3_-_macos: + name: Preview APV - 2021.3 - macos + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: unity-downloader-cli -u 2021.3 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=2021.3 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows' + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + logs: + paths: + - '*.log' + - '*.xml' + - upm-ci~/test-results/**/* + - upm-ci~/temp/*/Logs/** + - upm-ci~/temp/*/Library/*.log + - upm-ci~/temp/*/*.log + - upm-ci~/temp/Builds/*.log + packages: + paths: + - upm-ci~/packages/**/* + PreviewAPVResults: + paths: + - PreviewApvArtifacts~/** + pvp-results: + paths: + - upm-ci~/pvp/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + +# Functional tests for dependents found in the latest 2021.3 manifest (Ubuntu). +preview_apv_-_2021_3_-_ubuntu: + name: Preview APV - 2021.3 - ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: unity-downloader-cli -u 2021.3 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=2021.3 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows' + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + logs: + paths: + - '*.log' + - '*.xml' + - upm-ci~/test-results/**/* + - upm-ci~/temp/*/Logs/** + - upm-ci~/temp/*/Library/*.log + - upm-ci~/temp/*/*.log + - upm-ci~/temp/Builds/*.log + packages: + paths: + - upm-ci~/packages/**/* + PreviewAPVResults: + paths: + - PreviewApvArtifacts~/** + pvp-results: + paths: + - upm-ci~/pvp/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + +# Functional tests for dependents found in the latest 2021.3 manifest (Windows). +preview_apv_-_2021_3_-_windows: + name: Preview APV - 2021.3 - windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl %WRENCH_LOCAL_APV_DOWNLOAD_URL% -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: unity-downloader-cli -u 2021.3 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=2021.3 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: python PythonScripts/editor_manifest_validator.py --version=2021.3 --wrench-config=.yamato/wrench/wrench_config.json + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + logs: + paths: + - '*.log' + - '*.xml' + - upm-ci~/test-results/**/* + - upm-ci~/temp/*/Logs/** + - upm-ci~/temp/*/Library/*.log + - upm-ci~/temp/*/*.log + - upm-ci~/temp/Builds/*.log + packages: + paths: + - upm-ci~/packages/**/* + PreviewAPVResults: + paths: + - PreviewApvArtifacts~/** + pvp-results: + paths: + - upm-ci~/pvp/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + +# Functional tests for dependents found in the latest 2022.3 manifest (MacOS). +preview_apv_-_2022_3_-_macos: + name: Preview APV - 2022.3 - macos + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=2022.3 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows' + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + logs: + paths: + - '*.log' + - '*.xml' + - upm-ci~/test-results/**/* + - upm-ci~/temp/*/Logs/** + - upm-ci~/temp/*/Library/*.log + - upm-ci~/temp/*/*.log + - upm-ci~/temp/Builds/*.log + packages: + paths: + - upm-ci~/packages/**/* + PreviewAPVResults: + paths: + - PreviewApvArtifacts~/** + pvp-results: + paths: + - upm-ci~/pvp/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + +# Functional tests for dependents found in the latest 2022.3 manifest (Ubuntu). +preview_apv_-_2022_3_-_ubuntu: + name: Preview APV - 2022.3 - ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=2022.3 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows' + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + logs: + paths: + - '*.log' + - '*.xml' + - upm-ci~/test-results/**/* + - upm-ci~/temp/*/Logs/** + - upm-ci~/temp/*/Library/*.log + - upm-ci~/temp/*/*.log + - upm-ci~/temp/Builds/*.log + packages: + paths: + - upm-ci~/packages/**/* + PreviewAPVResults: + paths: + - PreviewApvArtifacts~/** + pvp-results: + paths: + - upm-ci~/pvp/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + +# Functional tests for dependents found in the latest 2022.3 manifest (Windows). +preview_apv_-_2022_3_-_windows: + name: Preview APV - 2022.3 - windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl %WRENCH_LOCAL_APV_DOWNLOAD_URL% -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=2022.3 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: python PythonScripts/editor_manifest_validator.py --version=2022.3 --wrench-config=.yamato/wrench/wrench_config.json + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + logs: + paths: + - '*.log' + - '*.xml' + - upm-ci~/test-results/**/* + - upm-ci~/temp/*/Logs/** + - upm-ci~/temp/*/Library/*.log + - upm-ci~/temp/*/*.log + - upm-ci~/temp/Builds/*.log + packages: + paths: + - upm-ci~/packages/**/* + PreviewAPVResults: + paths: + - PreviewApvArtifacts~/** + pvp-results: + paths: + - upm-ci~/pvp/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + +# Functional tests for dependents found in the latest 6000.0 manifest (MacOS). +preview_apv_-_6000_0_-_macos: + name: Preview APV - 6000.0 - macos + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.0 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows' + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + logs: + paths: + - '*.log' + - '*.xml' + - upm-ci~/test-results/**/* + - upm-ci~/temp/*/Logs/** + - upm-ci~/temp/*/Library/*.log + - upm-ci~/temp/*/*.log + - upm-ci~/temp/Builds/*.log + packages: + paths: + - upm-ci~/packages/**/* + PreviewAPVResults: + paths: + - PreviewApvArtifacts~/** + pvp-results: + paths: + - upm-ci~/pvp/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + +# Functional tests for dependents found in the latest 6000.0 manifest (Ubuntu). +preview_apv_-_6000_0_-_ubuntu: + name: Preview APV - 6000.0 - ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.0 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows' + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + logs: + paths: + - '*.log' + - '*.xml' + - upm-ci~/test-results/**/* + - upm-ci~/temp/*/Logs/** + - upm-ci~/temp/*/Library/*.log + - upm-ci~/temp/*/*.log + - upm-ci~/temp/Builds/*.log + packages: + paths: + - upm-ci~/packages/**/* + PreviewAPVResults: + paths: + - PreviewApvArtifacts~/** + pvp-results: + paths: + - upm-ci~/pvp/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + +# Functional tests for dependents found in the latest 6000.0 manifest (Windows). +preview_apv_-_6000_0_-_windows: + name: Preview APV - 6000.0 - windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl %WRENCH_LOCAL_APV_DOWNLOAD_URL% -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.0 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: python PythonScripts/editor_manifest_validator.py --version=6000.0 --wrench-config=.yamato/wrench/wrench_config.json + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + logs: + paths: + - '*.log' + - '*.xml' + - upm-ci~/test-results/**/* + - upm-ci~/temp/*/Logs/** + - upm-ci~/temp/*/Library/*.log + - upm-ci~/temp/*/*.log + - upm-ci~/temp/Builds/*.log + packages: + paths: + - upm-ci~/packages/**/* + PreviewAPVResults: + paths: + - PreviewApvArtifacts~/** + pvp-results: + paths: + - upm-ci~/pvp/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + diff --git a/.yamato/wrench/promotion-jobs.yml b/.yamato/wrench/promotion-jobs.yml new file mode 100644 index 000000000..3376ba3a9 --- /dev/null +++ b/.yamato/wrench/promotion-jobs.yml @@ -0,0 +1,152 @@ +# Auto-generated by Recipe Engine, do not modify manually. +# This job is generated by the wrench recipe engine module, see find the docs here: . + +# Publish for cinemachine to https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-npm +publish_cinemachine: + name: Publish cinemachine + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: python PythonScripts/ignore_existing_package_failure.py + artifacts: + pvp-results: + paths: + - upm-ci~/pvp/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_macos + specific_options: + UTR: + location: results/UTR/validate-cinemachine-2022.3-macos + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-2022.3-macos + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_ubuntu + specific_options: + UTR: + location: results/UTR/validate-cinemachine-2022.3-ubuntu + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-2022.3-ubuntu + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_windows + specific_options: + UTR: + location: results/UTR/validate-cinemachine-2022.3-windows + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-2022.3-windows + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_macos + specific_options: + UTR: + location: results/UTR/validate-cinemachine-6000.0-macos + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-6000.0-macos + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_ubuntu + specific_options: + UTR: + location: results/UTR/validate-cinemachine-6000.0-ubuntu + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-6000.0-ubuntu + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_windows + specific_options: + UTR: + location: results/UTR/validate-cinemachine-6000.0-windows + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-6000.0-windows + unzip: true + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + +# Publish Dry Run for cinemachine to https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-npm +publish_dry_run_cinemachine: + name: Publish Dry Run cinemachine + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: upm-pvp publish --packages "upm-ci~/packages/*.tgz" --evidence results --dry-run + artifacts: + pvp-results: + paths: + - upm-ci~/pvp/**/* + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_macos + specific_options: + UTR: + location: results/UTR/validate-cinemachine-2022.3-macos + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-2022.3-macos + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_ubuntu + specific_options: + UTR: + location: results/UTR/validate-cinemachine-2022.3-ubuntu + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-2022.3-ubuntu + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_2022_3_-_windows + specific_options: + UTR: + location: results/UTR/validate-cinemachine-2022.3-windows + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-2022.3-windows + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_macos + specific_options: + UTR: + location: results/UTR/validate-cinemachine-6000.0-macos + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-6000.0-macos + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_ubuntu + specific_options: + UTR: + location: results/UTR/validate-cinemachine-6000.0-ubuntu + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-6000.0-ubuntu + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_cinemachine_-_6000_0_-_windows + specific_options: + UTR: + location: results/UTR/validate-cinemachine-6000.0-windows + unzip: true + pvp-results: + location: results/pvp/validate-cinemachine-6000.0-windows + unzip: true + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + triggers: + expression: push.branch match "^release/.*" + cancel_old_ci: true + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + diff --git a/.yamato/wrench/pvp-exemptions.json b/.yamato/wrench/pvp-exemptions.json new file mode 100644 index 000000000..3253058d4 --- /dev/null +++ b/.yamato/wrench/pvp-exemptions.json @@ -0,0 +1,5 @@ +{ + "requires": [ + "PVP-20-1" + ] +} diff --git a/.yamato/wrench/validation-jobs.yml b/.yamato/wrench/validation-jobs.yml new file mode 100644 index 000000000..467205d36 --- /dev/null +++ b/.yamato/wrench/validation-jobs.yml @@ -0,0 +1,357 @@ +# Auto-generated by Recipe Engine, do not modify manually. +# This job is generated by the wrench recipe engine module, see find the docs here: . + +# PVP Editor and Playmode tests for Validate - cinemachine - 2022.3 - macos (2022.3 - MacOS). +validate_-_cinemachine_-_2022_3_-_macos: + name: Validate - cinemachine - 2022.3 - macos + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-cinemachine --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 PVP-20-1 .yamato/wrench/pvp-exemptions.json" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner --testproject=test-cinemachine --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-cinemachine/Logs/** + - test-cinemachine/Library/*.log + - test-cinemachine/*.log + - test-cinemachine/Builds/*.log + - build/test-results/** + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + labels: + - Packages:cinemachine + +# PVP Editor and Playmode tests for Validate - cinemachine - 2022.3 - ubuntu (2022.3 - Ubuntu). +validate_-_cinemachine_-_2022_3_-_ubuntu: + name: Validate - cinemachine - 2022.3 - ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-cinemachine --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 PVP-20-1 .yamato/wrench/pvp-exemptions.json" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner --testproject=test-cinemachine --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-cinemachine/Logs/** + - test-cinemachine/Library/*.log + - test-cinemachine/*.log + - test-cinemachine/Builds/*.log + - build/test-results/** + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + labels: + - Packages:cinemachine + +# PVP Editor and Playmode tests for Validate - cinemachine - 2022.3 - windows (2022.3 - Windows). +validate_-_cinemachine_-_2022_3_-_windows: + name: Validate - cinemachine - 2022.3 - windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl %WRENCH_LOCAL_APV_DOWNLOAD_URL% -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: unity-downloader-cli -u 2022.3 -c Editor --fast + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-cinemachine --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 PVP-20-1 .yamato/wrench/pvp-exemptions.json" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner.exe --testproject=test-cinemachine --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-cinemachine/Logs/** + - test-cinemachine/Library/*.log + - test-cinemachine/*.log + - test-cinemachine/Builds/*.log + - build/test-results/** + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + labels: + - Packages:cinemachine + +# PVP Editor and Playmode tests for Validate - cinemachine - 6000.0 - macos (6000.0 - MacOS). +validate_-_cinemachine_-_6000_0_-_macos: + name: Validate - cinemachine - 6000.0 - macos + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-cinemachine --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 PVP-20-1 .yamato/wrench/pvp-exemptions.json" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner --testproject=test-cinemachine --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-cinemachine/Logs/** + - test-cinemachine/Library/*.log + - test-cinemachine/*.log + - test-cinemachine/Builds/*.log + - build/test-results/** + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + labels: + - Packages:cinemachine + +# PVP Editor and Playmode tests for Validate - cinemachine - 6000.0 - ubuntu (6000.0 - Ubuntu). +validate_-_cinemachine_-_6000_0_-_ubuntu: + name: Validate - cinemachine - 6000.0 - ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl $WRENCH_LOCAL_APV_DOWNLOAD_URL -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-cinemachine --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 PVP-20-1 .yamato/wrench/pvp-exemptions.json" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner --testproject=test-cinemachine --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-cinemachine/Logs/** + - test-cinemachine/Library/*.log + - test-cinemachine/*.log + - test-cinemachine/Builds/*.log + - build/test-results/** + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + labels: + - Packages:cinemachine + +# PVP Editor and Playmode tests for Validate - cinemachine - 6000.0 - windows (6000.0 - Windows). +validate_-_cinemachine_-_6000_0_-_windows: + name: Validate - cinemachine - 6000.0 - windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl %WRENCH_LOCAL_APV_DOWNLOAD_URL% -o wrench-localapv.zip + - command: 7z x wrench-localapv.zip + - command: python PythonScripts/print_machine_info.py + - command: unity-downloader-cli -u 6000.0 -c Editor --fast + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-cinemachine --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 PVP-20-1 .yamato/wrench/pvp-exemptions.json" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner.exe --testproject=test-cinemachine --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-cinemachine/Logs/** + - test-cinemachine/Library/*.log + - test-cinemachine/*.log + - test-cinemachine/Builds/*.log + - build/test-results/** + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_cinemachine + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.3.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.3.0 + labels: + - Packages:cinemachine + diff --git a/.yamato/wrench/wrench_config.json b/.yamato/wrench/wrench_config.json new file mode 100644 index 000000000..1191e5343 --- /dev/null +++ b/.yamato/wrench/wrench_config.json @@ -0,0 +1,27 @@ +{ + "project_path": "Tools/Cinemachine-Recipes", + "schema_version": 0.5, + "packages": { + "com.unity.cinemachine": { + "directory": "com.unity.cinemachine/", + "prePackCommands": [], + "preTestCommands": {}, + "InternalOnly": false, + "NeverPublish": false + } + }, + "releasing_packages": [ + "com.unity.cinemachine" + ], + "jobs_to_monitor": { + "com.unity.cinemachine": [ + ".yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs", + ".yamato/wrench/api-validation-jobs.yml#api_validation_-_cinemachine_-_2022_3_-_windows", + ".yamato/wrench/promotion-jobs.yml#publish_dry_run_cinemachine" + ] + }, + "publishing_job": ".yamato/wrench/promotion-jobs.yml#publish_cinemachine", + "branch_pattern": "ReleaseSlash", + "wrench_version": "0.10.3.0", + "pvp_exemption_path": ".yamato/wrench/pvp-exemptions.json" +} diff --git a/Projects/HDRP/Packages/manifest.json b/Projects/HDRP/Packages/manifest.json index c1ad8adf6..4addf5c7c 100644 --- a/Projects/HDRP/Packages/manifest.json +++ b/Projects/HDRP/Packages/manifest.json @@ -9,7 +9,6 @@ "com.unity.ide.vscode": "1.2.5", "com.unity.render-pipelines.high-definition": "14.0.6", "com.unity.test-framework": "1.1.33", - "com.unity.textmeshpro": "3.0.6", "com.unity.timeline": "1.7.2", "com.unity.ugui": "1.0.0", "com.unity.xr.legacyinputhelpers": "2.1.10", diff --git a/Projects/HDRPInputSystem/Packages/manifest.json b/Projects/HDRPInputSystem/Packages/manifest.json index 2b9e3e084..391795239 100644 --- a/Projects/HDRPInputSystem/Packages/manifest.json +++ b/Projects/HDRPInputSystem/Packages/manifest.json @@ -9,7 +9,6 @@ "com.unity.inputsystem": "1.4.4", "com.unity.render-pipelines.high-definition": "14.0.3", "com.unity.test-framework": "1.1.33", - "com.unity.textmeshpro": "3.0.6", "com.unity.timeline": "1.7.2", "com.unity.ugui": "1.0.0", "com.unity.xr.legacyinputhelpers": "2.1.10", diff --git a/Tools/Cinemachine-Recipes/Cinemachine-recipes.sln b/Tools/Cinemachine-Recipes/Cinemachine-recipes.sln new file mode 100644 index 000000000..ddfe0f6fc --- /dev/null +++ b/Tools/Cinemachine-Recipes/Cinemachine-recipes.sln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cinemachine.Cookbook", "Cinemachine.Cookbook.csproj", "{A5A71435-C891-4C78-989C-2713DAA7B3B8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A5A71435-C891-4C78-989C-2713DAA7B3B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A5A71435-C891-4C78-989C-2713DAA7B3B8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A5A71435-C891-4C78-989C-2713DAA7B3B8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A5A71435-C891-4C78-989C-2713DAA7B3B8}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/Tools/Cinemachine-Recipes/Cinemachine.Cookbook.csproj b/Tools/Cinemachine-Recipes/Cinemachine.Cookbook.csproj new file mode 100644 index 000000000..9db0823d9 --- /dev/null +++ b/Tools/Cinemachine-Recipes/Cinemachine.Cookbook.csproj @@ -0,0 +1,14 @@ + + + + Exe + net7.0 + enable + enable + + + + + + + diff --git a/Tools/Cinemachine-Recipes/CinemachineBuilder.cs b/Tools/Cinemachine-Recipes/CinemachineBuilder.cs new file mode 100644 index 000000000..c442939e5 --- /dev/null +++ b/Tools/Cinemachine-Recipes/CinemachineBuilder.cs @@ -0,0 +1,13 @@ +using RecipeEngine.Api.Jobs; +using RecipeEngine.Platforms; + +namespace Cinemachine.Cookbook; + +public class CinemachineBuilder +{ + static IJobBuilder Create(string name, Platform platform) + { + return JobBuilder.Create(name) + .WithPlatform(platform); + } +} \ No newline at end of file diff --git a/Tools/Cinemachine-Recipes/Program.cs b/Tools/Cinemachine-Recipes/Program.cs new file mode 100644 index 000000000..6487f7c64 --- /dev/null +++ b/Tools/Cinemachine-Recipes/Program.cs @@ -0,0 +1,20 @@ +using Cinemachine.Cookbook.Settings; +using RecipeEngine; +using RecipeEngine.Modules.Wrench.Helpers; + + +// ReSharper disable once CheckNamespace +public static class Program +{ + public static void Main(string[] args) + { + var settings = new CinemachineSettings(); + + // ReSharper disable once UnusedVariable + var engine = EngineFactory + .Create() + .ScanAll() + .WithWrenchModule(settings.Wrench) + .GenerateAsync().Result; + } +} diff --git a/Tools/Cinemachine-Recipes/Recipes/BuildDocs.cs b/Tools/Cinemachine-Recipes/Recipes/BuildDocs.cs new file mode 100644 index 000000000..6e68a253b --- /dev/null +++ b/Tools/Cinemachine-Recipes/Recipes/BuildDocs.cs @@ -0,0 +1,46 @@ +using Cinemachine.Cookbook.Settings; +using RecipeEngine.Api.Dependencies; +using RecipeEngine.Api.Extensions; +using RecipeEngine.Api.Jobs; +using RecipeEngine.Api.Platforms; +using RecipeEngine.Api.Recipes; +using RecipeEngine.Modules.UpmCi; +using RecipeEngine.Platforms; + +namespace Cinemachine.Cookbook.Recipes; + +public class BuildDocs : RecipeBase +{ + protected override ISet LoadJobs() + => Combine.Collections(GetJobs()).SelectJobs(); + + private static readonly CinemachineSettings Settings = new(); + private const string PackageName = "com.unity.cinemachine"; + + private static readonly Platform + Platform = Settings.Wrench.Packages[PackageName].EditorPlatforms[SystemType.MacOS]; + + private const string EditorVersion = "trunk"; + + public IEnumerable AsDependencies() + { + return this.Jobs.ToDependencies(this); + } + + private List GetJobs() + { + List builders = new(); + IJobBuilder job = JobBuilder.Create($"Code coverage - {Platform.System} - {EditorVersion}") + .WithPlatform(Platform) + .WithCommands(c => c + .AddBrick("git@github.cds.internal.unity3d.com:wind-xu/virtual_production_doc_generation.git@v0.3.0", + ("EDITOR_VERSION", "trunk"), ("PACKAGE_NAME", PackageName), ("PACKAGE_PATH", PackageName)) + ) + .WithDescription( + $"Generate codecov data for {Settings.Wrench.Packages[PackageName].DisplayName} on {Platform.System}"); + + + builders.Add(job); + return builders; + } +} \ No newline at end of file diff --git a/Tools/Cinemachine-Recipes/Recipes/CodeCoverage.cs b/Tools/Cinemachine-Recipes/Recipes/CodeCoverage.cs new file mode 100644 index 000000000..b5a9c717a --- /dev/null +++ b/Tools/Cinemachine-Recipes/Recipes/CodeCoverage.cs @@ -0,0 +1,49 @@ +using Cinemachine.Cookbook.Settings; +using RecipeEngine.Api.Dependencies; +using RecipeEngine.Api.Extensions; +using RecipeEngine.Api.Jobs; +using RecipeEngine.Api.Platforms; +using RecipeEngine.Api.Recipes; +using RecipeEngine.Modules.UnifiedTestRunner; +using RecipeEngine.Modules.UpmCi; +using RecipeEngine.Modules.UpmPvp; +using RecipeEngine.Modules.Wrench.Models; +using RecipeEngine.Platforms; + +namespace Cinemachine.Cookbook.Recipes; + +public class CodeCoverage :RecipeBase +{ + protected override ISet LoadJobs() + => Combine.Collections(GetJobs()).SelectJobs(); + + private static readonly CinemachineSettings settings = new(); + private const string PackageName = "com.unity.cinemachine"; + private static readonly Platform Platform = settings.Wrench.Packages[PackageName].EditorPlatforms[SystemType.Ubuntu]; + private const string EditorVersion = "trunk"; + + + public IEnumerable AsDependencies() + { + return this.Jobs.ToDependencies(this); + } + + private List GetJobs() + { + List builders = new(); + IJobBuilder job = JobBuilder.Create($"Code coverage - {Platform.System} - {EditorVersion}") + .WithPlatform(Platform) + .WithCommands( c => c + .Add("npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm") + .Add("upm-ci package test -u trunk --package-path com.unity.cinemachine --type package-tests --enable-code-coverage --code-coverage-options \"generateAdditionalMetrics;generateHtmlReport;assemblyFilters:+Unity.Cinemachine*\" --extra-utr-arg=--coverage-results-path=${YAMATO_SOURCE_DIR}/upm-ci~/test-results/CoverageResults") + .Add("curl -Os https://uploader.codecov.io/latest/linux/codecov") + .Add("./codecov -v -t \"${CODECOV_TOKEN}\" -B \"${GIT_BRANCH}\" -T \"${GIT_TAG}\" -P \"${YAMATO_PR_ID}\" -f \"upm-ci~/test-results/CoverageResults/**/*.xml\"") + ) + .WithUpmCiArtifacts() + .WithDescription($"Generate codecov data for {settings.Wrench.Packages[PackageName].DisplayName} on {Platform.System}") + .WithDependencies(settings.Wrench.WrenchJobs[PackageName][JobTypes.Pack]); + + builders.Add(job); + return builders; + } +} \ No newline at end of file diff --git a/Tools/Cinemachine-Recipes/Recipes/ProjectTest.cs b/Tools/Cinemachine-Recipes/Recipes/ProjectTest.cs new file mode 100644 index 000000000..f9e8688a2 --- /dev/null +++ b/Tools/Cinemachine-Recipes/Recipes/ProjectTest.cs @@ -0,0 +1,76 @@ +using Cinemachine.Cookbook.Settings; +using RecipeEngine.Api.Artifacts; +using RecipeEngine.Api.Extensions; +using RecipeEngine.Api.Jobs; +using RecipeEngine.Api.Platforms; +using RecipeEngine.Api.Recipes; +using RecipeEngine.Modules.UnifiedTestRunner; +using RecipeEngine.Modules.UpmPvp; +using RecipeEngine.Modules.Wrench.Models; +using RecipeEngine.Platforms; +using RecipeEngine.Api.Dependencies; + + +namespace Cinemachine.Cookbook.Recipes; + +public class ProjectTest : RecipeBase +{ + + + protected override ISet LoadJobs() + => Combine.Collections(GetJobs()).SelectJobs(); + + public string GetJobName(string packageShortName, string project, string editorVersion, SystemType systemType) + => $"Test Project - {packageShortName} - {project} - {editorVersion} - {systemType}"; + + + public IEnumerable AsDependencies() + { + return this.Jobs.ToDependencies(this); + } + + public IEnumerable GetJobs() + { + List builders = new(); + CinemachineSettings settings = new(); + foreach (var packageName in settings.Wrench.PackagesToRelease) + { + var platforms = settings.Wrench.Packages[packageName].EditorPlatforms; + foreach (var platform in platforms) + { + var supportedVersions = settings.Wrench.Packages[packageName].SupportedEditorVersions; + foreach (var editorVersion in supportedVersions) + // foreach (var VARIABLE in _settings.Wrench.Packages[packageName].SupportedEditorVersions) + { + foreach (var project in settings.ProjectNames) + { + IJobBuilder job = JobBuilder.Create(GetJobName(settings.Wrench.Packages[packageName].ShortName, project, editorVersion, platform.Key)) + .WithPlatform(platform.Value) + .WithOptionalCommands( + platform.Value.RunsOnLinux(), c => c + .Add("rm com.unity.cinemachine/Tests/.tests.json ")) + .WithCommands(c => c + .Add($"unity-downloader-cli -u {editorVersion} -c Editor --fast") + // Use the package tarball for testing. + .Add($"upm-pvp create-test-project {settings.ProjectsDir}/{project} --packages \"{UpmPvpCommand.kDefaultPackagesGlob}\" --unity .Editor") + .Add(UtrCommand.Run(platform.Value.System, b => b + .WithTestProject($"{settings.ProjectsDir}/{project}") + .WithEditor(".Editor") + .WithRerun(1, true) + .WithArtifacts("artifacts") + .WithSuite(UtrTestSuiteType.Editor) + .WithExtraArgs("--suite=PlayMode")))) + .WithDescription($"Run {project} project tests for {settings.Wrench.Packages[packageName].DisplayName} on {platform.Key}") + .WithDependencies(settings.Wrench.WrenchJobs[packageName][JobTypes.Pack]) + .WithArtifact(new Artifact("artifacts", "artifacts/*")); + ; + + builders.Add(job); + } + } + } + } + + return builders; + } +} \ No newline at end of file diff --git a/Tools/Cinemachine-Recipes/Recipes/Triggers.cs b/Tools/Cinemachine-Recipes/Recipes/Triggers.cs new file mode 100644 index 000000000..1ad4ee735 --- /dev/null +++ b/Tools/Cinemachine-Recipes/Recipes/Triggers.cs @@ -0,0 +1,49 @@ +using Cinemachine.Cookbook.Settings; +using RecipeEngine.Api.Extensions; +using RecipeEngine.Api.Jobs; +using RecipeEngine.Api.Recipes; +using RecipeEngine.Modules.Wrench.Models; +using Unity.Yamato.JobDefinition; +using Dependency = RecipeEngine.Api.Dependencies.Dependency; + +namespace Cinemachine.Cookbook.Recipes; + +public class Triggers : RecipeBase +{ + private readonly CinemachineSettings config = new (); + private const string packageName = "com.unity.cinemachine"; + + protected override ISet LoadJobs() + => Combine.Collections(GetTriggers()).SelectJobs(); + + private ISet GetTriggers() + { + HashSet builders = new(); + var validationTests = config.Wrench.WrenchJobs[packageName][JobTypes.Validation]; + var projectTests = new ProjectTest().AsDependencies(); + var codeCoverage = new CodeCoverage().AsDependencies(); + builders.Add(JobBuilder.Create($"Nightly Trigger") + .WithDependencies(projectTests) + .WithDependencies(validationTests) + .WithDescription("Nightly check on main") + + ); + builders.Add(JobBuilder.Create($"All Trigger") + .WithDependencies(projectTests) + .WithDependencies(validationTests) + .WithDependencies(codeCoverage) + .WithPullRequestTrigger(pr => pr.ExcludeDraft()) + .WithDescription("All tests defined in recipes.") + ); + + var prsubset = config.Wrench.WrenchJobs[packageName][JobTypes.Validation].Where(job => job.JobId.Contains("windows") || job.JobId.Contains("6000")); + + builders.Add(JobBuilder.Create("Package CI") + .WithDependencies(prsubset) + .WithPullRequestTrigger(pr => pr.ExcludeDraft()) + .WithBranchesTrigger(b => b.Only("main", "release[/]\\\\d+[.]\\\\d+)")) + .WithDescription("Tests to run on PRs and mainline branches.") + ); + return builders; + } +} \ No newline at end of file diff --git a/Tools/Cinemachine-Recipes/Settings/CinemachineSettings.cs b/Tools/Cinemachine-Recipes/Settings/CinemachineSettings.cs new file mode 100644 index 000000000..ed4be1e80 --- /dev/null +++ b/Tools/Cinemachine-Recipes/Settings/CinemachineSettings.cs @@ -0,0 +1,42 @@ +using RecipeEngine.Modules.Wrench.Models; +using RecipeEngine.Modules.Wrench.Settings; + +namespace Cinemachine.Cookbook.Settings; + +public class CinemachineSettings +{ + // Path from the root of the repository where packages are located. + string[] PackagesRootPaths = { "." }; + + // update this to list all packages in this repo that you want to release. + Dictionary PackageOptions = new() + { + { + "com.unity.cinemachine", + new PackageOptions() + { + ReleaseOptions = new ReleaseOptions() { IsReleasing = true }, // Will generate jobs for this packages. + } + }, + }; + + public readonly string ProjectsDir = "Projects"; + + public readonly string[] ProjectNames = new[] + { "HDRP", "HDRPInputSystem", "Standalone", "StandaloneInputSystem", "URP", "URPInputSystem" }; + + ISet PvPprofilesToCheck = new HashSet() { "PVP-20-1" }; + + public CinemachineSettings() + { + Wrench = new WrenchSettings( + PackagesRootPaths, + PackageOptions, + useLocalPvpExemptions: true + ); + + Wrench.PvpProfilesToCheck = PvPprofilesToCheck; + } + + public WrenchSettings Wrench { get; set; } +} \ No newline at end of file diff --git a/Tools/Cinemachine-Recipes/global.json b/Tools/Cinemachine-Recipes/global.json new file mode 100644 index 000000000..9e07d5b9f --- /dev/null +++ b/Tools/Cinemachine-Recipes/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "7.0.0", + "rollForward": "latestMinor", + "allowPrerelease": false + } +} diff --git a/Tools/Cinemachine-Recipes/nuget.config b/Tools/Cinemachine-Recipes/nuget.config new file mode 100644 index 000000000..de6af57e8 --- /dev/null +++ b/Tools/Cinemachine-Recipes/nuget.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/Tools/Cinemachine-Recipes/regenerate.bat b/Tools/Cinemachine-Recipes/regenerate.bat new file mode 100644 index 000000000..f35e32383 --- /dev/null +++ b/Tools/Cinemachine-Recipes/regenerate.bat @@ -0,0 +1,2 @@ +cd ../../ +dotnet run --project Tools/CineMachine-Recipes/Cinemachine.Cookbook.csproj \ No newline at end of file diff --git a/Tools/Cinemachine-Recipes/regenerate.sh b/Tools/Cinemachine-Recipes/regenerate.sh new file mode 100755 index 000000000..f35e32383 --- /dev/null +++ b/Tools/Cinemachine-Recipes/regenerate.sh @@ -0,0 +1,2 @@ +cd ../../ +dotnet run --project Tools/CineMachine-Recipes/Cinemachine.Cookbook.csproj \ No newline at end of file