Skip to content

chore: Ensure the rerun strategy is baked into the built players - #4218

Merged
EmandM merged 2 commits into
develop-3.x.xfrom
chore/ensure-player-builds-retry-failed-tests
Oct 26, 2026
Merged

EmandM merged 2 commits into
develop-3.x.xfrom
chore/ensure-player-builds-retry-failed-tests

Conversation

@EmandM

@EmandM EmandM commented Oct 26, 2026

Copy link
Copy Markdown
Member

Purpose of this PR

In #4194 we swapped to using the built players to run our standalone tests. Unfortunately, this has meant our tests no longer rerun on failure to catch instabilities rather than true failures (see this yamato job. The test fails once. Previously the test would have been immediately rerun to see if it succeeds a second time, in this job it is not).

This PR adds the rerun commands to the built players so that UTR can execute the commands there.

Jira ticket

n/a

Documentation

  • No documentation changes or additions were necessary.

Testing & QA (How your changes can be verified during release Playtest)

Functional Testing

Manual testing :

  • Manual testing done

Automated tests:

  • Covered by existing automated tests
  • Covered by new automated tests

Does 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

I'll smush this into the existing backport for the yamato jobs

@EmandM
EmandM requested review from a team and NoelStephensUnity as code owners October 26, 2026 19:22

@u-pr u-pr Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Harness Review

Ship it

The change applies the shared per-test retry settings to all four player-build commands. I examined the complete diff, paired player-run jobs, shared configuration, and recent pipeline history; no actionable defect was substantiated.

Reviewed commit d75d84c

🤖 Helpful? 👍/👎

@NoelStephensUnity NoelStephensUnity left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice to have it retry in case of instabilities.

👍

@codecov-github-com

codecov-github-com Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

@@                Coverage Diff                @@
##           develop-3.x.x    #4218      +/-   ##
=================================================
+ Coverage          76.03%   76.05%   +0.02%     
=================================================
  Files                159      159              
  Lines              27344    27341       -3     
=================================================
+ Hits               20791    20795       +4     
+ Misses              6553     6546       -7     
Flag Coverage Δ
NGOv2_project_testproject_ubuntu 75.10% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

see 1 file with indirect coverage changes

Components Coverage Δ
com.unity.netcode.gameobjects 76.05% <88.46%> (+0.02%) ⬆️

ℹ️ Need help interpreting these results?

@EmandM
EmandM enabled auto-merge (squash) October 26, 2026 21:56
@EmandM
EmandM merged commit 434d0ad into develop-3.x.x Oct 26, 2026
10 checks passed
@EmandM
EmandM deleted the chore/ensure-player-builds-retry-failed-tests branch October 26, 2026 22:11
EmandM added a commit that referenced this pull request Oct 30, 2026
* 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 <emma.mcmillan@unity3d.com>
(cherry picked from commit b5c186c)

---------

Co-authored-by: Noel Stephens <noel.stephens@unity3d.com>
Co-authored-by: Simon Lemay <simon.lemay@unity3d.com>
Co-authored-by: Michał Chrobot <michal.chrobot@unity3d.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants