From b4ddf49cc7fbd93d16b1c507203b60e859692717 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 23 Sep 2026 13:14:44 +0200 Subject: [PATCH] Run .NET globalization-invariant in the QUIC dev image The interop lane's dotnet build FailFasts on startup in this minimal Debian image: no ICU package, and .NET's globalization stack aborts without one rather than degrading. The interop peer already parses every argument through CultureInfo.InvariantCulture, so invariant mode costs it nothing; it is also Microsoft's own documented fix for a minimal container, cheaper than pinning and installing an ICU package by name. Co-Authored-By: Claude Sonnet 5 --- scripts/quic-native-linux-dev.Dockerfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/quic-native-linux-dev.Dockerfile b/scripts/quic-native-linux-dev.Dockerfile index a3376c12..ec7e159e 100644 --- a/scripts/quic-native-linux-dev.Dockerfile +++ b/scripts/quic-native-linux-dev.Dockerfile @@ -49,5 +49,11 @@ RUN curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh \ && ln -s /usr/share/dotnet/dotnet /usr/local/bin/dotnet ENV DOTNET_ROOT=/usr/share/dotnet ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 +# This minimal Debian image carries no ICU package, and .NET's runtime +# FailFasts on startup without one. The interop peer already parses every +# argument through CultureInfo.InvariantCulture, so globalization-invariant +# mode costs it nothing; installing an ICU package would be the alternative, +# but Microsoft's own guidance for a minimal container is this flag. +ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 WORKDIR /src