ci: pin invariant globalization on the Windows gate
Some checks failed
CI / linux-portable (push) Successful in 3m16s
CI / windows-gate (push) Failing after 5m5s
CI / release (push) Has been skipped

The runner reports en-US interactively, but its scheduled task inherits
en-SE (English/Sweden), whose decimal separator is a comma. That broke 40
tests across App/Core/Runtime/UI.Abstractions on number formatting alone
(expected "update:0.25", actual "update:0,25"). Set-Culture does not reach
a task running without a loaded user profile, and a build gate should not
depend on a machine's regional settings regardless.

Note for follow-up: this pins CI only. The underlying culture sensitivity is
real — a Swedish-locale player would see comma-formatted numbers in these
diagnostic strings.
This commit is contained in:
Erik 2026-08-19 11:11:14 +02:00
parent 3a02fc8369
commit c851ac79e5

View file

@ -41,6 +41,15 @@ jobs:
- name: Test (lane-filtered, streaming)
shell: pwsh
env:
# The gate must not depend on the runner's regional settings. This
# box reports en-US interactively but the scheduled task inherits
# en-SE (English/Sweden, COMMA decimal separator), which broke 40
# tests across four projects on formatted numbers alone —
# e.g. expected "update:0.25", got "update:0,25". Set-Culture does
# not reach a task that runs without loading the user profile, so
# pin globalization for the test processes instead.
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: '1'
run: |
$ErrorActionPreference = 'Stop'
$filter = 'Lane!=InstalledDat&Lane!=PreparedPackage&Lane!=Live&Lane!=Manual&Lane!=Windows&Lane!=Linux&Lane!=SystemFont&Purpose!=Diagnostic&Status!=KnownFailure'