You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Split the WebGL CI into a build phase and a run phase. webgl-build.yml
now exposes the built player as a dedicated 'players' artifact, and a new
webgl-test.yml run job consumes it and executes the PlayMode tests inside
Firefox on a GPU-backed Ubuntu agent (Unity::VM::GPU, rtx2080). The Firefox
browser flags are passed explicitly so UTR does not attempt to download the
browser from Stevedore.
The run job is wired into the Nightly and Weekly (QV) triggers only, not
into PR triggers, since WebGL failures are infrequent and the build is slow.
Runtime RuntimePlatform.WebGLPlayer exclusions are intentionally deferred to
be added reactively after the first real CI run.
# Run API validation to early-detect all new APIs that would force us to release new minor version of the package. Note that for this to work the package version in package.json must correspond to "actual package state" which means that it should be higher than last released version
161
164
- .yamato/vetting-test.yml#vetting_test
162
-
# Run code coverage test (nightly uses actual trunk)
165
+
# Run code coverage test (nightly uses actual trunk)
# This job is responsible for validating a successful building of a player on WebGl standalone platform.
6
-
# This job WILL NOT execute any tests, we only validate the building process.
7
-
# This is because WebGL runs in browser and for tests to be executed we would need to consider having a web server, browser automation and overall complex test setup which currently we don't have.
5
+
# This job is responsible for WebGL platform test validation.
6
+
# It is split into a build phase (produces the WebGL player) and a run phase (executes the produced player inside a browser to run PlayMode tests).
# WebGL requires IL2CPP scripting backend (Mono is not supported)
17
-
# We are not using ARM64 architectures since we only perform a build action. x64 architectures are preferred for build phase (in order to optimize available resource usage)
18
-
# We only perform build validation (no runtime testing)
15
+
# WebGL requires IL2CPP scripting backend (Mono is not supported).
16
+
# Build phase:
17
+
# We are not using ARM64 architectures since we only perform a build action. x64 architectures are preferred for build phase (in order to optimize available resource usage).
18
+
# Run phase:
19
+
# Running the player means launching a real browser, which needs a GPU and a display, therefore we run on a GPU-backed Ubuntu agent (Unity::VM::GPU, rtx2080). See webgl_test in project.metafile.
20
+
# We do NOT pass -nographics here (unlike the build job) because the browser needs graphics to run.
21
+
# Firefox is preinstalled on the package-ci Ubuntu image (/usr/bin/firefox).
22
+
# Passing --target-browser and --target-browser-executable explicitly is mandatory: without them UTR tries to download Firefox from Stevedore via perl, which fails on the CI agent.
23
+
# --player-connection-ip=${BOKKEN_HOST_IP} is required so the browser-hosted player can connect back to the test runner.
# In the future we could try to implement an infrastructure to run test in webgl context but this could be quite complicated and would need to be evaluated if it's worth it
22
-
# To see where this job is included (in trigger job definitions) look into _triggers.yml file
23
-
# WebGL jobs were timing up more often in develop-2.0.0 branch (especially on trunk) so we increased the timeout from 1800 to 3600. We should investigate why it times more often in develop-2.0.0/ubuntu/trunk
26
+
# WebGL failures are infrequent and the build is slow, so this job is placed on Nightly/Weekly (QV) only, not on PR triggers.
27
+
# Runtime platform exclusions (RuntimePlatform.WebGLPlayer) are intentionally not pre-added; they are introduced reactively after the first real CI run.
28
+
# To see where this job is included (in trigger job definitions) look into _triggers.yml file.
29
+
# WebGL jobs were timing up more often in develop-2.0.0 branch (especially on trunk) so we increased the timeout from 1800 to 3600. We should investigate why it times more often in develop-2.0.0/ubuntu/trunk.
0 commit comments