Repository navigation
fix: Yamato jobs not testing built player - #4194
Conversation
|
Check the configuration's TOML syntax, permitted settings, and size limit. See the error below. Error message: Configuration content:# This is the configuration for the u-pr bot
# https://github.cds.internal.unity3d.com/unity/u-pr
# For configuration of this file:
# https://developer.portal.internal.unity.com/catalog/default/component/u-pr/docs/configuration/automatic_runs/
[github_app]
handle_pr_actions = ['opened', 'ready_for_review'] # PR events that auto-run pr_commands
pr_commands = ["/harness-review"] # what runs on those events
reviewer_commands = ["/harness-review"] # what runs when @u-pr is added as reviewer
|
| # run_cmb_service.sh builds and starts a release version of the full CMB service (along with the limited echo server) | ||
| - ./Tools/CI/service.cmb/run_cmb_service.sh -e $ECHO_SERVER_PORT -s $CMB_SERVICE_PORT -l artifacts | ||
|
|
||
| - unity-downloader-cli --fast --wait -u {{ editor }} -c Editor {% if backend == "il2cpp" %} -c il2cpp {% endif %}{% if backend == "coreclr" %}{% unless coreclr_runtime_editors contains editor %} -c {{ platform.coreclr_component }} {% endunless %}{% endif %} --arch {{ platform.architecture }} |
There was a problem hiding this comment.
don't we need to download the editor?
There was a problem hiding this comment.
Or is it because in order to execute tests on a build we don't need to download the editor
There was a problem hiding this comment.
Nope! Because we've already built the players with the editor in the separate build step, and apparently UnityTestRunner is pre-installed the bokken images we use.
The job runs faster (no need to grab unity) and really relieves the memory pressure on the machine (no unity taking up resources). And! If we ever have this problem again, without unity there UTR can't silently fall-back to using the editor to run the tests
| model: {{ platform.model }} # This is set only in platforms where we want non-default model to use (more information in project.metafile) | ||
| {% endif %} | ||
| commands: | ||
| # Installing editor. We still need the editor to run tests on standalone build and for that the Editor is required |
There was a problem hiding this comment.
Yeah, I think I thought that UTR came from the editor, but apparently it's already on the image.
NoelStephensUnity
left a comment
There was a problem hiding this comment.
Very nice!
Good catches!
![]()
Codecov ReportAll modified and coverable lines are covered by tests ✅ @@ Coverage Diff @@
## develop-3.x.x #4194 +/- ##
==============================================
Coverage 76.11% 76.11%
==============================================
Files 159 159
Lines 27333 27333
==============================================
Hits 20805 20805
Misses 6528 6528
Flags with carried forward coverage won't be shown. Click here to find out more.
|
* fix: Yamato jobs not testing built player (Backport of: #4194) * fix: Yamato jobs not testing built player * Next round of fixes * Set addressables to build on players * dotnet-fix * Fix console tests * Try again to remove graphics from desktop players * Fix DA NetworkObjectDeserializationFailure test * Remove the temporarily added N4E settings * Fix the test failures * Remove fix that was more a symptom than a cause (keep it simple) * Match the deregistration to the registration logic * Don't finish cleaning up if any scene is still loading * Fix the U-PR config * Fix IL2CPP player tests * Remove CoreCLR stuff * feat: Improve error message on connection failure [2.X] (#4208) feat: Improve error message on connection failure * Disabled automatic release preparation Disabled recurring trigger as in our current situation it would be more messy to handle automated release step. I will leave it manual for now * chore: Ensure the rerun strategy is baked into the built players (#4218) * fix: generate canonical bools in NetworkVariable serialization tests (#4198) * test: generate canonical bools in NetworkVariable serialization tests RandGenBytes<bool> filled each bool with a random byte, so most values were neither 0 nor 1. On mac arm64 IL2CPP the List<bool> and NativeHashMap<K, bool> cases then failed with both sides printing identical all-True contents. RandGenBool returns only false or true. * test: use RandGenBool for the NativeArray<bool> case * test: make changed2 always differ from original2 in collection generators With RandGenBool an overwrite keeps the existing value half the time, so when no elements were added or removed, changed2 could equal original2 and the "do not match" assertions failed. Each overwrite now redraws until it differs from the original element. --------- Co-authored-by: Emma <[email protected]> (cherry picked from commit b5c186c) --------- Co-authored-by: Noel Stephens <[email protected]> Co-authored-by: Simon Lemay <[email protected]> Co-authored-by: Michał Chrobot <[email protected]>
Purpose of this PR
I noticed in #4188 that the CMB tests have become very flaky. This was blocking CoreCLR changes from landing as fast as they should be able to.
In investigating this, I discovered that the desktop and console standalone tests weren't running the tests on the pre-built players, they were accidentally falling back to using the editor instead. This meant we weren't running our tests on a number of platforms.
This PR:
[Repeat]attribute was causing the tests to be flakeyNetcodeIntegrationTestto ensure the test scene is always set back to the active scene, and that the test framework will wait until all the scenes loaded by the test are unloaded before finishing teardown.ObjectNameIdentifierto use the DA compatibleOnOwnershipChanged(NetworkObjectSynchronizationTests(DAHost).NetworkObjectDeserializationFailurewas failing because of it)Jira ticket
UUM-155844
Changelog
API was removed and what they should use instead.
Documentation
Testing & QA (How your changes can be verified during release Playtest)
Functional Testing
Manual testing :
Manual testing doneAutomated tests:
Covered by existing automated testsCovered by new automated testsDoes the change require QA team to:
Review automated tests?Execute manual tests?Provide feedback about the PR?If any boxes above are checked the QA team will be automatically added as a PR reviewer.
Up-port
n/a
Backports
Backported in #4196