Skip to content

Commit 53904d7

Browse files
committed
Merge branch 'develop-2.0.0' of https://github.com/Unity-Technologies/com.unity.netcode.gameobjects into fix/2.x/mttb-1080/network-object-length-serialization
2 parents af3f769 + 48a045a commit 53904d7

File tree

136 files changed

+2435
-1250
lines changed

Some content is hidden

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

136 files changed

+2435
-1250
lines changed

.yamato/_run-all.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,12 @@ run_all_webgl_builds_6000:
138138
name: Run All WebGl Build [6000.0]
139139
dependencies:
140140
{% for project in projects.default -%}
141-
{% if platform.name != "mac" -%} # There is an error about "Light baking could not be started because no valid OpenCL device could be found". Tracked in MTT-11726
142141
{% for platform in test_platforms.desktop -%}
142+
{% if platform.name != "mac" -%} # There is an error about "Light baking could not be started because no valid OpenCL device could be found". Tracked in MTT-11726
143143
- .yamato/webgl-build.yml#webgl_build_{{ project.name }}_{{ platform.name }}_6000.0
144-
{% endfor -%}
145144
{% endif -%}
146145
{% endfor -%}
146+
{% endfor -%}
147147

148148

149149
# Runs all Desktop tests

.yamato/_triggers.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,22 @@
4242
# In order to have better coverage we run desktop standalone tests with different configurations which allows to mostly cover for different platforms, scripting backends and editor versions.
4343
# This job will FIRST run "run_quick_checks" jobs (defined in _run-all.yml) since it's the dependency of project pack jobs which is on the lowest dependency tier. This runs the fastest checks (like PVP or code standards) and ONLY IF those pass it will run the rest of the tests.
4444
# This optimization allows to speed up feedback look for any "obvious" errors and save resources.
45-
# Since standards job is a part of initial checks it's not present as direct dependency here
45+
# Since standards job is a part of initial checks it's not present as direct dependency here!!!!!!!!!!!!!!!!!!!!
4646
pull_request_trigger:
4747
name: Pull Request Trigger (develop, develop-2.0.0, & release branches)
4848
dependencies:
4949
# Run package EditMode and Playmode package tests on trunk
5050
- .yamato/_run-all.yml#run_all_package_tests_trunk
5151
# Run package EditMode and Playmode package tests on minimum supported editor (6000.0 in case of NGOv2.X)
5252
- .yamato/_run-all.yml#run_all_package_tests_6000
53-
# Run project EditMode and PLaymode project tests on trunk
53+
# Run project EditMode and Playmode project tests on trunk
5454
- .yamato/_run-all.yml#run_all_project_tests_trunk
55-
# Run project EditMode and PLaymode project tests on minimum supported editor (6000.0 in case of NGOv2.X)
55+
# Run project EditMode and Playmode project tests on minimum supported editor (6000.0 in case of NGOv2.X)
5656
- .yamato/_run-all.yml#run_all_project_tests_6000
57-
# Run standalone test with mixture of parameters to make sure there are no obvious issues with most common platform (for example --fail-on-assert option is not present with package/project tests). We run 2 different combinations with different platform/editor/scripting backend.
58-
- .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_mac_il2cpp_trunk
59-
- .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_mono_6000.0
57+
# Run standalone test. Run windows standalone tests as this is our most common platform, and run ubuntu rust tests.
58+
# Coverage on other standalone machines is present in Nightly job so it's enough to not run all of them for PRs
59+
- .yamato/desktop-standalone-tests.yml#desktop_standalone_test_testproject_win_il2cpp_6000.0
60+
- .yamato/cmb-service-standalone-tests.yml#cmb_service_standalone_test_testproject_ubuntu_il2cpp_6000.0
6061
triggers:
6162
cancel_old_ci: true
6263
pull_requests:
@@ -81,7 +82,6 @@ develop_nightly:
8182
dependencies:
8283
# Run project standards to verify package/default project
8384
- .yamato/project-standards.yml#standards_ubuntu_testproject_trunk
84-
- .yamato/project-standards.yml#standards_ubuntu_testproject_6000.0
8585
# Run APV jobs to make sure the change won't break any dependants
8686
- .yamato/wrench/preview-a-p-v.yml#all_preview_apv_jobs
8787
# Run package EditMode and Playmode tests on desktop platforms on trunk and 6000.0
@@ -134,4 +134,4 @@ develop_weekly_trunk:
134134
# Build player for webgl platform on trunk
135135
- .yamato/_run-all.yml#run_all_webgl_builds
136136
# Run code coverage test
137-
- .yamato/code-coverage.yml#code_coverage_ubuntu_trunk
137+
- .yamato/code-coverage.yml#code_coverage_ubuntu_trunk
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
{% metadata_file .yamato/project.metafile %} # All configuration that is used to create different configurations (used in for loops) is taken from this file.
2+
---
3+
4+
# DESCRIPTION--------------------------------------------------------------------------
5+
# This job is responsible test validation against the CMB Service.
6+
# This job runs on the default test_platform which is Ubuntu.
7+
# This job runs the standalone desktop tests and ignores all tests that are not related to the CMB Service.
8+
# Those tests cover both PlayMode and EditMode tests from package test assemblies.
9+
# This is only needed in NGOv2.X since NGOv1.X does not use the CMB Service.
10+
11+
# CONFIGURATION STRUCTURE--------------------------------------------------------------
12+
# Jobs are generated using nested loops (separate build phase and run phase). Worth noting that run phase uses the build as dependency:
13+
# 1. For all desktop platform (Windows, macOS, Ubuntu)
14+
# 2. For all supported Unity Editor versions (for NGOv2.X this means 6000.0+ editors)
15+
# 3. For the default project.
16+
# 4. For all scripting backends (mono, il2cpp)
17+
18+
# TECHNICAL CONSIDERATIONS---------------------------------------------------------------
19+
# For desktop devices a split is into two phases is not required but we use it for consistency with setup of others standalone platforms:
20+
# 1. Build Phase: Creates standalone players for desktop platforms
21+
# 2. Run Phase: Executes runtime tests on actual desktop devices
22+
# The Run phase uses build job as dependency
23+
24+
# Note: The build phase for this test is imported from the desktop standalone tests as the CMB Service test is a subset of the desktop standalone tests.
25+
26+
#-----------------------------------------------------------------------------------
27+
28+
29+
# CMB SERVICE RUN PHASE CONFIGURATION------------------------------------------------------------------------------------
30+
{% for project in projects.default -%}
31+
{% for platform in test_platforms.default -%}
32+
{% for editor in validation_editors.all -%}
33+
{% for backend in scripting_backends -%}
34+
cmb_service_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }}:
35+
name : CMB Service Test - NGO {{ project.name }} - [{{ platform.name }}, {{ editor }}, {{ backend }}]
36+
agent:
37+
type: {{ platform.type }}::GPU
38+
image: {{ platform.image }}
39+
flavor: {{ platform.flavor }}
40+
41+
variables:
42+
# The echo server is a "mock" server that is only used to test encoding/decoding of messages.
43+
# It is used by the DistributedAuthorityCodecTests. These are tests that are built and maintained by the CMB service team.
44+
ECHO_SERVER_PORT: "7788"
45+
# Set this to ensure the DistributedAuthorityCodecTests will fail if they cannot connect to the echo server.
46+
# The default is to ignore the codec tests if the echo server fails to connect
47+
ENSURE_CODEC_TESTS: "true"
48+
49+
# When USE_CMB_SERVICE is set to true, any C# tests configured to use the DA host will instead use the CMB service.
50+
USE_CMB_SERVICE: "true"
51+
# This is the port on which to run the full standalone CMB service.
52+
# The port needs to be different from the echo server port as two processes cannot bind to same port.
53+
CMB_SERVICE_PORT: "7799"
54+
55+
commands:
56+
# run_cmb_service.sh builds and starts a release version of the full CMB service (along with the limited echo server)
57+
- ./Tools/CI/run_cmb_service.sh -e $ECHO_SERVER_PORT -s $CMB_SERVICE_PORT
58+
59+
- unity-downloader-cli --fast --wait -u {{ editor }} -c Editor {% if backend == "il2cpp" %} -c il2cpp {% endif %} {% if platform.name == "mac" %} --arch arm64 {% endif %} # For macOS we use ARM64 models
60+
- UnifiedTestRunner --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --editor-location=.Editor --playergraphicsapi=Null --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800
61+
artifacts:
62+
logs:
63+
paths:
64+
- "test-results/**/*"
65+
dependencies:
66+
- .yamato/desktop-standalone-tests.yml#desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{ editor }}
67+
{% endfor -%}
68+
{% endfor -%}
69+
{% endfor -%}
70+
{% endfor -%}

.yamato/console-standalone-test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ console_standalone_build_{{ project.name }}_{{ platform.name }}_{{ editor }}:
5555
variables:
5656
# PS4 related
5757
SCE_ORBIS_SDK_DIR: 'C:\Users\bokken\SCE\ps4_sdk_12_00'
58-
# PS5 related
58+
# PS5 related --> THIS WAS DISABLED IN PROJECT.METAFILE. SEE MTT-12118
5959
SCE_PROSPERO_SDK_DIR: 'C:\Program Files (x86)\SCE\Prospero SDKs\9.000'
6060
SHADER_COMPILER_PATH: '${SCE_PROSPERO_SDK_DIR}\target\bins'
6161
SCE_ROOT_DIR: 'C:\Program Files (x86)\SCE'
@@ -94,7 +94,7 @@ console_standalone_test_{{ project.name }}_{{ platform.name }}_{{ editor }}:
9494
variables:
9595
# PS4 related
9696
SCE_ORBIS_SDK_DIR: 'C:\Users\bokken\SCE\ps4_sdk_12_00'
97-
# PS5 related
97+
# PS5 related --> THIS WAS DISABLED IN PROJECT.METAFILE. SEE MTT-12118
9898
SCE_PROSPERO_SDK_DIR: 'C:\Program Files (x86)\SCE\Prospero SDKs\9.000'
9999
SHADER_COMPILER_PATH: '${SCE_PROSPERO_SDK_DIR}\target\bins'
100100
SCE_ROOT_DIR: 'C:\Program Files (x86)\SCE'

.yamato/desktop-standalone-tests.yml

Lines changed: 9 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# DESCRIPTION--------------------------------------------------------------------------
55
# This job is responsible for Desktop platform test validation.
66
# Those tests cover both PlayMode and EditMode tests from package test assemblies.
7-
7+
88
# CONFIGURATION STRUCTURE--------------------------------------------------------------
99
# Jobs are generated using nested loops (separate build phase and run phase). Worth noting that run phase uses the build as dependency:
1010
# 1. For all desktop platform (Windows, macOS, Ubuntu)
@@ -17,17 +17,17 @@
1717
# 1. Build Phase: Creates standalone players for desktop platforms
1818
# 2. Run Phase: Executes runtime tests on actual desktop devices
1919
# The Run phase uses build job as dependency
20-
20+
2121
# Note: More of a Unity specific but test assemblies need to be included in the build phase command
2222
# Note: All builds can be made on x64 machines since those are compatible with ARM64 target devices
2323

2424
# QUALITY THOUGHTS--------------------------------------------------------------------
2525
# TODO: consider adding all projects that have tests
2626
# To see where this job is included (in trigger job definitions) look into _triggers.yml file
27-
27+
2828
#-----------------------------------------------------------------------------------
29-
30-
29+
30+
3131
# BUILD PHASE CONFIGURATION------------------------------------------------------------------------------------
3232
{% for project in projects.default -%}
3333
{% for platform in test_platforms.desktop -%}
@@ -58,10 +58,10 @@ desktop_standalone_build_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{
5858
{% endfor -%}
5959
{% endfor -%}
6060
{% endfor -%}
61-
62-
63-
64-
61+
62+
63+
64+
6565
# RUN PHASE CONFIGURATION------------------------------------------------------------------------------------
6666
{% for project in projects.default -%}
6767
{% for platform in test_platforms.desktop -%}
@@ -77,27 +77,7 @@ desktop_standalone_test_{{ project.name }}_{{ platform.name }}_{{ backend }}_{{
7777
model: {{ platform.model }} # This is set only in platforms where we want non-default model to use (more information in project.metafile). In this case it's specifically for macOS (if used for win/ubuntu then it will cause rust server to fail connecting)
7878
{% endif %}
7979

80-
# Set additional variables for running the echo server (This is needed ONLY for NGOv2.X because relates to Distributed Authority)
81-
{% if platform.name != "win" %} # Issues with win and mac are tracked in MTT-11606
82-
variables:
83-
ECHO_SERVER_PORT: "7788"
84-
# Set this to ensure the DA codec tests will fail if they cannot connect to the echo-server
85-
# The default is to ignore the codec tests if the echo-server fails to connect
86-
ENSURE_CODEC_TESTS: "true"
87-
{% endif %}
88-
8980
commands:
90-
# If ubuntu, run rust echo server (This is needed ONLY for NGOv2.X because relates to Distributed Authority)
91-
{% if platform.name != "win" %} # Issues with win and mac are tracked in MTT-11606
92-
- git clone https://github.com/Unity-Technologies/mps-common-multiplayer-backend.git
93-
# Install rust
94-
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
95-
# Build the echo server
96-
- cd ./mps-common-multiplayer-backend/runtime && $HOME/.cargo/bin/cargo build --example ngo_echo_server
97-
# Run the echo server in the background - this will reuse the artifacts from the build
98-
- cd ./mps-common-multiplayer-backend/runtime && $HOME/.cargo/bin/cargo run --example ngo_echo_server -- --port $ECHO_SERVER_PORT &
99-
{% endif %}
100-
10181
- unity-downloader-cli --fast --wait -u {{ editor }} -c Editor {% if backend == "il2cpp" %} -c il2cpp {% endif %} {% if platform.name == "mac" %} --arch arm64 {% endif %} # For macOS we use ARM64 models
10282
- UnifiedTestRunner --suite=playmode --player-load-path=build/players --artifacts-path=test-results --testproject={{ project.path }} --editor-location=.Editor --playergraphicsapi=Null --fail-on-assert --reruncount=1 --clean-library-on-rerun --timeout=1800
10383
artifacts:

.yamato/project.metafile

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ test_platforms:
9999
image: package-ci/win10-ps4:v4
100100
flavor: b1.large
101101
standalone: PS4
102-
- name: ps5
103-
type: Unity::VM
104-
image: package-ci/win10-ps5:v4
105-
flavor: b1.large
106-
standalone: PS5
102+
# - name: ps5 --> SEE MTT-12118
103+
# type: Unity::VM
104+
# image: package-ci/win10-ps5:v4
105+
# flavor: b1.large
106+
# standalone: PS5
107107
- name: switch
108108
type: Unity::VM
109109
image: package-ci/win10-switch:v4
@@ -125,11 +125,11 @@ test_platforms:
125125
image: package-ci/win10-ps4:v4
126126
flavor: b1.large
127127
standalone: PS4
128-
- name: ps5
129-
type: Unity::console::ps5
130-
image: package-ci/win10-ps5:v4
131-
flavor: b1.large
132-
standalone: PS5
128+
#- name: ps5 --> SEE MTT-12118
129+
# type: Unity::console::ps5
130+
# image: package-ci/win10-ps5:v4
131+
# flavor: b1.large
132+
# standalone: PS5
133133
- name: switch
134134
type: Unity::console::switch
135135
image: package-ci/win10-switch:v4

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ api_validation_-_netcode_gameobjects_-_6000_0_-_windows:
1313
type: Unity::VM
1414
flavor: b1.large
1515
commands:
16-
- command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-2-60_641f75ebc79901fc7eb7880e924d4adc41d99ad42d02aa320814a9e1e75463c4.zip -o wrench-localapv.zip
16+
- command: curl https://artifactory.prd.it.unity3d.com/artifactory/stevedore-unity-internal/wrench-localapv/1-2-61_6af0746012fdbe27c8d9841fcad8f97465d1943826d6884e6aabf0d289b83093.zip -o wrench-localapv.zip
1717
- command: 7z x -aoa wrench-localapv.zip
1818
- command: pip install semver requests --index-url https://artifactory-slo.bf.unity3d.com/artifactory/api/pypi/pypi/simple
1919
- command: python PythonScripts/print_machine_info.py
@@ -51,8 +51,8 @@ api_validation_-_netcode_gameobjects_-_6000_0_-_windows:
5151
dependencies:
5252
- path: .yamato/wrench/package-pack-jobs.yml#package_pack_-_netcode_gameobjects
5353
variables:
54-
UPMPVP_CONTEXT_WRENCH: 0.10.45.0
54+
UPMPVP_CONTEXT_WRENCH: 0.10.47.0
5555
metadata:
5656
Job Maintainers: '#rm-packageworks'
57-
Wrench: 0.10.45.0
57+
Wrench: 0.10.47.0
5858

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ package_pack_-_netcode_gameobjects:
2424
UPMCI_ACK_LARGE_PACKAGE: 1
2525
metadata:
2626
Job Maintainers: '#rm-packageworks'
27-
Wrench: 0.10.45.0
27+
Wrench: 0.10.47.0
2828

0 commit comments

Comments
 (0)