Skip to content

Commit f0563b3

Browse files
Merge branch 'develop-3.x.x' into chore/asmdef-guid-references
2 parents 46223c5 + 5d301b2 commit f0563b3

94 files changed

Lines changed: 1195 additions & 2188 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.yamato/_run-all.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -369,14 +369,14 @@ run_all_project_tests_console_standalone_default:
369369

370370

371371
# Runs all unified (NGO + N4E) tests
372-
# These run on their own pinned editor (unified_editors) rather than the validation_editors, because
372+
# These run on their own pinned editor (validation_editors) rather than the validation_editors, because
373373
# they need an editor that bundles a com.unity.netcode with the unified API. See unified-tests.yml.
374374
run_all_unified_tests:
375375
name: Run All Unified Tests
376376
dependencies:
377377
{% for project in projects.default -%}
378-
{% for platform in unified_test_platforms -%}
379-
{% for editor in unified_editors.default -%}
378+
{% for platform in test_platforms.default -%}
379+
{% for editor in validation_editors.default -%}
380380
- .yamato/unified-tests.yml#unified_test_{{ project.name }}_{{ platform.name }}_{{ editor }}
381381
{% endfor -%}
382382
{% endfor -%}

.yamato/api-updater-test.yml

Lines changed: 52 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,52 @@
1-
{% metadata_file .yamato/project.metafile %}
2-
---
3-
4-
# DESCRIPTION--------------------------------------------------------------------------
5-
# This job validates the NGO 2.x -> 3.x upgrade path for editor scripts.
6-
# NGO 3.0 renamed the editor assembly and its namespaces (Unity.Netcode.Editor ->
7-
# Unity.Netcode.GameObjects.Editor), and every relocated public type carries a [MovedFrom] so that
8-
# Unity's API updater rewrites a 2.x project's editor scripts automatically on upgrade.
9-
# apiupdaterproject holds editor code written against the 2.x API; the job imports it with
10-
# -accept-apiupdate and asserts that every 2.x type reference was rewritten and none survived.
11-
# See apiupdaterproject/README.md.
12-
13-
14-
# TECHNICAL CONSIDERATIONS---------------------------------------------------------------
15-
# apiupdaterproject/Packages/manifest.json references the package by relative path
16-
# (file:../../com.unity.netcode.gameobjects), so the job tests the package as it sits in the repo
17-
# and needs no package-pack dependency.
18-
# The script restores the 2.x sources when it finishes, so the checkout is left unmodified and the
19-
# job is safe to re-run on the same agent.
20-
# --clean purges Library first: the assertion is meaningless against a warm Library that already
21-
# holds rewritten sources from a previous run.
22-
23-
{% for platform in test_platforms.default -%}
24-
{% for editor in validation_editors.default -%}
25-
api_updater_test_{{ platform.name }}_{{ editor }}:
26-
name : API Updater Test - NGO 2.x editor scripts upgrade [{{ platform.name }}, {{ editor }}]
27-
agent:
28-
type: {{ platform.type }}
29-
image: {{ platform.image }}
30-
flavor: {{ platform.flavor }}
31-
commands:
32-
- unity-downloader-cli --fast --wait -u {{ editor }} -c Editor # Installing basic editor for the import
33-
- python apiupdaterproject/run_upgrade_test.py --unity .Editor --clean
34-
artifacts:
35-
logs:
36-
paths:
37-
- "apiupdaterproject/upgrade-test.log"
38-
dependencies:
39-
- .yamato/_run-all.yml#run_quick_checks # initial checks to perform fast validation of common errors
40-
{% endfor -%}
41-
{% endfor -%}
1+
{% metadata_file .yamato/project.metafile %}
2+
---
3+
4+
# DESCRIPTION--------------------------------------------------------------------------
5+
# This job validates the NGO 2.x -> 3.x upgrade path for user scripts.
6+
# NGO 3.0 renamed the editor assembly and its namespaces (Unity.Netcode.Editor ->
7+
# Unity.Netcode.GameObjects.Editor) and moved the runtime timing types (Unity.Netcode.NetworkTime
8+
# and friends -> Unity.Netcode.GameObjects.Timing), and every relocated public type carries a
9+
# [MovedFrom] so that Unity's API updater rewrites a 2.x project's scripts automatically on upgrade.
10+
# apiupdaterproject holds code written against the 2.x API; the job imports it with
11+
# -accept-apiupdate and asserts that every 2.x type reference was rewritten and none survived.
12+
# See apiupdaterproject/README.md.
13+
#
14+
# The second run adds an assembly that occupies Unity.Netcode.NetworkTimeSystem, standing in for
15+
# any second installed package that declares the same name, and inverts the expectation for that
16+
# one name: the updater is driven by resolution failure, so a name that still resolves cannot be
17+
# migrated. NetworkTime and NetworkTickSystem are absent from the stub and must still migrate, so
18+
# a pass proves both halves.
19+
# This is the regression test for why the timing types were moved at all.
20+
21+
22+
# TECHNICAL CONSIDERATIONS---------------------------------------------------------------
23+
# apiupdaterproject/Packages/manifest.json references the package by relative path
24+
# (file:../../com.unity.netcode.gameobjects), so the job tests the package as it sits in the repo
25+
# and needs no package-pack dependency.
26+
# The script restores the 2.x sources when it finishes, so the checkout is left unmodified and the
27+
# job is safe to re-run on the same agent.
28+
# --clean purges Library first: the assertion is meaningless against a warm Library that already
29+
# holds rewritten sources from a previous run. That is also why the two runs are sequential
30+
# commands rather than one - each needs its own cold import, and the script removes the stub and
31+
# restores the sources on every exit path, so the second run starts from the same state as the first.
32+
33+
{% for platform in test_platforms.default -%}
34+
{% for editor in validation_editors.default -%}
35+
api_updater_test_{{ platform.name }}_{{ editor }}:
36+
name : API Updater Test - NGO 2.x editor scripts upgrade [{{ platform.name }}, {{ editor }}]
37+
agent:
38+
type: {{ platform.type }}
39+
image: {{ platform.image }}
40+
flavor: {{ platform.flavor }}
41+
commands:
42+
- unity-downloader-cli --fast --wait -u {{ editor }} -c Editor # Installing basic editor for the import
43+
- python apiupdaterproject/run_upgrade_test.py --unity .Editor --clean
44+
- python apiupdaterproject/run_upgrade_test.py --unity .Editor --clean --collision-stub
45+
artifacts:
46+
logs:
47+
paths:
48+
- "apiupdaterproject/upgrade-test.log"
49+
dependencies:
50+
- .yamato/_run-all.yml#run_quick_checks # initial checks to perform fast validation of common errors
51+
{% endfor -%}
52+
{% endfor -%}

.yamato/generated-scripts/infrastructure-instability-detection-mac.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
# This is an auto-generated script. Do not edit manually!
33
set -x
44

5+
crashReportDir="${TMPDIR%/}/BugReporterCrashReportJson"
6+
if [ -d "$crashReportDir" ]; then
7+
for f in "$crashReportDir"/CrashReport_*.json; do
8+
[ -e "$f" ] || continue
9+
curl -X POST --connect-timeout 5 --max-time 10 -H "Content-Type: application/json" -T "$f" "https://internal-crash-collector.prd.cds.internal.unity3d.com/api/crash" || echo "Failed to upload $f. Ignoring..."
10+
done
11+
fi
512
set -e
613
if [ -f "infrastructure_instability_detection_standalone.zip" ]; then
714
echo "removed existing archive infrastructure_instability_detection_standalone.zip"

.yamato/generated-scripts/infrastructure-instability-detection-win.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@echo on
22
rem This is an auto-generated script. Do not edit manually!
33

4-
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...
4+
if exist "%TEMP%\BugReporterCrashReportJson" for /f "delims=" %%i in ('dir /b /a-d "%TEMP%\BugReporterCrashReportJson\CrashReport_*.json"') do curl -X POST --connect-timeout 5 --max-time 10 -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...
55
curl -fs "https://artifactory-slo.bf.unity3d.com/artifactory/automation-and-tooling/infrastructure-instability-detection/standalone/1.2.2/windows.zip" --output "infrastructure_instability_detection_standalone.zip" --retry 5
66
IF EXIST "infrastructure_instability_detection" rmdir /s /q infrastructure_instability_detection
77
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"

.yamato/project.metafile

Lines changed: 7 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -172,50 +172,20 @@ test_platforms:
172172
standalone: GameCoreScarlett
173173

174174
# EDITOR CONFIGURATIONS-------------------------------------------------------------------------------
175-
# Editors to be used for testing. NGOv2.X official support started from 6000.0 editor
175+
# Editors to be used for testing. NGOv3.X official support started from 6000.7 editor
176176
# TODO: When a new editor will be released it should be added to this list
177177

178178
validation_editors:
179179
default:
180-
- 6000.6
180+
- 6000.7
181181
all:
182-
- 6000.6.0b5
183-
- 6000.6
182+
- 6000.7.0a6
183+
- 6000.7
184184
- trunk
185-
- 5fe7931aab8c4fff9274e15ef0800125c68b8d6a
185+
- 1d47644d0e359a8139ae6f99217da3c4e47f4779
186186
minimal:
187-
- 6000.6.0b5
188-
pinnedTrunk: 5fe7931aab8c4fff9274e15ef0800125c68b8d6a
189-
190-
191-
# UNIFIED (NGO + N4E) CONFIGURATION---------------------------------------------------------------------
192-
# The unified test job validates NGO running against Netcode for Entities (N4E) through the unified API.
193-
# It is deliberately kept separate from every other job in this repo because it needs an editor that
194-
# bundles com.unity.netcode with the unified API, and that editor is NOT one of the validation_editors.
195-
#
196-
# WHY THIS IS PINNED TO 6000.7.0a5 (and not 6000.7.0a2):
197-
# UnifiedNetcodeTransport is compiled behind "#if UNIFIED_NETCODE && OUT_OF_BAND_RPC" and needs the
198-
# N4E out-of-band RPC API (IOutOfBandRpcCommand / OutgoingOutOfBandRpcDataStreamBuffer).
199-
# Both 6000.7.0a2 and 6000.7.0a5 bundle com.unity.netcode 6.7.0, but that API only landed in the a5
200-
# snapshot. On a2 the unified transport does not compile, so the unified tests cannot run there.
201-
# Bump this pin (and unified_netcode_version below) together whenever the required N4E API moves.
202-
#
203-
# An explicit alpha version is used instead of a trunk revision hash because published alphas are
204-
# already immutable, so there is nothing to pin against.
205-
unified_editors:
206-
default:
207-
- 6000.7.0a5
208-
209-
# Version of com.unity.netcode (N4E) bundled with unified_editors.default.
210-
# It resolves as a "builtin" package out of the editor install, so it must match the editor exactly.
211-
unified_netcode_version: 6.7.0
212-
213-
# The unified job runs in Editor context only, so a single fast platform is enough.
214-
unified_test_platforms:
215-
- name: ubuntu
216-
type: Unity::VM
217-
image: package-ci/ubuntu-22.04:v4.87.0
218-
flavor: b1.large
187+
- 6000.7.0a6
188+
pinnedTrunk: 1d47644d0e359a8139ae6f99217da3c4e47f4779
219189

220190

221191
# Scripting backends used by Standalone RunTimeTests---------------------------------------------------

.yamato/unified-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
#------------------------------------------------------------------------------------
1818

1919
{% for project in projects.default -%}
20-
{% for platform in unified_test_platforms -%}
21-
{% for editor in unified_editors.default -%}
20+
{% for platform in test_platforms.default -%}
21+
{% for editor in validation_editors.default -%}
2222
unified_test_{{ project.name }}_{{ platform.name }}_{{ editor }}:
2323
name : Unified Test - NGO {{ project.name }} [{{ platform.name }}, {{ editor }}]
2424
agent:

.yamato/wrench/api-validation-jobs.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,24 @@
88
all_api_validation_jobs:
99
name: All API Validation Jobs
1010
dependencies:
11-
- path: .yamato/wrench/api-validation-jobs.yml#api_validation_-_netcode_gameobjects_-_6000_0_-_win10
11+
- path: .yamato/wrench/api-validation-jobs.yml#api_validation_-_netcode_gameobjects_-_6000_7_-_win10
1212

13-
# upm-ci validation tests for API Validation - netcode.gameobjects - 6000.0 - win10 (6000.0 - Windows).
14-
api_validation_-_netcode_gameobjects_-_6000_0_-_win10:
15-
name: API Validation - netcode.gameobjects - 6000.0 - win10
13+
# upm-ci validation tests for API Validation - netcode.gameobjects - 6000.7 - win10 (6000.7 - Windows).
14+
api_validation_-_netcode_gameobjects_-_6000_7_-_win10:
15+
name: API Validation - netcode.gameobjects - 6000.7 - win10
1616
agent:
1717
image: package-ci/win10:v4
1818
type: Unity::VM
1919
flavor: b1.large
2020
commands:
21-
- command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-3_51b4e6affb4c10b90f92db9551b9dc80c5520794983600cff4fa925111db116d.zip -o wrench-localapv.zip
21+
- command: curl "%WRENCH_LOCALAPV_URL%" -o wrench-localapv.zip
2222
- command: 7z x -aoa wrench-localapv.zip
2323
- command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
2424
- command: python PythonScripts/print_machine_info.py
2525
- command: npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
2626
timeout: 20
2727
retries: 10
28-
- command: unity-downloader-cli -u 6000.0/staging -c editor --path .Editor --fast
28+
- command: unity-downloader-cli -u trunk -c editor --path .Editor --fast
2929
timeout: 10
3030
retries: 3
3131
- command: python PythonScripts/PackageJsonCondersor.py
@@ -60,8 +60,9 @@ api_validation_-_netcode_gameobjects_-_6000_0_-_win10:
6060
UNITY_LICENSING_SERVER_DELETE_NUL: 0
6161
UNITY_LICENSING_SERVER_DELETE_ULF: 0
6262
UNITY_LICENSING_SERVER_TOOLSET: pro
63-
UPMPVP_CONTEXT_WRENCH: 3.3.1.0
63+
UPMPVP_CONTEXT_WRENCH: 3.11.0.0
64+
WRENCH_LOCALAPV_URL: https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-15_84f461813aada1be64b3885e7b9464e7f92445674e81d708813ac0bdf2c90408.zip
6465
metadata:
6566
Job Maintainers: '#rm-packageworks'
66-
Wrench: 3.3.1.0
67+
Wrench: 3.11.0.0
6768

.yamato/wrench/package-pack-jobs.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ package_pack_-_netcode_gameobjects:
2727
- upm-ci~/packages/**/*
2828
variables:
2929
UPMCI_ACK_LARGE_PACKAGE: 1
30+
WRENCH_LOCALAPV_URL: https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-3-15_84f461813aada1be64b3885e7b9464e7f92445674e81d708813ac0bdf2c90408.zip
3031
metadata:
3132
Job Maintainers: '#rm-packageworks'
32-
Wrench: 3.3.1.0
33+
Wrench: 3.11.0.0
3334

0 commit comments

Comments
 (0)