Skip to content

Commit 8ee6b99

Browse files
docs: describe the collision stub as what N4E actually shipped
The job description still said the stub occupies both NetworkTime and NetworkTimeSystem, which is what the stub looked like before 6013f45 corrected it. N4E 6.7.0 sub-namespaced NetworkTime into Unity.Netcode.NetcodeTime and left NetworkTimeSystem in the shared root, so only one name is occupied and only that one expectation inverts.
1 parent 4f64cd2 commit 8ee6b99

1 file changed

Lines changed: 52 additions & 51 deletions

File tree

‎.yamato/api-updater-test.yml‎

Lines changed: 52 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +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 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.NetworkTime and NetworkTimeSystem,
15-
# standing in for another package taking those names, and inverts the expectation for exactly those
16-
# two: the updater is driven by resolution failure, so a name that still resolves cannot be
17-
# migrated. NetworkTickSystem is absent from the stub and must still migrate, so a pass proves both
18-
# halves. This is the regression test for why the timing types were moved at all.
19-
20-
21-
# TECHNICAL CONSIDERATIONS---------------------------------------------------------------
22-
# apiupdaterproject/Packages/manifest.json references the package by relative path
23-
# (file:../../com.unity.netcode.gameobjects), so the job tests the package as it sits in the repo
24-
# and needs no package-pack dependency.
25-
# The script restores the 2.x sources when it finishes, so the checkout is left unmodified and the
26-
# job is safe to re-run on the same agent.
27-
# --clean purges Library first: the assertion is meaningless against a warm Library that already
28-
# holds rewritten sources from a previous run. That is also why the two runs are sequential
29-
# commands rather than one - each needs its own cold import, and the script removes the stub and
30-
# restores the sources on every exit path, so the second run starts from the same state as the first.
31-
32-
{% for platform in test_platforms.default -%}
33-
{% for editor in validation_editors.default -%}
34-
api_updater_test_{{ platform.name }}_{{ editor }}:
35-
name : API Updater Test - NGO 2.x editor scripts upgrade [{{ platform.name }}, {{ editor }}]
36-
agent:
37-
type: {{ platform.type }}
38-
image: {{ platform.image }}
39-
flavor: {{ platform.flavor }}
40-
commands:
41-
- unity-downloader-cli --fast --wait -u {{ editor }} -c Editor # Installing basic editor for the import
42-
- python apiupdaterproject/run_upgrade_test.py --unity .Editor --clean
43-
- python apiupdaterproject/run_upgrade_test.py --unity .Editor --clean --collision-stub
44-
artifacts:
45-
logs:
46-
paths:
47-
- "apiupdaterproject/upgrade-test.log"
48-
dependencies:
49-
- .yamato/_run-all.yml#run_quick_checks # initial checks to perform fast validation of common errors
50-
{% endfor -%}
51-
{% 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, which is what
15+
# Netcode for Entities does as of 6.7.0 - it sub-namespaced NetworkTime out of the shared root but
16+
# left NetworkTimeSystem in it - and inverts the expectation for that one name: the updater is
17+
# driven by resolution failure, so a name that still resolves cannot be migrated. NetworkTime and
18+
# NetworkTickSystem are absent from the stub and must still migrate, so 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 -%}

0 commit comments

Comments
 (0)