diff --git a/.yamato/wrench/api-validation-jobs.yml b/.yamato/wrench/api-validation-jobs.yml new file mode 100644 index 0000000000..03dbad8669 --- /dev/null +++ b/.yamato/wrench/api-validation-jobs.yml @@ -0,0 +1,60 @@ +# Auto-generated by Recipe Engine, do not modify manually. +# This job is generated by the wrench recipe engine module. + +# upm-ci validation tests for API Validation - netcode.gameobjects - 6000.0 - windows (6000.0 - Windows). +api_validation_-_netcode_gameobjects_-_6000_0_-_windows: + name: API Validation - netcode.gameobjects - 6000.0 - 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-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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 + timeout: 10 + retries: 3 + - command: python PythonScripts/PackageJsonCondersor.py + timeout: 1 + retries: 0 + - command: upm-ci package test -u .Editor --package-path com.unity.netcode.gameobjects --type vetting-tests || exit 0 + timeout: 30 + retries: 0 + - command: python PythonScripts/parse_upm_ci_results.py --package-path=com.unity.netcode.gameobjects + timeout: 2 + retries: 0 + after: + - command: cmd.exe /c "curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.bat --output run_standalone_instability_detection-latest.bat --retry 5 || exit 0" + - command: cmd.exe /c "run_standalone_instability_detection-latest.bat 0.5.0 || exit 0" + timeout: 10 + retries: 1 + 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 + browsable: onNonSuccess + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_netcode_gameobjects + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + triggers: + expression: push.branch match "^release/.*" + cancel_old_ci: true + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + diff --git a/.yamato/wrench/package-pack-jobs.yml b/.yamato/wrench/package-pack-jobs.yml new file mode 100644 index 0000000000..0dfb1e44cf --- /dev/null +++ b/.yamato/wrench/package-pack-jobs.yml @@ -0,0 +1,36 @@ +# Auto-generated by Recipe Engine, do not modify manually. +# This job is generated by the wrench recipe engine module. + +# Pack and Sign Netcode for GameObjects +package_pack_-_netcode_gameobjects: + name: Package Pack - netcode.gameobjects + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm + timeout: 20 + retries: 10 + - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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-ci package pack --package-path com.unity.netcode.gameobjects + - command: cp upm-ci~/packages/packages.json upm-ci~/packages/com.unity.netcode.gameobjects_packages.json + after: + - command: curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0 + - command: bash ./run_standalone_instability_detection-latest.sh ubuntu 0.5.0 || exit 0 + timeout: 10 + retries: 1 + artifacts: + packages: + paths: + - upm-ci~/packages/**/* + variables: + UPMCI_ACK_LARGE_PACKAGE: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + diff --git a/.yamato/wrench/preview-a-p-v.yml b/.yamato/wrench/preview-a-p-v.yml new file mode 100644 index 0000000000..9ad7ec7b24 --- /dev/null +++ b/.yamato/wrench/preview-a-p-v.yml @@ -0,0 +1,366 @@ +# Auto-generated by Recipe Engine, do not modify manually. +# This job is generated by the wrench recipe engine module. + +# Parent Preview APV Job. +all_preview_apv_jobs: + name: All Preview APV Jobs + dependencies: + - 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 + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_1_-_macos + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_1_-_ubuntu + - path: .yamato/wrench/preview-a-p-v.yml#preview_apv_-_6000_1_-_windows + triggers: + expression: push.branch match "^release/.*" + cancel_old_ci: true + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + +# Functional tests for dependents found in the latest 6000.0 manifest (MacOS). +preview_apv_-_6000_0_-_macos: + name: Preview APV - 6000.0 - macos + agent: + image: package-ci/macos-13:default + type: Unity::VM::osx + flavor: b1.xlarge + commands: + - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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 + 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: curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0 + - command: bash ./run_standalone_instability_detection-latest.sh macos 0.5.0 || exit 0 + timeout: 10 + retries: 1 + 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_-_netcode_gameobjects + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + +# Functional tests for dependents found in the latest 6000.0 manifest (Ubuntu). +preview_apv_-_6000_0_-_ubuntu: + name: Preview APV - 6000.0 - ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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 + 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: curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0 + - command: bash ./run_standalone_instability_detection-latest.sh ubuntu 0.5.0 || exit 0 + timeout: 10 + retries: 1 + 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_-_netcode_gameobjects + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + +# Functional tests for dependents found in the latest 6000.0 manifest (Windows). +preview_apv_-_6000_0_-_windows: + name: Preview APV - 6000.0 - windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: 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-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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 + 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: cmd.exe /c "curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.bat --output run_standalone_instability_detection-latest.bat --retry 5 || exit 0" + - command: cmd.exe /c "run_standalone_instability_detection-latest.bat 0.5.0 || exit 0" + timeout: 10 + retries: 1 + 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_-_netcode_gameobjects + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + interpreter: powershell + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + +# Functional tests for dependents found in the latest 6000.1 manifest (MacOS). +preview_apv_-_6000_1_-_macos: + name: Preview APV - 6000.1 - 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-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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.1 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.1 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows' + after: + - command: curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0 + - command: bash ./run_standalone_instability_detection-latest.sh macos 0.5.0 || exit 0 + timeout: 10 + retries: 1 + 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_-_netcode_gameobjects + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + +# Functional tests for dependents found in the latest 6000.1 manifest (Ubuntu). +preview_apv_-_6000_1_-_ubuntu: + name: Preview APV - 6000.1 - ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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.1 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.1 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: echo 'Skipping Editor Manifest Validator as it is only supported on Windows' + after: + - command: curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0 + - command: bash ./run_standalone_instability_detection-latest.sh ubuntu 0.5.0 || exit 0 + timeout: 10 + retries: 1 + 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_-_netcode_gameobjects + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + +# Functional tests for dependents found in the latest 6000.1 manifest (Windows). +preview_apv_-_6000_1_-_windows: + name: Preview APV - 6000.1 - windows + agent: + image: package-ci/win10:default + type: Unity::VM + flavor: b1.large + commands: + - command: 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-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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.1 -c Editor --fast + timeout: 10 + retries: 3 + - command: python PythonScripts/preview_apv.py --wrench-config=.yamato/wrench/wrench_config.json --editor-version=6000.1 --testsuite=editor,playmode --artifacts-path=PreviewApvArtifacts~ + - command: python PythonScripts/editor_manifest_validator.py --version=6000.1 --wrench-config=.yamato/wrench/wrench_config.json + after: + - command: cmd.exe /c "curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.bat --output run_standalone_instability_detection-latest.bat --retry 5 || exit 0" + - command: cmd.exe /c "run_standalone_instability_detection-latest.bat 0.5.0 || exit 0" + timeout: 10 + retries: 1 + 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_-_netcode_gameobjects + variables: + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + interpreter: powershell + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + diff --git a/.yamato/wrench/promotion-jobs.yml b/.yamato/wrench/promotion-jobs.yml new file mode 100644 index 0000000000..d3f5d202d2 --- /dev/null +++ b/.yamato/wrench/promotion-jobs.yml @@ -0,0 +1,172 @@ +# Auto-generated by Recipe Engine, do not modify manually. +# This job is generated by the wrench recipe engine module. + +# Publish Dry Run for netcode.gameobjects to https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-npm +publish_dry_run_netcode_gameobjects: + name: Publish Dry Run netcode.gameobjects + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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 --dry-run + after: + - command: curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0 + - command: bash ./run_standalone_instability_detection-latest.sh ubuntu 0.5.0 || exit 0 + timeout: 10 + retries: 1 + artifacts: + logs: + paths: + - results/UTR/**/* + browsable: onNonSuccess + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_netcode_gameobjects + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_0_-_macos + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.0-macos + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.0-macos + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_0_-_ubuntu + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.0-ubuntu + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.0-ubuntu + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_0_-_windows + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.0-windows + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.0-windows + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_1_-_macos + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.1-macos + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.1-macos + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_1_-_ubuntu + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.1-ubuntu + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.1-ubuntu + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_1_-_windows + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.1-windows + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.1-windows + unzip: true + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + triggers: + expression: push.branch match "^release/.*" + cancel_old_ci: true + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + +# Publish for netcode.gameobjects to https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-npm +publish_netcode_gameobjects: + name: Publish netcode.gameobjects + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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: curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0 + - command: bash ./run_standalone_instability_detection-latest.sh ubuntu 0.5.0 || exit 0 + timeout: 10 + retries: 1 + artifacts: + logs: + paths: + - results/UTR/**/* + browsable: onNonSuccess + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_netcode_gameobjects + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_0_-_macos + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.0-macos + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.0-macos + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_0_-_ubuntu + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.0-ubuntu + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.0-ubuntu + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_0_-_windows + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.0-windows + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.0-windows + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_1_-_macos + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.1-macos + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.1-macos + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_1_-_ubuntu + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.1-ubuntu + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.1-ubuntu + unzip: true + - path: .yamato/wrench/validation-jobs.yml#validate_-_netcode_gameobjects_-_6000_1_-_windows + specific_options: + UTR: + location: results/UTR/validate-netcode.gameobjects-6000.1-windows + unzip: true + pvp-results: + location: results/pvp/validate-netcode.gameobjects-6000.1-windows + unzip: true + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + diff --git a/.yamato/wrench/recipe-regeneration.yml b/.yamato/wrench/recipe-regeneration.yml new file mode 100644 index 0000000000..03a579082d --- /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. + +# 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\NGO.Cookbook.csproj + - command: |- + if [ -n "$(git status --porcelain)" ]; 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\NGO.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: 0.10.31.0 + diff --git a/.yamato/wrench/validation-jobs.yml b/.yamato/wrench/validation-jobs.yml new file mode 100644 index 0000000000..db48d0b2bc --- /dev/null +++ b/.yamato/wrench/validation-jobs.yml @@ -0,0 +1,405 @@ +# 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 + +# PVP Editor and Playmode tests for Validate - netcode.gameobjects - 6000.0 - macos (6000.0 - MacOS). +validate_-_netcode_gameobjects_-_6000_0_-_macos: + name: Validate - netcode.gameobjects - 6000.0 - 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-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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 + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-netcode.gameobjects --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 supported" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner --testproject=test-netcode.gameobjects --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + after: + - command: curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0 + - command: bash ./run_standalone_instability_detection-latest.sh macos 0.5.0 || exit 0 + timeout: 10 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + browsable: onDemand + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-netcode.gameobjects/Logs/** + - test-netcode.gameobjects/Library/*.log + - test-netcode.gameobjects/*.log + - test-netcode.gameobjects/Builds/*.log + - build/test-results/** + browsable: onDemand + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_netcode_gameobjects + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + labels: + - Packages:netcode.gameobjects + +# PVP Editor and Playmode tests for Validate - netcode.gameobjects - 6000.0 - ubuntu (6000.0 - Ubuntu). +validate_-_netcode_gameobjects_-_6000_0_-_ubuntu: + name: Validate - netcode.gameobjects - 6000.0 - ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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 + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-netcode.gameobjects --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 supported" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner --testproject=test-netcode.gameobjects --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + after: + - command: curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0 + - command: bash ./run_standalone_instability_detection-latest.sh ubuntu 0.5.0 || exit 0 + timeout: 10 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + browsable: onDemand + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-netcode.gameobjects/Logs/** + - test-netcode.gameobjects/Library/*.log + - test-netcode.gameobjects/*.log + - test-netcode.gameobjects/Builds/*.log + - build/test-results/** + browsable: onDemand + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_netcode_gameobjects + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + labels: + - Packages:netcode.gameobjects + +# PVP Editor and Playmode tests for Validate - netcode.gameobjects - 6000.0 - windows (6000.0 - Windows). +validate_-_netcode_gameobjects_-_6000_0_-_windows: + name: Validate - netcode.gameobjects - 6000.0 - 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-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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 + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-netcode.gameobjects --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 supported" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner.exe --testproject=test-netcode.gameobjects --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + after: + - command: cmd.exe /c "curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.bat --output run_standalone_instability_detection-latest.bat --retry 5 || exit 0" + - command: cmd.exe /c "run_standalone_instability_detection-latest.bat 0.5.0 || exit 0" + timeout: 10 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + browsable: onDemand + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-netcode.gameobjects/Logs/** + - test-netcode.gameobjects/Library/*.log + - test-netcode.gameobjects/*.log + - test-netcode.gameobjects/Builds/*.log + - build/test-results/** + browsable: onDemand + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_netcode_gameobjects + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + labels: + - Packages:netcode.gameobjects + +# PVP Editor and Playmode tests for Validate - netcode.gameobjects - 6000.1 - macos (6000.1 - MacOS). +validate_-_netcode_gameobjects_-_6000_1_-_macos: + name: Validate - netcode.gameobjects - 6000.1 - 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-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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.1 -c Editor --fast + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-netcode.gameobjects --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 supported" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner --testproject=test-netcode.gameobjects --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + after: + - command: curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0 + - command: bash ./run_standalone_instability_detection-latest.sh macos 0.5.0 || exit 0 + timeout: 10 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + browsable: onDemand + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-netcode.gameobjects/Logs/** + - test-netcode.gameobjects/Library/*.log + - test-netcode.gameobjects/*.log + - test-netcode.gameobjects/Builds/*.log + - build/test-results/** + browsable: onDemand + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_netcode_gameobjects + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + labels: + - Packages:netcode.gameobjects + +# PVP Editor and Playmode tests for Validate - netcode.gameobjects - 6000.1 - ubuntu (6000.1 - Ubuntu). +validate_-_netcode_gameobjects_-_6000_1_-_ubuntu: + name: Validate - netcode.gameobjects - 6000.1 - ubuntu + agent: + image: package-ci/ubuntu-20.04:default + type: Unity::VM + flavor: b1.large + commands: + - command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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.1 -c Editor --fast + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-netcode.gameobjects --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 supported" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner --testproject=test-netcode.gameobjects --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + after: + - command: curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.sh --output run_standalone_instability_detection-latest.sh --retry 5 || exit 0 + - command: bash ./run_standalone_instability_detection-latest.sh ubuntu 0.5.0 || exit 0 + timeout: 10 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + browsable: onDemand + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-netcode.gameobjects/Logs/** + - test-netcode.gameobjects/Library/*.log + - test-netcode.gameobjects/*.log + - test-netcode.gameobjects/Builds/*.log + - build/test-results/** + browsable: onDemand + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_netcode_gameobjects + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + labels: + - Packages:netcode.gameobjects + +# PVP Editor and Playmode tests for Validate - netcode.gameobjects - 6000.1 - windows (6000.1 - Windows). +validate_-_netcode_gameobjects_-_6000_1_-_windows: + name: Validate - netcode.gameobjects - 6000.1 - 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-2-54_4ed3929f39f0279ecefec81a437d0eb42e21a4f9c6469a88d31e8f3d764709fe.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.1 -c Editor --fast + timeout: 10 + retries: 3 + - command: upm-pvp create-test-project test-netcode.gameobjects --packages "upm-ci~/packages/*.tgz" --unity .Editor + timeout: 10 + retries: 1 + - command: echo No internal packages to add. + - command: upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --results upm-ci~/pvp + timeout: 20 + retries: 0 + - command: echo Skipping check for PVP-160-1 as there is a bug on Windows. https://jira.unity3d.com/browse/PETS-1462 + - command: upm-pvp require "rme PVP-160-1 supported" --results upm-ci~/pvp --exemptions upm-ci~/pvp/failures.json + timeout: 10 + retries: 0 + - command: UnifiedTestRunner.exe --testproject=test-netcode.gameobjects --editor-location=.Editor --reruncount=1 --clean-library-on-rerun --artifacts_path=artifacts --suite=Editor --suite=Playmode "--ff={ops.upmpvpevidence.enable=true}" + timeout: 30 + retries: 1 + after: + - command: cmd.exe /c "curl -s https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/setup/run_standalone_instability_detection-latest.bat --output run_standalone_instability_detection-latest.bat --retry 5 || exit 0" + - command: cmd.exe /c "run_standalone_instability_detection-latest.bat 0.5.0 || exit 0" + timeout: 10 + retries: 1 + artifacts: + Crash Dumps: + paths: + - CrashDumps/** + packages: + paths: + - upm-ci~/packages/**/* + pvp-results: + paths: + - upm-ci~/pvp/**/* + browsable: onDemand + UTR: + paths: + - '*.log' + - '*.xml' + - artifacts/**/* + - test-netcode.gameobjects/Logs/** + - test-netcode.gameobjects/Library/*.log + - test-netcode.gameobjects/*.log + - test-netcode.gameobjects/Builds/*.log + - build/test-results/** + browsable: onDemand + dependencies: + - path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_netcode_gameobjects + variables: + UPMPVP_ACK_UPMPVP_DOES_NO_API_VALIDATION: 1 + UPMPVP_CONTEXT_WRENCH: 0.10.31.0 + metadata: + Job Maintainers: '#rm-packageworks' + Wrench: 0.10.31.0 + labels: + - Packages:netcode.gameobjects + diff --git a/.yamato/wrench/wrench_config.json b/.yamato/wrench/wrench_config.json new file mode 100644 index 0000000000..2ef87583c3 --- /dev/null +++ b/.yamato/wrench/wrench_config.json @@ -0,0 +1,37 @@ +{ + "schema_version": 0.7, + "packages": { + "com.unity.netcode.gameobjects": { + "directory": "com.unity.netcode.gameobjects/", + "prePackCommands": [], + "preTestCommands": { + "MacOS": [], + "Ubuntu": [], + "Windows": [] + }, + "InternalOnly": false, + "NeverPublish": false, + "MaxEditorVersion": "", + "coverageEnabled": false, + "coverageCommands": [ + "generateAdditionalMetrics;generateHtmlReport;assemblyFilters:ASSEMBLY_NAME;pathReplacePatterns:@*,,**/PackageCache/,;sourcePaths:YAMATO_SOURCE_DIR/Packages;" + ], + "dependantsToIgnoreInPreviewApv": {} + } + }, + "releasing_packages": [ + "com.unity.netcode.gameobjects" + ], + "jobs_to_monitor": { + "com.unity.netcode.gameobjects": [ + ".yamato/wrench/api-validation-jobs.yml#api_validation_-_netcode_gameobjects_-_6000_0_-_windows", + ".yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs", + ".yamato/wrench/promotion-jobs.yml#publish_dry_run_netcode_gameobjects" + ] + }, + "publishing_job": ".yamato/wrench/promotion-jobs.yml#publish_netcode_gameobjects", + "branch_pattern": "ReleaseSlash", + "wrench_version": "0.10.31.0", + "pvp_exemption_path": ".yamato/wrench/pvp-exemptions.json", + "cs_project_path": "Tools\\CI\\NGO.Cookbook.csproj" +} \ No newline at end of file diff --git a/Tools/CI/NGO-recipes.sln b/Tools/CI/NGO-recipes.sln new file mode 100644 index 0000000000..f4e6215128 --- /dev/null +++ b/Tools/CI/NGO-recipes.sln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NGO.Cookbook", "NGO.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/NGO.Cookbook.csproj b/Tools/CI/NGO.Cookbook.csproj new file mode 100644 index 0000000000..f5b5a6e439 --- /dev/null +++ b/Tools/CI/NGO.Cookbook.csproj @@ -0,0 +1,14 @@ + + + + Exe + net7.0 + enable + enable + + + + + + + diff --git a/Tools/CI/Program.cs b/Tools/CI/Program.cs new file mode 100644 index 0000000000..176215bdff --- /dev/null +++ b/Tools/CI/Program.cs @@ -0,0 +1,21 @@ +using NGO.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 NGOSettings(); + + // ReSharper disable once UnusedVariable + var engine = EngineFactory + .Create() + .ScanAll() + .WithWrenchModule(settings.Wrench) + .GenerateAsync().Result; + return engine; + } +} diff --git a/Tools/CI/Settings/NGOSettings.cs b/Tools/CI/Settings/NGOSettings.cs new file mode 100644 index 0000000000..ebd24769c0 --- /dev/null +++ b/Tools/CI/Settings/NGOSettings.cs @@ -0,0 +1,34 @@ +using RecipeEngine.Api.Settings; +using RecipeEngine.Modules.Wrench.Models; +using RecipeEngine.Modules.Wrench.Settings; + +namespace NGO.Cookbook.Settings; + +public class NGOSettings : 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.netcode.gameobjects", + new PackageOptions() { ReleaseOptions = new ReleaseOptions() { IsReleasing = true } } + } + }; + + public NGOSettings() + { + Wrench = new WrenchSettings( + packagesRootPaths, + PackageOptions, + false, + false, + @"Tools\CI\NGO.Cookbook.csproj"); // There should be fix soon and there should be no need of specifying the path + + Wrench.PvpProfilesToCheck = new HashSet() { "supported" }; + } + + public WrenchSettings Wrench { get; private set; } +} diff --git a/Tools/CI/global.json b/Tools/CI/global.json new file mode 100644 index 0000000000..3cb4f9622d --- /dev/null +++ b/Tools/CI/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "7.0.0", + "rollForward": "latestMinor", + "allowPrerelease": false + } +} diff --git a/Tools/CI/nuget.config b/Tools/CI/nuget.config new file mode 100644 index 0000000000..de6af57e8d --- /dev/null +++ b/Tools/CI/nuget.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/Tools/CI/regenerate.bat b/Tools/CI/regenerate.bat new file mode 100644 index 0000000000..33c9c9fb12 --- /dev/null +++ b/Tools/CI/regenerate.bat @@ -0,0 +1,2 @@ +cd %~dp0../../ +dotnet run --project Tools\CI\NGO.Cookbook.csproj \ No newline at end of file diff --git a/Tools/CI/regenerate.sh b/Tools/CI/regenerate.sh new file mode 100644 index 0000000000..ef2be6b8d8 --- /dev/null +++ b/Tools/CI/regenerate.sh @@ -0,0 +1,2 @@ +cd $(dirname "$0")/../../ +dotnet run --project Tools\CI\NGO.Cookbook.csproj \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/CHANGELOG.md b/com.unity.netcode.gameobjects/CHANGELOG.md index 99197d550f..2d16bbc30e 100644 --- a/com.unity.netcode.gameobjects/CHANGELOG.md +++ b/com.unity.netcode.gameobjects/CHANGELOG.md @@ -470,7 +470,7 @@ Additional documentation and release notes are available at [Multiplayer Documen - Fixed issue where invalid endpoint addresses were not being detected and returning false from NGO UnityTransport. (#2496) - Fixed some errors that could occur if a connection is lost and the loss is detected when attempting to write to the socket. (#2495) -## Changed +### Changed - Adding network prefabs before NetworkManager initialization is now supported. (#2565) - Connecting clients being synchronized now switch to the server's active scene before spawning and synchronizing NetworkObjects. (#2532) diff --git a/com.unity.netcode.gameobjects/Samples.meta b/com.unity.netcode.gameobjects/Samples.meta deleted file mode 100644 index 5a5e3b286a..0000000000 --- a/com.unity.netcode.gameobjects/Samples.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d48e3f2a8be084f8aae6470ef87063d9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/.sample.json b/com.unity.netcode.gameobjects/Samples/Bootstrap/.sample.json deleted file mode 100644 index f62cf3082d..0000000000 --- a/com.unity.netcode.gameobjects/Samples/Bootstrap/.sample.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "displayName": "Bootstrap", - "description": "A lightweight sample to get started" -} \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap.meta b/com.unity.netcode.gameobjects/Samples~/Bootstrap.meta similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap.meta rename to com.unity.netcode.gameobjects/Samples~/Bootstrap.meta diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Prefabs.meta b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Prefabs.meta similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Prefabs.meta rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Prefabs.meta diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Prefabs/BootstrapPlayer.prefab b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Prefabs/BootstrapPlayer.prefab similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Prefabs/BootstrapPlayer.prefab rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Prefabs/BootstrapPlayer.prefab diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Prefabs/BootstrapPlayer.prefab.meta b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Prefabs/BootstrapPlayer.prefab.meta similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Prefabs/BootstrapPlayer.prefab.meta rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Prefabs/BootstrapPlayer.prefab.meta diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Scenes.meta b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Scenes.meta similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Scenes.meta rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Scenes.meta diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Scenes/Bootstrap.unity b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Scenes/Bootstrap.unity similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Scenes/Bootstrap.unity rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Scenes/Bootstrap.unity diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Scenes/Bootstrap.unity.meta b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Scenes/Bootstrap.unity.meta similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Scenes/Bootstrap.unity.meta rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Scenes/Bootstrap.unity.meta diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts.meta b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts.meta similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts.meta rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts.meta diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/Bootstrap.asmdef b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/Bootstrap.asmdef similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/Bootstrap.asmdef rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/Bootstrap.asmdef diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/Bootstrap.asmdef.meta b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/Bootstrap.asmdef.meta similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/Bootstrap.asmdef.meta rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/Bootstrap.asmdef.meta diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/BootstrapManager.cs b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/BootstrapManager.cs similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/BootstrapManager.cs rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/BootstrapManager.cs diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/BootstrapManager.cs.meta b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/BootstrapManager.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/BootstrapManager.cs.meta rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/BootstrapManager.cs.meta diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/BootstrapPlayer.cs b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/BootstrapPlayer.cs similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/BootstrapPlayer.cs rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/BootstrapPlayer.cs diff --git a/com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/BootstrapPlayer.cs.meta b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/BootstrapPlayer.cs.meta similarity index 100% rename from com.unity.netcode.gameobjects/Samples/Bootstrap/Scripts/BootstrapPlayer.cs.meta rename to com.unity.netcode.gameobjects/Samples~/Bootstrap/Scripts/BootstrapPlayer.cs.meta diff --git a/com.unity.netcode.gameobjects/ValidationExceptions.json b/com.unity.netcode.gameobjects/ValidationExceptions.json deleted file mode 100644 index 9128292b92..0000000000 --- a/com.unity.netcode.gameobjects/ValidationExceptions.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "ErrorExceptions": [], - "WarningExceptions": [] -} diff --git a/com.unity.netcode.gameobjects/ValidationExceptions.json.meta b/com.unity.netcode.gameobjects/ValidationExceptions.json.meta deleted file mode 100644 index 3316cf20bd..0000000000 --- a/com.unity.netcode.gameobjects/ValidationExceptions.json.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2a43005be301c9043aab7034757d4868 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/package.json b/com.unity.netcode.gameobjects/package.json index a632de0172..edbce0938e 100644 --- a/com.unity.netcode.gameobjects/package.json +++ b/com.unity.netcode.gameobjects/package.json @@ -7,5 +7,12 @@ "dependencies": { "com.unity.nuget.mono-cecil": "1.11.4", "com.unity.transport": "2.3.0" + }, + "samples": [ + { + "displayName": "Bootstrap", + "description": "A lightweight sample to get started", + "path": "Samples~/Bootstrap" } + ] }