diff --git a/.gitignore b/.gitignore
index eb3d1ddab5e..dec944ccd51 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,9 @@
*.csproj
*.unityproj
*.sln
+# Allow C# projects and solutions in Tools directory
+!Tools/**/*.csproj
+!Tools/**/*.sln
*.suo
*.tmp
*.user
@@ -98,3 +101,6 @@ coverage.xml
# yamato-parser temporary output files:
.yamato/unfolded/
+
+Tools/ci/obj/
+Tools/ci/bin/
diff --git a/.yamato/com.unity.ml-agents-pack.yml b/.yamato/com.unity.ml-agents-pack.yml
index d3aa3930cd0..875888f6578 100644
--- a/.yamato/com.unity.ml-agents-pack.yml
+++ b/.yamato/com.unity.ml-agents-pack.yml
@@ -25,9 +25,9 @@ pack:
triggers:
cancel_old_ci: true
dependencies:
- - .yamato/com.unity.ml-agents-pack.yml#sign_macOS
+ - .yamato/com.unity.ml-agents-pack.yml#sign_macos
-sign_macOS:
+sign_macos:
name: Sign MacOS Shared Libraries
agent:
type: Unity::VM::osx
diff --git a/.yamato/generated-scripts/infrastructure-instability-detection-linux.sh b/.yamato/generated-scripts/infrastructure-instability-detection-linux.sh
new file mode 100644
index 00000000000..23801212366
--- /dev/null
+++ b/.yamato/generated-scripts/infrastructure-instability-detection-linux.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+# This is an auto-generated script. Do not edit manually!
+set -x
+
+set -e
+if [ -f "infrastructure_instability_detection_standalone.zip" ]; then
+ echo "removed existing archive infrastructure_instability_detection_standalone.zip"
+ rm "infrastructure_instability_detection_standalone.zip" || true
+fi
+
+if [ -d "infrastructure_instability_detection_standalone" ]; then
+ echo "removed existing directory infrastructure_instability_detection_standalone/"
+ rm -rf "infrastructure_instability_detection_standalone" || true
+fi
+
+echo "downloading and extracting infrastructure_instability_detection_standalone@1.0.0"
+curl -fs "https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/1.0.0/ubuntu.zip" --output "infrastructure_instability_detection_standalone.zip" --retry 5 || true
+
+if [ -d "infrastructure_instability_detection" ]; then
+ echo "removing infrastructure_instability_detection folder to avoid name clash"
+ rm -rf infrastructure_instability_detection/ || true
+fi
+
+unzip -qo "infrastructure_instability_detection_standalone.zip" && rm "infrastructure_instability_detection_standalone.zip" || true
+
+echo "downloading and extracting patterns"
+curl -fs "https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/patterns.zip" --output patterns.zip --retry 5 || true
+
+if [ -d "patterns" ]; then
+ echo "removing patterns folder to avoid name clash"
+ rm -rf patterns/ || true
+fi
+
+unzip -q patterns.zip && rm patterns.zip || true
+
+echo "running '$(pwd)/infrastructure_instability_detection'"
+./infrastructure_instability_detection || true
diff --git a/.yamato/generated-scripts/infrastructure-instability-detection-mac.sh b/.yamato/generated-scripts/infrastructure-instability-detection-mac.sh
new file mode 100644
index 00000000000..e37062e9744
--- /dev/null
+++ b/.yamato/generated-scripts/infrastructure-instability-detection-mac.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+# This is an auto-generated script. Do not edit manually!
+set -x
+
+set -e
+if [ -f "infrastructure_instability_detection_standalone.zip" ]; then
+ echo "removed existing archive infrastructure_instability_detection_standalone.zip"
+ rm "infrastructure_instability_detection_standalone.zip" || true
+fi
+
+if [ -d "infrastructure_instability_detection_standalone" ]; then
+ echo "removed existing directory infrastructure_instability_detection_standalone/"
+ rm -rf "infrastructure_instability_detection_standalone" || true
+fi
+
+echo "downloading and extracting infrastructure_instability_detection_standalone@1.0.0"
+curl -fs "https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/1.0.0/macos.zip" --output "infrastructure_instability_detection_standalone.zip" --retry 5 || true
+
+if [ -d "infrastructure_instability_detection" ]; then
+ echo "removing infrastructure_instability_detection folder to avoid name clash"
+ rm -rf infrastructure_instability_detection/ || true
+fi
+
+unzip -qo "infrastructure_instability_detection_standalone.zip" && rm "infrastructure_instability_detection_standalone.zip" || true
+
+echo "downloading and extracting patterns"
+curl -fs "https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/patterns.zip" --output patterns.zip --retry 5 || true
+
+if [ -d "patterns" ]; then
+ echo "removing patterns folder to avoid name clash"
+ rm -rf patterns/ || true
+fi
+
+unzip -q patterns.zip && rm patterns.zip || true
+
+echo "running '$(pwd)/infrastructure_instability_detection'"
+./infrastructure_instability_detection || true
diff --git a/.yamato/generated-scripts/infrastructure-instability-detection-win.cmd b/.yamato/generated-scripts/infrastructure-instability-detection-win.cmd
new file mode 100644
index 00000000000..cae7b26678e
--- /dev/null
+++ b/.yamato/generated-scripts/infrastructure-instability-detection-win.cmd
@@ -0,0 +1,12 @@
+@echo on
+rem This is an auto-generated script. Do not edit manually!
+
+if exist "%TEMP%\BugReporterCrashReportJson" for /f "delims=" %%i in ('dir /b /a-d "%TEMP%\BugReporterCrashReportJson\*.json"') do curl -X POST -H "Content-Type: application/json" -T "%TEMP%\BugReporterCrashReportJson\%%i" "https://internal-crash-collector.prd.cds.internal.unity3d.com/api/crash" || echo Failed to upload %%i. Ignoring...
+curl -fs "https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/1.0.0/windows.zip" --output "infrastructure_instability_detection_standalone.zip" --retry 5
+IF EXIST "infrastructure_instability_detection" rmdir /s /q infrastructure_instability_detection
+powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('infrastructure_instability_detection_standalone.zip', '.'); }" && DEL "infrastructure_instability_detection_standalone.zip"
+curl -fs "https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/patterns.zip" --output patterns.zip --retry 5
+IF EXIST "patterns" rmdir /s /q patterns
+powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('patterns.zip', '.'); }" && DEL "patterns.zip"
+infrastructure_instability_detection
+exit /b 0
diff --git a/.yamato/sparse-checkouts/upm-packages.txt b/.yamato/sparse-checkouts/upm-packages.txt
index f06a071417e..d9383fcad80 100644
--- a/.yamato/sparse-checkouts/upm-packages.txt
+++ b/.yamato/sparse-checkouts/upm-packages.txt
@@ -1,3 +1,4 @@
.github
.yamato
-com.unity.ml-agents
\ No newline at end of file
+com.unity.ml-agents
+Tools
\ No newline at end of file
diff --git a/.yamato/wrench/api-validation-jobs.yml b/.yamato/wrench/api-validation-jobs.yml
index 93972f8522c..972b308b214 100644
--- a/.yamato/wrench/api-validation-jobs.yml
+++ b/.yamato/wrench/api-validation-jobs.yml
@@ -1,5 +1,9 @@
# Auto-generated by Recipe Engine, do not modify manually.
-# This job is generated by the wrench recipe engine module, see find the docs here: .
+# This job is generated by the wrench recipe engine module, see find the docs here: http://Go/ii2fb
+all_api_validation_jobs:
+ name: All API Validation Jobs
+ dependencies:
+ - path: .yamato/wrench/api-validation-jobs.yml#api_validation_-_ml-agents_-_6000_0_-_windows
# upm-ci validation tests for API Validation - ml-agents - 6000.0 - windows (6000.0 - Windows).
api_validation_-_ml-agents_-_6000_0_-_windows:
@@ -9,13 +13,14 @@ api_validation_-_ml-agents_-_6000_0_-_windows:
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: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
- 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
+ - command: unity-downloader-cli -u 6000.0/staging -c editor --path .Editor --fast
timeout: 10
retries: 3
- command: python PythonScripts/PackageJsonCondersor.py
@@ -27,21 +32,31 @@ api_validation_-_ml-agents_-_6000_0_-_windows:
- command: python PythonScripts/parse_upm_ci_results.py --package-path=com.unity.ml-agents
timeout: 2
retries: 0
+ after:
+ - command: .yamato\generated-scripts\infrastructure-instability-detection-win.cmd
artifacts:
Crash Dumps:
paths:
- CrashDumps/**
- packages:
+ logs:
paths:
- - upm-ci~/**/*
+ - '*.log'
+ - '*.xml'
+ - upm-ci~/test-results/**/*
+ - upm-ci~/temp/*/Logs/**
+ - upm-ci~/temp/*/Library/*.log
+ - upm-ci~/temp/*/*.log
+ - upm-ci~/temp/Builds/*.log
+ browsable: onNonSuccess
dependencies:
- path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
variables:
- UPMPVP_CONTEXT_WRENCH: 0.10.5.0
- triggers:
- expression: push.branch match "^release/.*"
- cancel_old_ci: true
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
metadata:
Job Maintainers: '#rm-packageworks'
- Wrench: 0.10.5.0
+ Wrench: 1.4.3.0
diff --git a/.yamato/wrench/package-pack-jobs.yml b/.yamato/wrench/package-pack-jobs.yml
index 35d39a4f2fa..50a4f13b7fe 100644
--- a/.yamato/wrench/package-pack-jobs.yml
+++ b/.yamato/wrench/package-pack-jobs.yml
@@ -1,34 +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: .
+# This job is generated by the wrench recipe engine module, see find the docs here: http://Go/ii2fb
-# Pack and Sign ML Agents
+# Pack ML Agents
package_pack_-_ml-agents:
name: Package Pack - ml-agents
agent:
- image: ml-agents/ubuntu-ci:v1.0.1
+ 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.ml-agents
- command: cp upm-ci~/packages/packages.json upm-ci~/packages/com.unity.ml-agents_packages.json
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-linux.sh
artifacts:
packages:
paths:
- upm-ci~/packages/**/*
dependencies:
- - path: .yamato/com.unity.ml-agents-pack.yml#sign_macOS
+ - path: .yamato/com.unity.ml-agents-pack.yml#sign_macos
variables:
UPMCI_ACK_LARGE_PACKAGE: 1
- UPMPVP_CONTEXT_WRENCH: 0.10.5.0
metadata:
Job Maintainers: '#rm-packageworks'
- Wrench: 0.10.5.0
-
-
+ Wrench: 1.4.3.0
diff --git a/.yamato/wrench/preview-a-p-v.yml b/.yamato/wrench/preview-a-p-v.yml
index 9848ca9b25d..0860425f275 100644
--- a/.yamato/wrench/preview-a-p-v.yml
+++ b/.yamato/wrench/preview-a-p-v.yml
@@ -1,5 +1,5 @@
# Auto-generated by Recipe Engine, do not modify manually.
-# This job is generated by the wrench recipe engine module, see find the docs here: .
+# This job is generated by the wrench recipe engine module, see find the docs here: http://Go/ii2fb
# Parent Preview APV Job.
all_preview_apv_jobs:
@@ -8,12 +8,18 @@ all_preview_apv_jobs:
- 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
+ - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_3_-_macos
+ - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_3_-_ubuntu
+ - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_3_-_windows
+ - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_4_-_macos
+ - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_4_-_ubuntu
+ - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_4_-_windows
+ - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_5_-_macos
+ - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_5_-_ubuntu
+ - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_5_-_windows
metadata:
Job Maintainers: '#rm-packageworks'
- Wrench: 0.10.5.0
+ Wrench: 1.4.3.0
# Functional tests for dependents found in the latest 6000.0 manifest (MacOS).
preview_apv_-_6000_0_-_macos:
@@ -23,17 +29,20 @@ preview_apv_-_6000_0_-_macos:
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: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
- 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
+ - command: unity-downloader-cli -u 6000.0/staging -c editor --path .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'
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-mac.sh
artifacts:
Crash Dumps:
paths:
@@ -53,36 +62,45 @@ preview_apv_-_6000_0_-_macos:
PreviewAPVResults:
paths:
- PreviewApvArtifacts~/**
+ - APVTest/**/manifest.json
pvp-results:
paths:
- upm-ci~/pvp/**/*
+ browsable: onDemand
dependencies:
- path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
variables:
- UPMPVP_CONTEXT_WRENCH: 0.10.5.0
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
metadata:
Job Maintainers: '#rm-packageworks'
- Wrench: 0.10.5.0
+ Wrench: 1.4.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: ml-agents/ubuntu-ci:v1.0.1
+ image: package-ci/ubuntu-22.04:v4
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: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
- 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
+ - command: unity-downloader-cli -u 6000.0/staging -c editor --path .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'
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-linux.sh
artifacts:
Crash Dumps:
paths:
@@ -102,16 +120,22 @@ preview_apv_-_6000_0_-_ubuntu:
PreviewAPVResults:
paths:
- PreviewApvArtifacts~/**
+ - APVTest/**/manifest.json
pvp-results:
paths:
- upm-ci~/pvp/**/*
+ browsable: onDemand
dependencies:
- path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
variables:
- UPMPVP_CONTEXT_WRENCH: 0.10.5.0
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
metadata:
Job Maintainers: '#rm-packageworks'
- Wrench: 0.10.5.0
+ Wrench: 1.4.3.0
# Functional tests for dependents found in the latest 6000.0 manifest (Windows).
preview_apv_-_6000_0_-_windows:
@@ -121,17 +145,21 @@ preview_apv_-_6000_0_-_windows:
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: gsudo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
- 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
+ - command: unity-downloader-cli -u 6000.0/staging -c editor --path .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
+ after:
+ - command: .yamato\generated-scripts\infrastructure-instability-detection-win.cmd
artifacts:
Crash Dumps:
paths:
@@ -151,14 +179,545 @@ preview_apv_-_6000_0_-_windows:
PreviewAPVResults:
paths:
- PreviewApvArtifacts~/**
+ - APVTest/**/manifest.json
pvp-results:
paths:
- upm-ci~/pvp/**/*
+ browsable: onDemand
dependencies:
- path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
variables:
- UPMPVP_CONTEXT_WRENCH: 0.10.5.0
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
metadata:
Job Maintainers: '#rm-packageworks'
- Wrench: 0.10.5.0
+ Wrench: 1.4.3.0
+
+# Functional tests for dependents found in the latest 6000.3 manifest (MacOS).
+preview_apv_-_6000_3_-_macos:
+ name: Preview APV - 6000.3 - macos
+ agent:
+ image: package-ci/macos-13:default
+ type: Unity::VM::osx
+ flavor: b1.xlarge
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - 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.3/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.3 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~
+ - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows'
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-mac.sh
+ 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~/**
+ - APVTest/**/manifest.json
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+
+# Functional tests for dependents found in the latest 6000.3 manifest (Ubuntu).
+preview_apv_-_6000_3_-_ubuntu:
+ name: Preview APV - 6000.3 - ubuntu
+ agent:
+ image: package-ci/ubuntu-22.04:v4
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - 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.3/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.3 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~
+ - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows'
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-linux.sh
+ 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~/**
+ - APVTest/**/manifest.json
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+
+# Functional tests for dependents found in the latest 6000.3 manifest (Windows).
+preview_apv_-_6000_3_-_windows:
+ name: Preview APV - 6000.3 - windows
+ agent:
+ image: package-ci/win10:default
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: gsudo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - 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.3/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.3 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~
+ - command: python PythonScripts/editor_manifest_validator.py --version=6000.3 --wrench-config=.yamato/wrench/wrench_config.json
+ after:
+ - command: .yamato\generated-scripts\infrastructure-instability-detection-win.cmd
+ 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~/**
+ - APVTest/**/manifest.json
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+
+# Functional tests for dependents found in the latest 6000.4 manifest (MacOS).
+preview_apv_-_6000_4_-_macos:
+ name: Preview APV - 6000.4 - macos
+ agent:
+ image: package-ci/macos-13:default
+ type: Unity::VM::osx
+ flavor: b1.xlarge
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - 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.4/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.4 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~
+ - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows'
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-mac.sh
+ 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~/**
+ - APVTest/**/manifest.json
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+
+# Functional tests for dependents found in the latest 6000.4 manifest (Ubuntu).
+preview_apv_-_6000_4_-_ubuntu:
+ name: Preview APV - 6000.4 - ubuntu
+ agent:
+ image: package-ci/ubuntu-22.04:v4
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - 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.4/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.4 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~
+ - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows'
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-linux.sh
+ 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~/**
+ - APVTest/**/manifest.json
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+
+# Functional tests for dependents found in the latest 6000.4 manifest (Windows).
+preview_apv_-_6000_4_-_windows:
+ name: Preview APV - 6000.4 - windows
+ agent:
+ image: package-ci/win10:default
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: gsudo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - 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.4/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.4 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~
+ - command: python PythonScripts/editor_manifest_validator.py --version=6000.4 --wrench-config=.yamato/wrench/wrench_config.json
+ after:
+ - command: .yamato\generated-scripts\infrastructure-instability-detection-win.cmd
+ 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~/**
+ - APVTest/**/manifest.json
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+
+# Functional tests for dependents found in the latest 6000.5 manifest (MacOS).
+preview_apv_-_6000_5_-_macos:
+ name: Preview APV - 6000.5 - macos
+ agent:
+ image: package-ci/macos-13:default
+ type: Unity::VM::osx
+ flavor: b1.xlarge
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - 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 trunk -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.5 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~
+ - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows'
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-mac.sh
+ 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~/**
+ - APVTest/**/manifest.json
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+
+# Functional tests for dependents found in the latest 6000.5 manifest (Ubuntu).
+preview_apv_-_6000_5_-_ubuntu:
+ name: Preview APV - 6000.5 - ubuntu
+ agent:
+ image: package-ci/ubuntu-22.04:v4
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - 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 trunk -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.5 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~
+ - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows'
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-linux.sh
+ 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~/**
+ - APVTest/**/manifest.json
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+
+# Functional tests for dependents found in the latest 6000.5 manifest (Windows).
+preview_apv_-_6000_5_-_windows:
+ name: Preview APV - 6000.5 - windows
+ agent:
+ image: package-ci/win10:default
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: gsudo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - 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 trunk -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.5 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~
+ - command: python PythonScripts/editor_manifest_validator.py --version=6000.5 --wrench-config=.yamato/wrench/wrench_config.json
+ after:
+ - command: .yamato\generated-scripts\infrastructure-instability-detection-win.cmd
+ 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~/**
+ - APVTest/**/manifest.json
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
diff --git a/.yamato/wrench/promotion-jobs.yml b/.yamato/wrench/promotion-jobs.yml
index 6b2d67c21bb..c711187c6ff 100644
--- a/.yamato/wrench/promotion-jobs.yml
+++ b/.yamato/wrench/promotion-jobs.yml
@@ -1,22 +1,29 @@
# Auto-generated by Recipe Engine, do not modify manually.
-# This job is generated by the wrench recipe engine module, see find the docs here: .
+# This job is generated by the wrench recipe engine module, see find the docs here: http://Go/ii2fb
# Publish Dry Run for ml-agents to https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-npm
publish_dry_run_ml-agents:
name: Publish Dry Run ml-agents
agent:
- image: ml-agents/ubuntu-ci:v1.0.1
+ 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: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
- command: python PythonScripts/print_machine_info.py
- - command: upm-pvp publish --packages "upm-ci~/packages/*.tgz" --evidence results --dry-run
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - command: python PythonScripts/report_valid_editors.py
+ - command: python PythonScripts/ignore_existing_package_failure.py
+ - command: python PythonScripts/run_publish_if_any_package_left.py --dry-run
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-linux.sh
artifacts:
- pvp-results:
+ logs:
paths:
- - upm-ci~/pvp/**/*
+ - results/UTR/**/*
+ browsable: onNonSuccess
dependencies:
- path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
- path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_0_-_macos
@@ -27,6 +34,8 @@ publish_dry_run_ml-agents:
pvp-results:
location: results/pvp/validate-ml-agents-6000.0-macos
unzip: true
+ packages:
+ ignore_artifact: true
- path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_0_-_ubuntu
specific_options:
UTR:
@@ -35,6 +44,8 @@ publish_dry_run_ml-agents:
pvp-results:
location: results/pvp/validate-ml-agents-6000.0-ubuntu
unzip: true
+ packages:
+ ignore_artifact: true
- path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_0_-_windows
specific_options:
UTR:
@@ -43,32 +54,128 @@ publish_dry_run_ml-agents:
pvp-results:
location: results/pvp/validate-ml-agents-6000.0-windows
unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_3_-_macos
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.3-macos
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.3-macos
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_3_-_ubuntu
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.3-ubuntu
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.3-ubuntu
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_3_-_windows
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.3-windows
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.3-windows
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_4_-_macos
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.4-macos
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.4-macos
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_4_-_ubuntu
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.4-ubuntu
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.4-ubuntu
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_4_-_windows
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.4-windows
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.4-windows
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_5_-_macos
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.5-macos
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.5-macos
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_5_-_ubuntu
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.5-ubuntu
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.5-ubuntu
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_5_-_windows
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.5-windows
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.5-windows
+ unzip: true
+ packages:
+ ignore_artifact: true
variables:
UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
- UPMPVP_CONTEXT_WRENCH: 0.10.5.0
- triggers:
- expression: push.branch match "^release/.*"
- cancel_old_ci: true
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
metadata:
Job Maintainers: '#rm-packageworks'
- Wrench: 0.10.5.0
+ Wrench: 1.4.3.0
# Publish for ml-agents to https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-npm
publish_ml-agents:
name: Publish ml-agents
agent:
- image: ml-agents/ubuntu-ci:v1.0.1
+ 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: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
- command: python PythonScripts/print_machine_info.py
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - command: python PythonScripts/report_valid_editors.py
- command: python PythonScripts/ignore_existing_package_failure.py
+ - command: python PythonScripts/run_publish_if_any_package_left.py
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-linux.sh
artifacts:
- pvp-results:
+ logs:
paths:
- - upm-ci~/pvp/**/*
+ - results/UTR/**/*
+ browsable: onNonSuccess
dependencies:
- path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
- path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_0_-_macos
@@ -79,6 +186,8 @@ publish_ml-agents:
pvp-results:
location: results/pvp/validate-ml-agents-6000.0-macos
unzip: true
+ packages:
+ ignore_artifact: true
- path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_0_-_ubuntu
specific_options:
UTR:
@@ -87,6 +196,8 @@ publish_ml-agents:
pvp-results:
location: results/pvp/validate-ml-agents-6000.0-ubuntu
unzip: true
+ packages:
+ ignore_artifact: true
- path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_0_-_windows
specific_options:
UTR:
@@ -95,10 +206,102 @@ publish_ml-agents:
pvp-results:
location: results/pvp/validate-ml-agents-6000.0-windows
unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_3_-_macos
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.3-macos
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.3-macos
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_3_-_ubuntu
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.3-ubuntu
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.3-ubuntu
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_3_-_windows
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.3-windows
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.3-windows
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_4_-_macos
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.4-macos
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.4-macos
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_4_-_ubuntu
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.4-ubuntu
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.4-ubuntu
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_4_-_windows
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.4-windows
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.4-windows
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_5_-_macos
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.5-macos
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.5-macos
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_5_-_ubuntu
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.5-ubuntu
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.5-ubuntu
+ unzip: true
+ packages:
+ ignore_artifact: true
+ - path: .yamato/wrench/validation-jobs.yml#validate_-_ml-agents_-_6000_5_-_windows
+ specific_options:
+ UTR:
+ location: results/UTR/validate-ml-agents-6000.5-windows
+ unzip: true
+ pvp-results:
+ location: results/pvp/validate-ml-agents-6000.5-windows
+ unzip: true
+ packages:
+ ignore_artifact: true
variables:
UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
- UPMPVP_CONTEXT_WRENCH: 0.10.5.0
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
metadata:
Job Maintainers: '#rm-packageworks'
- Wrench: 0.10.5.0
+ Wrench: 1.4.3.0
diff --git a/.yamato/wrench/publish-trigger.yml b/.yamato/wrench/publish-trigger.yml
new file mode 100644
index 00000000000..c44ffab94bf
--- /dev/null
+++ b/.yamato/wrench/publish-trigger.yml
@@ -0,0 +1,12 @@
+# Auto-generated by Recipe Engine, do not modify manually.
+# This job is generated by the wrench recipe engine module, see find the docs here: http://Go/ii2fb
+all_promotion_related_jobs_promotiontrigger:
+ name: All Promotion Related Jobs PromotionTrigger
+ dependencies:
+ - path: .yamato/wrench/api-validation-jobs.yml#all_api_validation_jobs
+ - path: .yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs
+ - path: .yamato/wrench/promotion-jobs.yml#publish_dry_run_ml-agents
+ triggers:
+ expression: push.branch match "^release/.*"
+ cancel_old_ci: true
+
diff --git a/.yamato/wrench/recipe-regeneration.yml b/.yamato/wrench/recipe-regeneration.yml
new file mode 100644
index 00000000000..3cb0e333fb4
--- /dev/null
+++ b/.yamato/wrench/recipe-regeneration.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: http://Go/ii2fb
+
+# Test that Generated Wrench Jobs are up to date.
+test_-_wrench_jobs_up_to_date:
+ name: Test - Wrench Jobs up to date
+ agent:
+ image: package-ci/ubuntu-20.04:default
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: dotnet run --project Tools/ci/MLAgents.Cookbook.csproj
+ - command: |-
+ if [ -n "$(git status --porcelain -- .yamato/wrench)" ]; then
+ git status
+ echo "Your repo is not clean - diff output:"
+ git diff
+ echo "You must run recipe generation after updating recipes to update the generated YAML!"
+ echo "Run 'dotnet run --project Tools/ci/MLAgents.Cookbook.csproj' from the root of your repository to regenerate all job definitions created by wrench."
+ exit 1
+ fi
+ variables:
+ DOTNET_CLI_TELEMETRY_OPTOUT: 1
+ triggers:
+ expression: push.branch match "^release/.*"
+ cancel_old_ci: true
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+
diff --git a/.yamato/wrench/validation-jobs.yml b/.yamato/wrench/validation-jobs.yml
index 2052a22d2fb..94374f30309 100644
--- a/.yamato/wrench/validation-jobs.yml
+++ b/.yamato/wrench/validation-jobs.yml
@@ -1,5 +1,5 @@
# Auto-generated by Recipe Engine, do not modify manually.
-# This job is generated by the wrench recipe engine module, see find the docs here: .
+# This job is generated by the wrench recipe engine module, see find the docs here: http://Go/ii2fb
# PVP Editor and Playmode tests for Validate - ml-agents - 6000.0 - macos (6000.0 - MacOS).
validate_-_ml-agents_-_6000_0_-_macos:
@@ -9,26 +9,29 @@ validate_-_ml-agents_-_6000_0_-_macos:
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: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
- command: python PythonScripts/print_machine_info.py
- - command: unity-downloader-cli -u 6000.0 -c Editor --fast
+ - command: unity-downloader-cli -u 6000.0/staging -c editor --path .Editor --fast
timeout: 10
retries: 3
- - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --unity .Editor
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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: upm-pvp require "PVP-160-1" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ - command: upm-pvp require "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
timeout: 5
retries: 0
- command: echo No additional PVP profiles to declared to check.
- - command: UnifiedTestRunner --testproject=test-ml-agents --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}"
- timeout: 30
+ - command: 'UnifiedTestRunner --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
retries: 1
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-mac.sh
artifacts:
Crash Dumps:
paths:
@@ -39,6 +42,7 @@ validate_-_ml-agents_-_6000_0_-_macos:
pvp-results:
paths:
- upm-ci~/pvp/**/*
+ browsable: onDemand
UTR:
paths:
- '*.log'
@@ -49,14 +53,19 @@ validate_-_ml-agents_-_6000_0_-_macos:
- test-ml-agents/*.log
- test-ml-agents/Builds/*.log
- build/test-results/**
+ browsable: onDemand
dependencies:
- path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
- UPMPVP_CONTEXT_WRENCH: 0.10.5.0
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
metadata:
Job Maintainers: '#rm-packageworks'
- Wrench: 0.10.5.0
+ Wrench: 1.4.3.0
labels:
- Packages:ml-agents
@@ -64,30 +73,33 @@ validate_-_ml-agents_-_6000_0_-_macos:
validate_-_ml-agents_-_6000_0_-_ubuntu:
name: Validate - ml-agents - 6000.0 - ubuntu
agent:
- image: ml-agents/ubuntu-ci:v1.0.1
+ image: package-ci/ubuntu-22.04:v4
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: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
- command: python PythonScripts/print_machine_info.py
- - command: unity-downloader-cli -u 6000.0 -c Editor --fast
+ - command: unity-downloader-cli -u 6000.0/staging -c editor --path .Editor --fast
timeout: 10
retries: 3
- - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --unity .Editor
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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: upm-pvp require "PVP-160-1" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ - command: upm-pvp require "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
timeout: 5
retries: 0
- command: echo No additional PVP profiles to declared to check.
- - command: UnifiedTestRunner --testproject=test-ml-agents --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}"
- timeout: 30
+ - command: 'UnifiedTestRunner --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
retries: 1
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-linux.sh
artifacts:
Crash Dumps:
paths:
@@ -98,6 +110,7 @@ validate_-_ml-agents_-_6000_0_-_ubuntu:
pvp-results:
paths:
- upm-ci~/pvp/**/*
+ browsable: onDemand
UTR:
paths:
- '*.log'
@@ -108,14 +121,19 @@ validate_-_ml-agents_-_6000_0_-_ubuntu:
- test-ml-agents/*.log
- test-ml-agents/Builds/*.log
- build/test-results/**
+ browsable: onDemand
dependencies:
- path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
- UPMPVP_CONTEXT_WRENCH: 0.10.5.0
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
metadata:
Job Maintainers: '#rm-packageworks'
- Wrench: 0.10.5.0
+ Wrench: 1.4.3.0
labels:
- Packages:ml-agents
@@ -127,24 +145,233 @@ validate_-_ml-agents_-_6000_0_-_windows:
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: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - command: python PythonScripts/print_machine_info.py
+ - command: unity-downloader-cli -u 6000.0/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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: upm-pvp require "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ timeout: 5
+ retries: 0
+ - command: echo No additional PVP profiles to declared to check.
+ - command: 'UnifiedTestRunner.exe --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
+ retries: 1
+ after:
+ - command: .yamato\generated-scripts\infrastructure-instability-detection-win.cmd
+ artifacts:
+ Crash Dumps:
+ paths:
+ - CrashDumps/**
+ packages:
+ paths:
+ - upm-ci~/packages/**/*
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ UTR:
+ paths:
+ - '*.log'
+ - '*.xml'
+ - artifacts/**/*
+ - test-ml-agents/Logs/**
+ - test-ml-agents/Library/*.log
+ - test-ml-agents/*.log
+ - test-ml-agents/Builds/*.log
+ - build/test-results/**
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+ labels:
+ - Packages:ml-agents
+
+# PVP Editor and Playmode tests for Validate - ml-agents - 6000.3 - macos (6000.3 - MacOS).
+validate_-_ml-agents_-_6000_3_-_macos:
+ name: Validate - ml-agents - 6000.3 - macos
+ agent:
+ image: package-ci/macos-13:default
+ type: Unity::VM::osx
+ flavor: b1.xlarge
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - command: python PythonScripts/print_machine_info.py
+ - command: unity-downloader-cli -u 6000.3/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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: upm-pvp require "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ timeout: 5
+ retries: 0
+ - command: echo No additional PVP profiles to declared to check.
+ - command: 'UnifiedTestRunner --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
+ retries: 1
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-mac.sh
+ artifacts:
+ Crash Dumps:
+ paths:
+ - CrashDumps/**
+ packages:
+ paths:
+ - upm-ci~/packages/**/*
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ UTR:
+ paths:
+ - '*.log'
+ - '*.xml'
+ - artifacts/**/*
+ - test-ml-agents/Logs/**
+ - test-ml-agents/Library/*.log
+ - test-ml-agents/*.log
+ - test-ml-agents/Builds/*.log
+ - build/test-results/**
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+ labels:
+ - Packages:ml-agents
+
+# PVP Editor and Playmode tests for Validate - ml-agents - 6000.3 - ubuntu (6000.3 - Ubuntu).
+validate_-_ml-agents_-_6000_3_-_ubuntu:
+ name: Validate - ml-agents - 6000.3 - ubuntu
+ agent:
+ image: package-ci/ubuntu-22.04:v4
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - command: python PythonScripts/print_machine_info.py
+ - command: unity-downloader-cli -u 6000.3/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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: upm-pvp require "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ timeout: 5
+ retries: 0
+ - command: echo No additional PVP profiles to declared to check.
+ - command: 'UnifiedTestRunner --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
+ retries: 1
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-linux.sh
+ artifacts:
+ Crash Dumps:
+ paths:
+ - CrashDumps/**
+ packages:
+ paths:
+ - upm-ci~/packages/**/*
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ UTR:
+ paths:
+ - '*.log'
+ - '*.xml'
+ - artifacts/**/*
+ - test-ml-agents/Logs/**
+ - test-ml-agents/Library/*.log
+ - test-ml-agents/*.log
+ - test-ml-agents/Builds/*.log
+ - build/test-results/**
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+ labels:
+ - Packages:ml-agents
+
+# PVP Editor and Playmode tests for Validate - ml-agents - 6000.3 - windows (6000.3 - Windows).
+validate_-_ml-agents_-_6000_3_-_windows:
+ name: Validate - ml-agents - 6000.3 - windows
+ agent:
+ image: package-ci/win10:default
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
- command: python PythonScripts/print_machine_info.py
- - command: unity-downloader-cli -u 6000.0 -c Editor --fast
+ - command: unity-downloader-cli -u 6000.3/staging -c editor --path .Editor --fast
timeout: 10
retries: 3
- - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --unity .Editor
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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 "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ timeout: 5
+ retries: 0
- command: echo No additional PVP profiles to declared to check.
- - command: UnifiedTestRunner.exe --testproject=test-ml-agents --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}"
- timeout: 30
+ - command: 'UnifiedTestRunner.exe --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
retries: 1
+ after:
+ - command: .yamato\generated-scripts\infrastructure-instability-detection-win.cmd
artifacts:
Crash Dumps:
paths:
@@ -155,6 +382,7 @@ validate_-_ml-agents_-_6000_0_-_windows:
pvp-results:
paths:
- upm-ci~/pvp/**/*
+ browsable: onDemand
UTR:
paths:
- '*.log'
@@ -165,13 +393,427 @@ validate_-_ml-agents_-_6000_0_-_windows:
- test-ml-agents/*.log
- test-ml-agents/Builds/*.log
- build/test-results/**
+ browsable: onDemand
dependencies:
- path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
- UPMPVP_CONTEXT_WRENCH: 0.10.5.0
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
metadata:
Job Maintainers: '#rm-packageworks'
- Wrench: 0.10.5.0
+ Wrench: 1.4.3.0
labels:
- Packages:ml-agents
+
+# PVP Editor and Playmode tests for Validate - ml-agents - 6000.4 - macos (6000.4 - MacOS).
+validate_-_ml-agents_-_6000_4_-_macos:
+ name: Validate - ml-agents - 6000.4 - macos
+ agent:
+ image: package-ci/macos-13:default
+ type: Unity::VM::osx
+ flavor: b1.xlarge
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - command: python PythonScripts/print_machine_info.py
+ - command: unity-downloader-cli -u 6000.4/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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: upm-pvp require "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ timeout: 5
+ retries: 0
+ - command: echo No additional PVP profiles to declared to check.
+ - command: 'UnifiedTestRunner --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
+ retries: 1
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-mac.sh
+ artifacts:
+ Crash Dumps:
+ paths:
+ - CrashDumps/**
+ packages:
+ paths:
+ - upm-ci~/packages/**/*
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ UTR:
+ paths:
+ - '*.log'
+ - '*.xml'
+ - artifacts/**/*
+ - test-ml-agents/Logs/**
+ - test-ml-agents/Library/*.log
+ - test-ml-agents/*.log
+ - test-ml-agents/Builds/*.log
+ - build/test-results/**
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+ labels:
+ - Packages:ml-agents
+
+# PVP Editor and Playmode tests for Validate - ml-agents - 6000.4 - ubuntu (6000.4 - Ubuntu).
+validate_-_ml-agents_-_6000_4_-_ubuntu:
+ name: Validate - ml-agents - 6000.4 - ubuntu
+ agent:
+ image: package-ci/ubuntu-22.04:v4
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - command: python PythonScripts/print_machine_info.py
+ - command: unity-downloader-cli -u 6000.4/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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: upm-pvp require "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ timeout: 5
+ retries: 0
+ - command: echo No additional PVP profiles to declared to check.
+ - command: 'UnifiedTestRunner --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
+ retries: 1
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-linux.sh
+ artifacts:
+ Crash Dumps:
+ paths:
+ - CrashDumps/**
+ packages:
+ paths:
+ - upm-ci~/packages/**/*
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ UTR:
+ paths:
+ - '*.log'
+ - '*.xml'
+ - artifacts/**/*
+ - test-ml-agents/Logs/**
+ - test-ml-agents/Library/*.log
+ - test-ml-agents/*.log
+ - test-ml-agents/Builds/*.log
+ - build/test-results/**
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+ labels:
+ - Packages:ml-agents
+
+# PVP Editor and Playmode tests for Validate - ml-agents - 6000.4 - windows (6000.4 - Windows).
+validate_-_ml-agents_-_6000_4_-_windows:
+ name: Validate - ml-agents - 6000.4 - windows
+ agent:
+ image: package-ci/win10:default
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - command: python PythonScripts/print_machine_info.py
+ - command: unity-downloader-cli -u 6000.4/staging -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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: upm-pvp require "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ timeout: 5
+ retries: 0
+ - command: echo No additional PVP profiles to declared to check.
+ - command: 'UnifiedTestRunner.exe --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
+ retries: 1
+ after:
+ - command: .yamato\generated-scripts\infrastructure-instability-detection-win.cmd
+ artifacts:
+ Crash Dumps:
+ paths:
+ - CrashDumps/**
+ packages:
+ paths:
+ - upm-ci~/packages/**/*
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ UTR:
+ paths:
+ - '*.log'
+ - '*.xml'
+ - artifacts/**/*
+ - test-ml-agents/Logs/**
+ - test-ml-agents/Library/*.log
+ - test-ml-agents/*.log
+ - test-ml-agents/Builds/*.log
+ - build/test-results/**
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+ labels:
+ - Packages:ml-agents
+
+# PVP Editor and Playmode tests for Validate - ml-agents - 6000.5 - macos (6000.5 - MacOS).
+validate_-_ml-agents_-_6000_5_-_macos:
+ name: Validate - ml-agents - 6000.5 - macos
+ agent:
+ image: package-ci/macos-13:default
+ type: Unity::VM::osx
+ flavor: b1.xlarge
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - command: python PythonScripts/print_machine_info.py
+ - command: unity-downloader-cli -u trunk -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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: upm-pvp require "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ timeout: 5
+ retries: 0
+ - command: echo No additional PVP profiles to declared to check.
+ - command: 'UnifiedTestRunner --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
+ retries: 1
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-mac.sh
+ artifacts:
+ Crash Dumps:
+ paths:
+ - CrashDumps/**
+ packages:
+ paths:
+ - upm-ci~/packages/**/*
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ UTR:
+ paths:
+ - '*.log'
+ - '*.xml'
+ - artifacts/**/*
+ - test-ml-agents/Logs/**
+ - test-ml-agents/Library/*.log
+ - test-ml-agents/*.log
+ - test-ml-agents/Builds/*.log
+ - build/test-results/**
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+ labels:
+ - Packages:ml-agents
+
+# PVP Editor and Playmode tests for Validate - ml-agents - 6000.5 - ubuntu (6000.5 - Ubuntu).
+validate_-_ml-agents_-_6000_5_-_ubuntu:
+ name: Validate - ml-agents - 6000.5 - ubuntu
+ agent:
+ image: package-ci/ubuntu-22.04:v4
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - command: python PythonScripts/print_machine_info.py
+ - command: unity-downloader-cli -u trunk -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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: upm-pvp require "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ timeout: 5
+ retries: 0
+ - command: echo No additional PVP profiles to declared to check.
+ - command: 'UnifiedTestRunner --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
+ retries: 1
+ after:
+ - command: bash .yamato/generated-scripts/infrastructure-instability-detection-linux.sh
+ artifacts:
+ Crash Dumps:
+ paths:
+ - CrashDumps/**
+ packages:
+ paths:
+ - upm-ci~/packages/**/*
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ UTR:
+ paths:
+ - '*.log'
+ - '*.xml'
+ - artifacts/**/*
+ - test-ml-agents/Logs/**
+ - test-ml-agents/Library/*.log
+ - test-ml-agents/*.log
+ - test-ml-agents/Builds/*.log
+ - build/test-results/**
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+ labels:
+ - Packages:ml-agents
+
+# PVP Editor and Playmode tests for Validate - ml-agents - 6000.5 - windows (6000.5 - Windows).
+validate_-_ml-agents_-_6000_5_-_windows:
+ name: Validate - ml-agents - 6000.5 - windows
+ agent:
+ image: package-ci/win10:default
+ type: Unity::VM
+ flavor: b1.large
+ commands:
+ - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-0_3978eda62a03e3dbc469ab77590d20f8832032d8e0b586550597b7f590baefec.zip -o wrench-localapv.zip
+ - command: 7z x -aoa wrench-localapv.zip
+ - command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
+ - command: python PythonScripts/print_machine_info.py
+ - command: unity-downloader-cli -u trunk -c editor --path .Editor --fast
+ timeout: 10
+ retries: 3
+ - command: upm-pvp create-test-project test-ml-agents --packages "upm-ci~/packages/*.tgz" --filter "com.unity.ml-agents com.unity.ml-agents.tests" --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: upm-pvp require "pkgprom-promote -PVP-29-2 rme" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json
+ timeout: 5
+ retries: 0
+ - command: echo No additional PVP profiles to declared to check.
+ - command: 'UnifiedTestRunner.exe --testproject=test-ml-agents --editor-location=.Editor --clean-library --reruncount=1 --clean-library-on-rerun --artifacts-path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" '
+ timeout: 20
+ retries: 1
+ after:
+ - command: .yamato\generated-scripts\infrastructure-instability-detection-win.cmd
+ artifacts:
+ Crash Dumps:
+ paths:
+ - CrashDumps/**
+ packages:
+ paths:
+ - upm-ci~/packages/**/*
+ pvp-results:
+ paths:
+ - upm-ci~/pvp/**/*
+ browsable: onDemand
+ UTR:
+ paths:
+ - '*.log'
+ - '*.xml'
+ - artifacts/**/*
+ - test-ml-agents/Logs/**
+ - test-ml-agents/Library/*.log
+ - test-ml-agents/*.log
+ - test-ml-agents/Builds/*.log
+ - build/test-results/**
+ browsable: onDemand
+ dependencies:
+ - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_ml-agents
+ variables:
+ UNITY_LICENSING_SERVER_BASE_URL: http://unity-ci-licenses.hq.unity3d.com:8080/
+ UNITY_LICENSING_SERVER_DELETE_NUL: 0
+ UNITY_LICENSING_SERVER_DELETE_ULF: 0
+ UNITY_LICENSING_SERVER_TOOLSET: pro
+ UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1
+ UPMPVP_CONTEXT_WRENCH: 1.4.3.0
+ metadata:
+ Job Maintainers: '#rm-packageworks'
+ Wrench: 1.4.3.0
+ labels:
+ - Packages:ml-agents
+
diff --git a/.yamato/wrench/wrench_config.json b/.yamato/wrench/wrench_config.json
index 257389bf8b1..d705c8bfd70 100644
--- a/.yamato/wrench/wrench_config.json
+++ b/.yamato/wrench/wrench_config.json
@@ -1,13 +1,23 @@
{
- "project_path": "Tools/CI",
- "schema_version": 0.5,
+ "schema_version": 0.7,
"packages": {
"com.unity.ml-agents": {
"directory": "com.unity.ml-agents/",
"prePackCommands": [],
- "preTestCommands": {},
+ "preTestCommands": {
+ "MacOS": [],
+ "Ubuntu": [],
+ "Windows": []
+ },
"InternalOnly": false,
- "NeverPublish": false
+ "NeverPublish": false,
+ "MaxEditorVersion": "",
+ "coverageEnabled": false,
+ "coverageCommands": [
+ "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:ASSEMBLY_NAME;pathReplacePatterns:@*,,**/PackageCache/,;sourcePaths:YAMATO_SOURCE_DIR/Packages;"
+ ],
+ "dependantsToIgnoreInPreviewApv": {},
+ "postPackCommands": []
}
},
"releasing_packages": [
@@ -22,6 +32,7 @@
},
"publishing_job": ".yamato/wrench/promotion-jobs.yml#publish_ml-agents",
"branch_pattern": "ReleaseSlash",
- "wrench_version": "0.10.5.0",
- "pvp_exemption_path": ".yamato/wrench/pvp-exemptions.json"
-}
+ "wrench_version": "1.4.3.0",
+ "pvp_exemption_path": ".yamato/wrench/pvp-exemptions.json",
+ "cs_project_path": "Tools/ci/MLAgents.Cookbook.csproj"
+}
\ No newline at end of file
diff --git a/Tools/ci/MLAgents-recipes.sln b/Tools/ci/MLAgents-recipes.sln
new file mode 100644
index 00000000000..c159a6257ca
--- /dev/null
+++ b/Tools/ci/MLAgents-recipes.sln
@@ -0,0 +1,16 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLAgents.Cookbook", "MLAgents.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/ci/MLAgents.Cookbook.csproj b/Tools/ci/MLAgents.Cookbook.csproj
new file mode 100644
index 00000000000..a7fc75e6396
--- /dev/null
+++ b/Tools/ci/MLAgents.Cookbook.csproj
@@ -0,0 +1,14 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/Tools/ci/Program.cs b/Tools/ci/Program.cs
new file mode 100644
index 00000000000..e91a79cf888
--- /dev/null
+++ b/Tools/ci/Program.cs
@@ -0,0 +1,21 @@
+using MLAgents.Cookbook.Settings;
+using RecipeEngine;
+using RecipeEngine.Modules.Wrench.Helpers;
+
+
+// ReSharper disable once CheckNamespace
+public static class Program
+{
+ public static int Main(string[] args)
+ {
+ var settings = new MLAgentsSettings();
+
+ // ReSharper disable once UnusedVariable
+ var engine = EngineFactory
+ .Create()
+ .ScanAll()
+ .WithWrenchModule(settings.Wrench)
+ .GenerateAsync().Result;
+ return engine;
+ }
+}
diff --git a/Tools/ci/Settings/MLAgentsSettings.cs b/Tools/ci/Settings/MLAgentsSettings.cs
new file mode 100644
index 00000000000..050137f4c1a
--- /dev/null
+++ b/Tools/ci/Settings/MLAgentsSettings.cs
@@ -0,0 +1,35 @@
+using RecipeEngine.Api.Dependencies;
+using RecipeEngine.Api.Settings;
+using RecipeEngine.Modules.Wrench.Models;
+using RecipeEngine.Modules.Wrench.Settings;
+
+namespace MLAgents.Cookbook.Settings;
+
+public class MLAgentsSettings : AnnotatedSettingsBase
+{
+ // Path from the root of the repository where packages are located.
+ readonly string[] PackagesRootPaths = {"."};
+
+ // update this to list all packages in this repo that you want to release.
+ Dictionary PackageOptions = new()
+ {
+ {
+ "com.unity.ml-agents",
+ new PackageOptions()
+ {
+ ReleaseOptions = new ReleaseOptions() { IsReleasing = true },
+ PackJobOptions = new PackJobOptions() { Dependencies = new List() { new Dependency("com.unity.ml-agents-pack", "sign_macos") } }
+ }
+ }
+ };
+
+ public MLAgentsSettings()
+ {
+ Wrench = new WrenchSettings(
+ PackagesRootPaths,
+ PackageOptions
+ );
+ }
+
+ public WrenchSettings Wrench { get; private set; }
+}
diff --git a/Tools/ci/global.json b/Tools/ci/global.json
new file mode 100644
index 00000000000..18b689d104f
--- /dev/null
+++ b/Tools/ci/global.json
@@ -0,0 +1,7 @@
+{
+ "sdk": {
+ "version": "8.0.0",
+ "rollForward": "latestMinor",
+ "allowPrerelease": false
+ }
+}
diff --git a/Tools/ci/nuget.config b/Tools/ci/nuget.config
new file mode 100644
index 00000000000..de6af57e8dc
--- /dev/null
+++ b/Tools/ci/nuget.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Tools/ci/onboard.py b/Tools/ci/onboard.py
new file mode 100644
index 00000000000..2c08e44d836
--- /dev/null
+++ b/Tools/ci/onboard.py
@@ -0,0 +1,178 @@
+# Description: This script is used to onboard a project onto Wrench
+import argparse
+import json
+import os
+import shutil
+import subprocess
+
+TEMPLATE_CSPROJ = "TEMPLATE.Cookbook.csproj"
+TEMPLATE_SLN = "TEMPLATE-recipes.sln"
+
+
+def get_args():
+ parser = argparse.ArgumentParser(description="Onboard a project onto Wrench")
+ parser.add_argument(
+ "--settings-name",
+ required=True,
+ help="The name of the settings file",
+ dest="settings_name",
+ )
+ return parser.parse_args()
+
+
+def delete_git_folder():
+ print("Deleting .git folder")
+ if os.path.isfile(".gitignore"):
+ os.remove(".gitignore")
+ if os.path.exists(".git"):
+ shutil.rmtree(".git", ignore_errors=True)
+
+
+def get_git_root_dir():
+ git_dir = subprocess.run(
+ ["git", "rev-parse", "--show-toplevel"], stdout=subprocess.PIPE
+ ).stdout
+ return git_dir.decode("utf-8").strip()
+
+
+def find_package_json_files(root_dir, initial=True):
+ # walk the directory recursively and find all package.json files
+ rtn_list = set()
+ for root, dirs, files in os.walk(root_dir):
+ for file in files:
+ if file == "package.json":
+ if initial:
+ file_location = file
+ else:
+ file_location = os.path.join(root, file)
+ # validate the package.json file
+ with open(os.path.join(root, file_location)) as f:
+ data = json.loads(f.read())
+ if "unity" in data and "name" in data:
+ rtn_list.add(data["name"])
+ for directory in dirs:
+ rtn_list.update(
+ find_package_json_files(os.path.join(root, directory), False)
+ )
+
+ return rtn_list
+
+
+def create_package_option(name, first):
+ initial_char = ""
+ initial_tab = ""
+ if not first:
+ initial_char = ",\n"
+ initial_tab = " "
+ return (
+ f'{initial_char}{initial_tab}{{\n "{name}",\n'
+ f" new PackageOptions() {{ ReleaseOptions = "
+ f"new ReleaseOptions() {{ IsReleasing = true }} }}\n }}"
+ )
+
+
+def update_template_variables(packages):
+ template_var = "TEMPLATESettings"
+ settings = get_args()
+ settings_content = open(os.path.join("Settings", template_var + ".cs")).read()
+ # replace the template settings with the actual settings
+ settings_content = settings_content.replace(
+ "TEMPLATESettings", f"{settings.settings_name}Settings"
+ )
+ settings_content = settings_content.replace("PACKAGES_ROOTS", ".")
+
+ package_replace_string = ""
+ first = True
+ for package in packages:
+ package_replace_string += create_package_option(package, first)
+ first = False
+ settings_content = settings_content.replace(
+ '//"PACKAGES_TO_RELEASE"', package_replace_string
+ )
+ settings_content = settings_content.replace(
+ "TEMPLATE.Cookbook.Settings", settings.settings_name + ".Cookbook.Settings"
+ )
+
+ # Write the updated settings file
+ with open(
+ os.path.join("Settings", settings.settings_name + "Settings.cs"), "w"
+ ) as f:
+ f.write(settings_content)
+ # Update the Program.cs file
+ program_content = open("Program.cs").read()
+ with open("Program.cs", "w") as f:
+ program_content = program_content.replace(
+ "using TEMPLATE.Cookbook.Settings;",
+ f"using {settings.settings_name}.Cookbook.Settings;",
+ )
+ program_content = program_content.replace(
+ "TEMPLATE.Cookbook", settings.settings_name
+ )
+ program_content = program_content.replace("PACKAGES_ROOT", ".")
+ program_content = program_content.replace(
+ "TEMPLATESettings", settings.settings_name + "Settings"
+ )
+ f.write(program_content)
+ # delete the template file
+ os.remove(os.path.join("Settings", template_var + ".cs"))
+ # update csproj file
+ csproj_content = open(TEMPLATE_CSPROJ).read()
+ with open(TEMPLATE_CSPROJ.replace("TEMPLATE", settings.settings_name), "w") as f:
+ f.write(csproj_content)
+ os.remove(TEMPLATE_CSPROJ)
+ # update sln file
+ sln_content = open(TEMPLATE_SLN).read()
+ with open(TEMPLATE_SLN.replace("TEMPLATE", settings.settings_name), "w") as f:
+ sln_content = sln_content.replace("TEMPLATE", settings.settings_name)
+ f.write(sln_content)
+ os.remove(TEMPLATE_SLN)
+
+
+def update_shell_scripts(root_dir):
+ split_root = os.path.normpath(root_dir).split(os.sep)
+ split_cwd = os.getcwd().split(os.sep)
+
+ relative_path = os.path.relpath(os.getcwd(), root_dir)
+ csproj_path = os.path.join(
+ relative_path, f"{get_args().settings_name}.Cookbook.csproj"
+ )
+
+ path_diff = len(split_cwd) - len(split_root)
+ cd_string = ""
+ for _ in range(path_diff):
+ cd_string += "../"
+
+ bash_content = open("regenerate.bat").read()
+ bash_content = bash_content.replace("STEPS_TO_ROOT", cd_string)
+ bash_content = bash_content.replace("PATH_TO_CSPROJ", csproj_path)
+ with open("regenerate.bat", "w") as f:
+ f.write(bash_content)
+
+ shell_content = open("regenerate.sh").read()
+ shell_content = shell_content.replace("STEPS_TO_ROOT", cd_string)
+ shell_content = shell_content.replace("PATH_TO_CSPROJ", csproj_path)
+ with open("regenerate.sh", "w") as f:
+ f.write(shell_content)
+
+
+def main():
+ print("Starting process of onboarding")
+ # delete git folder
+ delete_git_folder()
+ # get root folder
+ root_dir = get_git_root_dir()
+ # find all appropriate package.json files
+ package_files = find_package_json_files(root_dir)
+ packages = set()
+ # process out any testing packages
+ for package in package_files:
+ if ".tests" in package:
+ continue
+ packages.add(package)
+ # Replace Template naming with actual naming
+ update_template_variables(packages)
+ update_shell_scripts(root_dir)
+
+
+if "__main__" in __name__:
+ main()
diff --git a/Tools/ci/regenerate.bat b/Tools/ci/regenerate.bat
new file mode 100644
index 00000000000..969e6aa08c8
--- /dev/null
+++ b/Tools/ci/regenerate.bat
@@ -0,0 +1,2 @@
+cd %~dp0../../
+dotnet run --project Tools/ci/MLAgents.Cookbook.csproj
\ No newline at end of file
diff --git a/Tools/ci/regenerate.sh b/Tools/ci/regenerate.sh
new file mode 100755
index 00000000000..748d9d226f9
--- /dev/null
+++ b/Tools/ci/regenerate.sh
@@ -0,0 +1,2 @@
+cd $(dirname "$0")/../../
+dotnet run --project Tools/ci/MLAgents.Cookbook.csproj
\ No newline at end of file
diff --git a/com.unity.ml-agents/CHANGELOG.md b/com.unity.ml-agents/CHANGELOG.md
index d9819f1936e..97e14ac254d 100755
--- a/com.unity.ml-agents/CHANGELOG.md
+++ b/com.unity.ml-agents/CHANGELOG.md
@@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to
[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
-## [Unreleased]
+## [4.0.1] - 2025-12-04
### Minor Changes
#### com.unity.ml-agents (C#)
- Upgraded to Inference Engine 2.4.1 (#6269)
diff --git a/com.unity.ml-agents/Documentation~/Reference-Support.md b/com.unity.ml-agents/Documentation~/Reference-Support.md
index 922e65c79d7..8c891229f95 100644
--- a/com.unity.ml-agents/Documentation~/Reference-Support.md
+++ b/com.unity.ml-agents/Documentation~/Reference-Support.md
@@ -3,10 +3,11 @@
The Reference & Support section contains essential documentation for ongoing ML-Agents development.
-| **Resource** | **Description** |
-|--------------------------------------|--------------------------------------------------------------|
-| [FAQ](FAQ.md) | Frequently asked questions and common issues with solutions. |
-| [Limitations](Limitations.md) | Known limitations and constraints of the ML-Agents Toolkit. |
-| [Migrating](Migrating.md) | Migration guides for updating between ML-Agents versions. |
-| [Versioning](Versioning.md) | Information about ML-Agents versioning and release notes. |
-| [ML-Agents Glossary](Glossary.md) | Glossary of terms and concepts used in ML-Agents. |
+| **Resource** | **Description** |
+|--------------------------------------------|--------------------------------------------------------------|
+| [FAQ](FAQ.md) | Frequently asked questions and common issues with solutions. |
+| [Limitations](Limitations.md) | Known limitations and constraints of the ML-Agents Toolkit. |
+| [Migrating](Migrating.md) | Migration guides for updating between ML-Agents versions. |
+| [Versioning](Versioning.md) | Information about ML-Agents versioning and release notes. |
+| [ML-Agents Glossary](Glossary.md) | Glossary of terms and concepts used in ML-Agents. |
+| [Contribution guidelines](CONTRIBUTING.md) | How to Contribute to ML-Agents. |
diff --git a/com.unity.ml-agents/Runtime/Academy.cs b/com.unity.ml-agents/Runtime/Academy.cs
index 4867ddda0a7..9957e91f439 100644
--- a/com.unity.ml-agents/Runtime/Academy.cs
+++ b/com.unity.ml-agents/Runtime/Academy.cs
@@ -107,7 +107,7 @@ public class Academy : IDisposable
/// Unity package version of com.unity.ml-agents.
/// This must match the version string in package.json and is checked in a unit test.
///
- internal const string k_PackageVersion = "4.0.0";
+ internal const string k_PackageVersion = "4.0.1";
const int k_EditorTrainingPort = 5004;
diff --git a/com.unity.ml-agents/Tests/Editor/TestModels/continuous2vis8vec2action_v1_0.onnx b/com.unity.ml-agents/Tests/Editor/TestModels/continuous2vis8vec2action_v1_0.onnx
index 45d991d4e15..7b409edd61e 100644
Binary files a/com.unity.ml-agents/Tests/Editor/TestModels/continuous2vis8vec2action_v1_0.onnx and b/com.unity.ml-agents/Tests/Editor/TestModels/continuous2vis8vec2action_v1_0.onnx differ
diff --git a/com.unity.ml-agents/Tests/Editor/TestModels/deterContinuous2vis8vec2action_v2_0.onnx b/com.unity.ml-agents/Tests/Editor/TestModels/deterContinuous2vis8vec2action_v2_0.onnx
index 71abfb70c1e..a35d645bbfc 100644
Binary files a/com.unity.ml-agents/Tests/Editor/TestModels/deterContinuous2vis8vec2action_v2_0.onnx and b/com.unity.ml-agents/Tests/Editor/TestModels/deterContinuous2vis8vec2action_v2_0.onnx differ
diff --git a/com.unity.ml-agents/Tests/Editor/TestModels/deterDiscrete1obs3action_v2_0.onnx b/com.unity.ml-agents/Tests/Editor/TestModels/deterDiscrete1obs3action_v2_0.onnx
index 3a9bb7da5a2..2c80f29ab31 100644
Binary files a/com.unity.ml-agents/Tests/Editor/TestModels/deterDiscrete1obs3action_v2_0.onnx and b/com.unity.ml-agents/Tests/Editor/TestModels/deterDiscrete1obs3action_v2_0.onnx differ
diff --git a/com.unity.ml-agents/Tests/Editor/TestModels/discrete1vis0vec_2_3action_obsolete_recurr_v1_0.onnx b/com.unity.ml-agents/Tests/Editor/TestModels/discrete1vis0vec_2_3action_obsolete_recurr_v1_0.onnx
index 590906bc674..4055d9bb1bd 100644
Binary files a/com.unity.ml-agents/Tests/Editor/TestModels/discrete1vis0vec_2_3action_obsolete_recurr_v1_0.onnx and b/com.unity.ml-agents/Tests/Editor/TestModels/discrete1vis0vec_2_3action_obsolete_recurr_v1_0.onnx differ
diff --git a/com.unity.ml-agents/Tests/Editor/TestModels/hybrid0vis53vec_3c_2daction_v1_0.onnx b/com.unity.ml-agents/Tests/Editor/TestModels/hybrid0vis53vec_3c_2daction_v1_0.onnx
index 3bce81181eb..e57dc519596 100644
Binary files a/com.unity.ml-agents/Tests/Editor/TestModels/hybrid0vis53vec_3c_2daction_v1_0.onnx and b/com.unity.ml-agents/Tests/Editor/TestModels/hybrid0vis53vec_3c_2daction_v1_0.onnx differ
diff --git a/com.unity.ml-agents/package.json b/com.unity.ml-agents/package.json
index a92298cae59..4eeddba888d 100755
--- a/com.unity.ml-agents/package.json
+++ b/com.unity.ml-agents/package.json
@@ -1,7 +1,7 @@
{
"name": "com.unity.ml-agents",
"displayName": "ML Agents",
- "version": "4.0.0",
+ "version": "4.0.1",
"unity": "6000.0",
"description": "Use state-of-the-art machine learning to create intelligent character behaviors in any Unity environment (games, robotics, film, etc.).",
"dependencies": {
diff --git a/ml-agents-trainer-plugin/mlagents_trainer_plugin/dqn/dqn_optimizer.py b/ml-agents-trainer-plugin/mlagents_trainer_plugin/dqn/dqn_optimizer.py
index e01b6b50205..4c438c8387a 100644
--- a/ml-agents-trainer-plugin/mlagents_trainer_plugin/dqn/dqn_optimizer.py
+++ b/ml-agents-trainer-plugin/mlagents_trainer_plugin/dqn/dqn_optimizer.py
@@ -197,24 +197,12 @@ def __init__(
self.version_number = torch.nn.Parameter(
torch.Tensor([self.MODEL_EXPORT_VERSION]), requires_grad=False
)
- self.is_continuous_int_deprecated = torch.nn.Parameter(
- torch.Tensor([int(self.action_spec.is_continuous())]), requires_grad=False
- )
self.continuous_act_size_vector = torch.nn.Parameter(
torch.Tensor([int(self.action_spec.continuous_size)]), requires_grad=False
)
self.discrete_act_size_vector = torch.nn.Parameter(
torch.Tensor([self.action_spec.discrete_branches]), requires_grad=False
)
- self.act_size_vector_deprecated = torch.nn.Parameter(
- torch.Tensor(
- [
- self.action_spec.continuous_size
- + sum(self.action_spec.discrete_branches)
- ]
- ),
- requires_grad=False,
- )
self.memory_size_vector = torch.nn.Parameter(
torch.Tensor([int(self.network_body.memory_size)]), requires_grad=False
)
diff --git a/ml-agents/mlagents/trainers/torch_entities/networks.py b/ml-agents/mlagents/trainers/torch_entities/networks.py
index 196d23698f0..a34ff45c312 100644
--- a/ml-agents/mlagents/trainers/torch_entities/networks.py
+++ b/ml-agents/mlagents/trainers/torch_entities/networks.py
@@ -586,24 +586,12 @@ def __init__(
self.version_number = torch.nn.Parameter(
torch.Tensor([self.MODEL_EXPORT_VERSION]), requires_grad=False
)
- self.is_continuous_int_deprecated = torch.nn.Parameter(
- torch.Tensor([int(self.action_spec.is_continuous())]), requires_grad=False
- )
self.continuous_act_size_vector = torch.nn.Parameter(
torch.Tensor([int(self.action_spec.continuous_size)]), requires_grad=False
)
self.discrete_act_size_vector = torch.nn.Parameter(
torch.Tensor([self.action_spec.discrete_branches]), requires_grad=False
)
- self.act_size_vector_deprecated = torch.nn.Parameter(
- torch.Tensor(
- [
- self.action_spec.continuous_size
- + sum(self.action_spec.discrete_branches)
- ]
- ),
- requires_grad=False,
- )
self.network_body = NetworkBody(observation_specs, network_settings)
if network_settings.memory is not None:
self.encoding_size = network_settings.memory.memory_size // 2