test: the updater digest check takes no later-SDK fallback on GitHub's runners #2543
No reviewers
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot!2543
Loading…
Reference in a new issue
No description provided.
Delete branch "test/updater-net8-ci"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What this is for: on GitHub's runners the updater digest check must keep building for the builder's
net8.0. Since #2294 it falls back to the SDK's own framework when the .NET 8 reference pack is missing. That is right on a PC with only a later SDK and wrong in CI, where it would hide a runner image without the pack, or anUpdater.csthat no longer builds for .NET 8. This is the follow-up @Joey-Magnus suggested in his review of #2294. What is measured: on Linux with only the .NET 10 SDK (10.0.113): run as a PC the check passes through the fallback (20 cases); withGITHUB_ACTIONS=trueit fails with dotnet's NU1100 output; main's file passes in that same situation. Not measured: a runner that really lacks the pack. This pull request's own jobs have .NET 8 installed, so they only show that the normal path is unchanged.Problem
From the review of #2294: "on CI the fallback would hide exactly the regression the builder cares about. If a runner image ever drops the .NET 8 pack, or
Updater.csstarts using an API newer than .NET 8, the check would quietly build for net10.0 and pass, while the real builder no longer compiles. CI only prints one line in that case."What changed
tests/test_updater_asset_digest.py: when thenet8.0restore fails with NU1100 andGITHUB_ACTIONSistrue, the check exits with a message and dotnet's output instead of switching the framework.GITHUB_ACTIONS == "true"is the testtests/run_all.pyalready uses to tell a runner from a PC. Everywhere else the fallback is unchanged.How to try it
How it was tested
Arch Linux, .NET SDK 10.0.113 only (no .NET 8 reference pack), head
2294f29don mainfa2b25b2.GITHUB_ACTIONSunsetUpdater digest cases: 20 passed, 0 failed., exit 0GITHUB_ACTIONS=trueon a GitHub runner the updater must build for the builder's net8.0, and its reference pack is missing: no fallback to a later framework here, then dotnet's NU1100 lines, exit 1GITHUB_ACTIONS=trueNot tested
--stricton a PC is unchanged: the fallback still applies there. The review named--strictas an alternative;run_all.pydoes not pass it on to a check, andGITHUB_ACTIONSis what it already reads.Risks
GITHUB_ACTIONS=truewithout .NET 8 now fails this check instead of passing for a later framework. That is the intent.Overlaps
git merge-tree).Assisted-by: Claude Fable 5.2
Co-Authored-By: Claude Fable 5.2 [email protected]
github-sync referenced this pull request2026-11-12 06:22:54 +00:00