From 981d01a51eca3d1b555d71da5c63c715509d904d Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Wed, 17 Sep 2025 12:11:43 -0400 Subject: [PATCH 1/5] [release/9.0] Bump OSX.12 helix queues to OSX.13 --- eng/pipelines/coreclr/templates/helix-queues-setup.yml | 8 ++++---- eng/pipelines/libraries/helix-queues-setup.yml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/pipelines/coreclr/templates/helix-queues-setup.yml b/eng/pipelines/coreclr/templates/helix-queues-setup.yml index 4d05678f0b7293..15a67fd0098508 100644 --- a/eng/pipelines/coreclr/templates/helix-queues-setup.yml +++ b/eng/pipelines/coreclr/templates/helix-queues-setup.yml @@ -105,16 +105,16 @@ jobs: # OSX arm64 - ${{ if eq(parameters.platform, 'osx_arm64') }}: - ${{ if eq(variables['System.TeamProject'], 'public') }}: - - OSX.1200.ARM64.Open + - OSX.13.ARM64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - - OSX.1200.ARM64 + - OSX.13.ARM64 # OSX x64 - ${{ if eq(parameters.platform, 'osx_x64') }}: - ${{ if eq(variables['System.TeamProject'], 'public') }}: - - OSX.1200.Amd64.Open + - OSX.13.Amd64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - - OSX.1200.Amd64 + - OSX.13.Amd64 # windows x64 - ${{ if eq(parameters.platform, 'windows_x64') }}: diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index cb8447877b09d4..c35ec8c5444c53 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -73,11 +73,11 @@ jobs: # OSX arm64 - ${{ if eq(parameters.platform, 'osx_arm64') }}: - - OSX.1200.ARM64.Open + - OSX.13.ARM64.Open # OSX x64 - ${{ if eq(parameters.platform, 'osx_x64') }}: - - OSX.1200.Amd64.Open + - OSX.13.Amd64.Open # Android - ${{ if in(parameters.platform, 'android_x86', 'android_x64', 'linux_bionic_x64') }}: From b74549003a9f8d8d13a78f31039f540e972958aa Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Wed, 17 Sep 2025 12:24:23 -0400 Subject: [PATCH 2/5] Do superpmi too --- src/coreclr/scripts/superpmi_collect_setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/coreclr/scripts/superpmi_collect_setup.py b/src/coreclr/scripts/superpmi_collect_setup.py index 40c3a768e68283..d1eb398ecace9f 100644 --- a/src/coreclr/scripts/superpmi_collect_setup.py +++ b/src/coreclr/scripts/superpmi_collect_setup.py @@ -465,7 +465,7 @@ def main(main_args): else: helix_queue = "Ubuntu.2204.Amd64" elif platform_name == "osx": - helix_queue = "OSX.1200.ARM64" if arch == "arm64" else "OSX.1200.Amd64" + helix_queue = "OSX.13.ARM64" if arch == "arm64" else "OSX.13.Amd64" # Copy the superpmi scripts From 5af23a63f3d180ea506d049c4fe62119a584b925 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Wed, 17 Sep 2025 13:31:44 -0400 Subject: [PATCH 3/5] Incorporate https://github.com/dotnet/runtime/pull/112647 --- src/libraries/tests.proj | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index eae58ac93c86b0..27f8369835761c 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -40,6 +40,11 @@ + + + + + From 12ebc643e92d99e13d874b6413901b16297cc249 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Mon, 22 Sep 2025 09:01:48 -0400 Subject: [PATCH 4/5] Backport https://github.com/dotnet/runtime/pull/119273 for msquic and more test excludes --- eng/Versions.props | 1 - src/libraries/System.Net.Quic/readme.md | 39 +++++++++---------- .../src/System.Net.Quic.csproj | 24 ++---------- src/libraries/tests.proj | 2 +- 4 files changed, 24 insertions(+), 42 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 52553c113f9034..d15b63f61b525c 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -225,7 +225,6 @@ 9.0.0-rtm.24466.4 2.4.8 - 9.0.0-alpha.1.24167.3 19.1.0-alpha.1.25414.3 19.1.0-alpha.1.25414.3 diff --git a/src/libraries/System.Net.Quic/readme.md b/src/libraries/System.Net.Quic/readme.md index e8ba3e7f32c6a4..b8b8589c8ac29e 100644 --- a/src/libraries/System.Net.Quic/readme.md +++ b/src/libraries/System.Net.Quic/readme.md @@ -77,15 +77,19 @@ Testing on Linux is done with the help of docker images whose definition can be To consume a release version of the package, the docker image definition will contain: ```docker -RUN curl -LO https://packages.microsoft.com/keys/microsoft.asc && \ - echo 2cfd20a306b2fa5e25522d78f2ef50a1f429d35fd30bd983e2ebffc2b80944fa microsoft.asc | sha256sum --check - && \ - apt-key add microsoft.asc && \ - rm microsoft.asc && \ - apt-add-repository https://packages.microsoft.com/debian/11/prod && \ - apt-get update && \ - apt-get install -y libmsquic +RUN apt-get update \ + && apt-get upgrade -y \ + && apt-get install -y \ + apt-transport-https \ + curl \ + software-properties-common \ + && curl -sL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb \ + && dpkg -i packages-microsoft-prod.deb \ + && rm packages-microsoft-prod.deb \ + && apt-get update \ + && apt-get install -y libmsquic ``` -Source: https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/efbcd1079edef4698ada1676a5e33c4c9672f85a/src/debian/11/helix/amd64/Dockerfile#L44-L52 +Source: https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/7f86167248bcbda898a6b7f17ed01dce3adff2dd/src/debian/12/helix/amd64/Dockerfile#L22-L31 To consume the current main branch of msquic, we pull code from [dotnet/msquic](https://github.com/dotnet/msquic) and build it locally in our docker image: ```docker @@ -94,13 +98,13 @@ RUN apt-get update -y && \ apt-get upgrade -y && \ apt-get install -y cmake clang ruby-dev gem lttng-tools libssl-dev && \ gem install fpm -RUN git clone --recursive https://github.com/dotnet/msquic -RUN cd msquic/src/msquic && \ +RUN git clone --depth 1 --single-branch --branch main --recursive https://github.com/microsoft/msquic +RUN cd msquic/ && \ mkdir build && \ - cmake -B build -DCMAKE_BUILD_TYPE=Release -DQUIC_ENABLE_LOGGING=false -DQUIC_USE_SYSTEM_LIBCRYPTO=true -DQUIC_BUILD_TOOLS=off -DQUIC_BUILD_TEST=off -DQUIC_BUILD_PERF=off && \ + cmake -B build -DCMAKE_BUILD_TYPE=Debug -DQUIC_ENABLE_LOGGING=false -DQUIC_USE_SYSTEM_LIBCRYPTO=true -DQUIC_BUILD_TOOLS=off -DQUIC_BUILD_TEST=off -DQUIC_BUILD_PERF=off -DQUIC_TLS_LIB=quictls -DQUIC_ENABLE_SANITIZERS=on && \ cd build && \ - cmake --build . --config Release -RUN cd msquic/src/msquic/build/bin/Release && \ + cmake --build . --config Debug +RUN cd msquic/build/bin/Debug && \ rm libmsquic.so && \ fpm -f -s dir -t deb -n libmsquic -v $( find -type f | cut -d "." -f 4- ) \ --license MIT --url https://github.com/microsoft/msquic --log error \ @@ -109,15 +113,10 @@ RUN cd msquic/src/msquic/build/bin/Release && \ ``` Source: -https://github.com/dotnet/runtime/blob/bd540938a4830ee91dec5ee2d39545b2f69a19d5/src/libraries/System.Net.Http/tests/StressTests/HttpStress/Dockerfile#L4-L21 +https://github.com/dotnet/runtime/blob/c6566fb0bcc539c523be9796ba5af681bf65a904/src/libraries/System.Net.Http/tests/StressTests/HttpStress/Dockerfile#L4-L21 Note that to propagate newest sources / package to the docker image used for the test runs, it must be rebuilt by [dotnet-buildtools-prereqs-docker-all](https://dev.azure.com/dnceng/internal/_build?definitionId=1183&_a=summary) pipeline with `noCache = true` variable. And since [#76630](https://github.com/dotnet/runtime/pull/76630), the newest image will get automatically picked up by the dotnet/runtime infra. ### Windows -Officially released `msquic.dll` is published to NuGet.org, see [Microsoft.Native.Quic.MsQuic.Schannel](https://www.nuget.org/packages/Microsoft.Native.Quic.MsQuic.Schannel). - -To consume MsQuic from the current main branch, we use [dotnet/msquic](https://github.com/dotnet/msquic) repository which will build and publish `msquic.dll` to the transport feed, e.g. [dotnet8-transport](https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet8-transport). And from there, it'll get flown into this repository via [Darc subscription](https://github.com/dotnet/arcade/blob/main/Documentation/Darc.md). See https://github.com/dotnet/runtime/blob/bd540938a4830ee91dec5ee2d39545b2f69a19d5/eng/Version.Details.xml#L7-L10 and maestro-bot PR: https://github.com/dotnet/runtime/pull/71900. - - -System.Net.Quic [project file](https://github.com/dotnet/runtime/blob/0304f1f5157a8280fa093bdfc7cfb8d9f62e016f/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj) allows switching between those two options with [`UseQuicTransportPackage` property](https://github.com/dotnet/runtime/blob/0304f1f5157a8280fa093bdfc7cfb8d9f62e016f/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj#L15). +Officially released `msquic.dll` is published to NuGet.org, see [Microsoft.Native.Quic.MsQuic.Schannel](https://www.nuget.org/packages/Microsoft.Native.Quic.MsQuic.Schannel). \ No newline at end of file diff --git a/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj b/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj index f09a5d14dd08b0..03e4e254c6dd5c 100644 --- a/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj +++ b/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj @@ -15,9 +15,6 @@ $(DefineConstants);TARGET_WINDOWS SR.SystemNetQuic_PlatformNotSupported ExcludeApiList.PNSE.txt - - false @@ -159,26 +156,13 @@ '$(DotNetBuildSourceOnly)' != 'true'"> - - - - - - + @@ -188,11 +172,11 @@ '$(Configuration)' == 'Debug' and '$(DotNetBuildSourceOnly)' != 'true'"> - - + diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 27f8369835761c..c52212e3a18e48 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -40,7 +40,7 @@ - + From fb192c3e96c65d2f3eb0c049fd7ea4f22ae06f9b Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Thu, 25 Sep 2025 08:53:11 -0400 Subject: [PATCH 5/5] Exclude msquic package in tests --- .../System.Net.Quic/src/System.Net.Quic.csproj | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj b/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj index 03e4e254c6dd5c..f11b6fc7b06de1 100644 --- a/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj +++ b/src/libraries/System.Net.Quic/src/System.Net.Quic.csproj @@ -165,19 +165,6 @@ - - - - - -