Skip to content

[manual] Merge release/8.0-staging into release/8.0 - #124304

Closed
jozkee wants to merge 21 commits into
release/8.0from
release/8.0-staging
Closed

[manual] Merge release/8.0-staging into release/8.0#124304
jozkee wants to merge 21 commits into
release/8.0from
release/8.0-staging

Conversation

@jozkee

Copy link
Copy Markdown
Member

No description provided.

MihaZupanand others added 20 commits December 9, 2025 21:22
This pull request updates the following dependencies
[marker]: <> (Begin:e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
## From https://github.com/dotnet/icu
- **Subscription**:
[e82a8e07-8d2b-4a71-e90f-08dbcfd41ade](https://maestro.dot.net/subscriptions?search=e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
- **Build**:
[20251212.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2859935)
([294543](https://maestro.dot.net/channel/3073/github:dotnet:icu/build/294543))
- **Date Produced**: December 12, 2025 8:16:11 PM UTC
- **Commit**:
[4bfba9f36e8667005d7a40ade385daabce5fc7d5](dotnet/icu@4bfba9f)
- **Branch**:
[dotnet/release/8.0](https://github.com/dotnet/icu/tree/dotnet/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-rtm.25565.1 to 8.0.0-rtm.25612.3][1]
- Microsoft.NETCore.Runtime.ICU.Transport
[1]: dotnet/icu@b565264...4bfba9f
[DependencyUpdate]: <> (End)
[marker]: <> (End:e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…#122731)
This pull request updates the following dependencies
[marker]: <> (Begin:c0fef358-3848-4a30-a438-08dbcfd61a5a)
## From https://github.com/dotnet/hotreload-utils
- **Subscription**:
[c0fef358-3848-4a30-a438-08dbcfd61a5a](https://maestro.dot.net/subscriptions?search=c0fef358-3848-4a30-a438-08dbcfd61a5a)
- **Build**:
[20251225.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2867020)
([295569](https://maestro.dot.net/channel/3073/github:dotnet:hotreload-utils/build/295569))
- **Date Produced**: December 25, 2025 11:22:01 AM UTC
- **Commit**:
[e7e99065bbd4a7b911d5cfa56b23d873d9675355](dotnet/hotreload-utils@e7e9906)
- **Branch**:
[release/8.0](https://github.com/dotnet/hotreload-utils/tree/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-alpha.0.25574.3 to 8.0.0-alpha.0.25625.3][1]
- Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
[1]:
dotnet/hotreload-utils@cf2f6ad...e7e9906
[DependencyUpdate]: <> (End)
[marker]: <> (End:c0fef358-3848-4a30-a438-08dbcfd61a5a)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…122735)
This pull request updates the following dependencies
[marker]: <> (Begin:855db5a2-4d17-4346-a439-08dbcfd61a5a)
## From https://github.com/dotnet/runtime-assets
- **Subscription**:
[855db5a2-4d17-4346-a439-08dbcfd61a5a](https://maestro.dot.net/subscriptions?search=855db5a2-4d17-4346-a439-08dbcfd61a5a)
- **Build**:
[20251225.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2867033)
([295573](https://maestro.dot.net/channel/3073/github:dotnet:runtime-assets/build/295573))
- **Date Produced**: December 25, 2025 11:52:55 AM UTC
- **Commit**:
[98185bc6d28f41decb681555c343a62b3c6c165e](dotnet/runtime-assets@98185bc)
- **Branch**:
[release/8.0](https://github.com/dotnet/runtime-assets/tree/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-beta.25565.1 to 8.0.0-beta.25625.3][1]
- Microsoft.DotNet.CilStrip.Sources
- System.ComponentModel.TypeConverter.TestData
- System.Data.Common.TestData
- System.Drawing.Common.TestData
- System.Formats.Tar.TestData
- System.IO.Compression.TestData
- System.IO.Packaging.TestData
- System.Net.TestData
- System.Private.Runtime.UnicodeData
- System.Runtime.Numerics.TestData
- System.Runtime.TimeZoneData
- System.Security.Cryptography.X509Certificates.TestData
- System.Text.RegularExpressions.TestData
- System.Windows.Extensions.TestData
[1]:
dotnet/runtime-assets@40ac8f2...98185bc
[DependencyUpdate]: <> (End)
[marker]: <> (End:855db5a2-4d17-4346-a439-08dbcfd61a5a)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
This pull request updates the following dependencies
[marker]: <> (Begin:e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
## From https://github.com/dotnet/icu
- **Subscription**:
[e82a8e07-8d2b-4a71-e90f-08dbcfd41ade](https://maestro.dot.net/subscriptions?search=e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
- **Build**:
[20251225.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=2867037)
([295579](https://maestro.dot.net/channel/3073/github:dotnet:icu/build/295579))
- **Date Produced**: December 25, 2025 12:12:34 PM UTC
- **Commit**:
[7e1e01ce174204fc50e1b221c59cbd2c7a752441](dotnet/icu@7e1e01c)
- **Branch**:
[dotnet/release/8.0](https://github.com/dotnet/icu/tree/dotnet/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-rtm.25612.3 to 8.0.0-rtm.25625.2][1]
- Microsoft.NETCore.Runtime.ICU.Transport
[1]: dotnet/icu@4bfba9f...7e1e01c
[DependencyUpdate]: <> (End)
[marker]: <> (End:e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…#122654)
Fixes: #122653
`libopenssl3` is supported and installed by default on all of the
supported distro releases listed at
https://learn.microsoft.com/en-us/dotnet/core/install/linux-sles?tabs=dotnet8
and
https://learn.microsoft.com/en-us/dotnet/core/install/linux-opensuse?tabs=dotnet8
`libopenssl3` is also supported and installed by default on openSUSE
Tumbleweed release. This release does not have any other, older, version
of this library.
…ine YAML files (#122417)
Adds `fetchTags: false` to Azure Pipelines checkout steps to skip
fetching git tags during repository checkout, reducing network overhead
and improving checkout performance.
## Changes
- Updated 8 YAML files containing 10 total checkout steps in
`eng/pipelines/`:
- Pipeline templates: `base-job.yml`, `xplat-job.yml`, `build-job.yml`
- Stress test pipelines: `http.yml`, `ssl.yml` (2 occurrences each)
- Path evaluation and build jobs: `evaluate-paths-job.yml`,
`global-build-job.yml`
- Official build jobs: `prepare-signed-artifacts.yml`
Note: Changes to `eng/common/` templates were excluded as those are
shared infrastructure files managed separately.
## Example
```yaml
- checkout: self
clean: true
fetchDepth: $(checkoutFetchDepth)
fetchTags: false # Added to skip tag fetching
```
<!-- START COPILOT CODING AGENT SUFFIX -->
<!-- START COPILOT ORIGINAL PROMPT -->
<details>
<summary>Original prompt</summary>
> Update the checkout step in the runtime CI yml to specify fetchTags:
false.
</details>
<!-- START COPILOT CODING AGENT TIPS -->
---
✨ Let Copilot coding agent [set things up for
you](https://github.com/dotnet/runtime/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: elinor-fung <47805090+elinor-fung@users.noreply.github.com>
Co-authored-by: Elinor Fung <elfung@microsoft.com>
Backport of #121351 to
release/8.0-staging
## Customer Impact
Fixes a customer-reported crash in ILLink analyzer in a net8.0 project
that uses C# 14 extension members.
Customer issue: #120728
```
warning AD0001: Analyzer 'ILLink.RoslynAnalyzer.DynamicallyAccessedMembersAnalyzer' threw an exception of type 'System.InvalidCastException' with message 'Unable to cast object of type 'Microsoft.CodeAnalysis.CSharp.Symbols.PublicModel.NonErrorNamedTypeSymbol' to type 'Microsoft.CodeAnalysis.IMethodSymbol'.'.
```
## Regression
No - crash only happens for language features introduced after .NET 8
was released.
## Testing
Tested locally. We can't add automated testing because this repo doesn't
reference a new enough version of Roslyn to build tests with extension
members.
## Risk
Low, analyzer-only fix, with limited scope.
<hr />
Fixes#120728
main PR #121351
# Description
Backports fix for analyzer crash when encountering C# 14 extension
members. The crash occurred because the analyzer assumed
`parameter.ContainingSymbol` is always `IMethodSymbol`, which is false
for extension member parameters where the container is an extension
type.
**Core analyzer changes:**
- Remove `MethodParameterValue` constructors that cast
`parameter.ContainingSymbol` to `IMethodSymbol`
- Require explicit `IMethodSymbol` parameter in `ParameterProxy`
constructor
- Skip analysis for extension members in `GetParameterTargetValue`
(return `TopValue` when `ContainingSymbol` is not `IMethodSymbol`)
- Update `VisitInstanceReference` to use new `ParameterProxy`
constructor (without unrelated static method checks)
**Test infrastructure:**
- Add `Microsoft.Net.Compilers.Toolset` package reference for C# preview
features
- Add workaround in `ResultChecker.cs` to skip validation of
compiler-generated extension member types (`<>E__` prefix)
- Add `ExtensionsDataFlow.cs` test (enabled)
- Add `ExtensionMembersDataFlow.cs` test (disabled until C# 14
available)
**Note:** NativeAOT test changes from original PR excluded as
`ILCompiler.Trimming.Tests` doesn't exist in 8.0.
# Customer Impact
Without this fix, the Roslyn analyzer crashes when analyzing code that
uses or references C# 14 extension members, breaking the build or IDE
experience.
# Regression
No. This is a new feature compatibility fix for C# 14, not a regression
from 8.0 functionality.
# Testing
- All 60 DataFlow analyzer tests pass
- New `ExtensionsDataFlow` test validates fix for regular extension
methods
- ILLink.RoslynAnalyzer builds cleanly
# Risk
Low. Changes are surgical and isolated to extension member handling:
- Early-exit paths for extension members prevent processing unsupported
constructs
- Existing code paths unchanged (all parameters with method containers
work as before)
- Test coverage validates no regressions in standard scenarios
# Package authoring signed off?
N/A - Changes are internal to analyzer implementation, no public API
surface modified.
<!-- START COPILOT CODING AGENT SUFFIX -->
<details>
<summary>Original prompt</summary>
> Backport #121351 to
release/8.0-staging.
</details>
<!-- START COPILOT CODING AGENT TIPS -->
---
💬 We'd love your input! Share your thoughts on Copilot coding agent in
our [2 minute survey](https://gh.io/copilot-coding-agent-survey).
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sbomer <787361+sbomer@users.noreply.github.com>
Co-authored-by: Sven Boemer <sbomer@gmail.com>
…120589) (#122423)
(cherry picked from commit eaafd7c)
(cherry picked from commit 1905046)
---------
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Co-authored-by: Matous Kozak <matouskozak@seznam.cz>
Co-authored-by: Steve Pfister <stpfiste@microsoft.com>
Co-authored-by: Filip Navara <filip.navara@gmail.com>
…ference-packages (#123243)
This pull request updates the following dependencies
[marker]: <> (Begin:1626bff2-6010-444e-f998-08dbcfd3e5b0)
## From https://github.com/dotnet/source-build-reference-packages
- **Subscription**:
[1626bff2-6010-444e-f998-08dbcfd3e5b0](https://maestro.dot.net/subscriptions?search=1626bff2-6010-444e-f998-08dbcfd3e5b0)
- **Build**:
[20251215.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2861480)
([294695](https://maestro.dot.net/channel/3885/github:dotnet:source-build-reference-packages/build/294695))
- **Date Produced**: December 15, 2025 3:29:24 PM UTC
- **Commit**:
[44b5b62182b48c34c4b6aef28943ec3f3e82f214](dotnet/source-build-assets@44b5b62)
- **Branch**:
[release/8.0](https://github.com/dotnet/source-build-reference-packages/tree/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-alpha.1.25522.3 to 8.0.0-alpha.1.25615.3][1]
- Microsoft.SourceBuild.Intermediate.source-build-reference-packages
[1]:
dotnet/source-build-assets@4491483...44b5b62
[DependencyUpdate]: <> (End)
[marker]: <> (End:1626bff2-6010-444e-f998-08dbcfd3e5b0)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
… update. (#123547)
Backport of #120333 to release/8.0-staging
/cc @thaystg
## Customer Impact
- [X] Customer reported
- [ ] Found internally
This change was initially backported to .NET 10 and 9 back in October:
10 - #120334
9 - #120335
We didn't think we would need it in .NET 8, but that turned out to not
be the case.
This change fixes a problem with hot reload on blazor webassembly where
two updates are sent to the runtime at the same time and the runtime
asserts. This was previously an unsupported scenario, but recent up
stack changes altered the behavior. The plan is to fix both the up stack
behavior and in runtime as a defense in depth. The reasoning is that one
of the two updates sent to runtime contains no IL. We can look at that
one and safely ignore it.
## Regression
- [ ] Yes
- [X] No
Not in runtime at least. This was not a supported scenario, but was
trigged via a VS level change.
[If yes, specify when the regression was introduced. Provide the PR or
commit if known.]
## Testing
Manual before and after testing
[How was the fix verified? How was the issue missed previously? What
tests were added?]
## Risk
Low
[High/Medium/Low. Justify the indication by mentioning how risks were
measured and addressed.]
**IMPORTANT**: If this backport is for a servicing release, please
verify that:
- For .NET 8 and .NET 9: The PR target branch is `release/X.0-staging`,
not `release/X.0`.
- For .NET 10+: The PR target branch is `release/X.0` (no `-staging`
suffix).
## Package authoring no longer needed in .NET 9
**IMPORTANT**: Starting with .NET 9, you no longer need to edit a NuGet
package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older
versions.
---------
Co-authored-by: Thays Grazia <thtaglia@microsoft.com>
Co-authored-by: Thays Grazia <thaystg@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
All MacOS 13 queues no longer exist.
Update MsQuic version published with dotnet/runtime on Windows.
Backport of #121198
## Customer Impact
No
## Regression
No
## Testing
Automated tests
## Risk
Low, change only in patch version and we've been running with 2.4.16 in
main and .NET 10 for many months.
…#123618)
This pull request updates the following dependencies
[marker]: <> (Begin:c0fef358-3848-4a30-a438-08dbcfd61a5a)
## From https://github.com/dotnet/hotreload-utils
- **Subscription**:
[c0fef358-3848-4a30-a438-08dbcfd61a5a](https://maestro.dot.net/subscriptions?search=c0fef358-3848-4a30-a438-08dbcfd61a5a)
- **Build**:
[20260126.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=2887725)
([298834](https://maestro.dot.net/channel/3073/github:dotnet:hotreload-utils/build/298834))
- **Date Produced**: January 26, 2026 9:10:24 AM UTC
- **Commit**:
[6074d7872b31463f8b6741589ba543c8d80ce42d](dotnet/hotreload-utils@6074d78)
- **Branch**:
[release/8.0](https://github.com/dotnet/hotreload-utils/tree/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-alpha.0.25625.3 to 8.0.0-alpha.0.26076.2][1]
- Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
[1]:
dotnet/hotreload-utils@e7e9906...6074d78
[DependencyUpdate]: <> (End)
[marker]: <> (End:c0fef358-3848-4a30-a438-08dbcfd61a5a)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Steve Pfister <steveisok@users.noreply.github.com>
)
I detected changes in the release/8.0 branch which have not been merged
yet to release/8.0-staging. I'm a robot and am configured to help you
automatically keep release/8.0-staging up to date, so I've opened this
PR.
This PR merges commits made on release/8.0 by the following committers:
* github-actions[bot]
* mmitche
* dotnet-maestro[bot]
## Instructions for merging from UI
This PR will not be auto-merged. When pull request checks pass, complete
this PR by creating a merge commit, *not* a squash or rebase commit.
<img alt="merge button instructions"
src="https://i.imgur.com/GepcNJV.png" width="300" />
If this repo does not allow creating merge commits from the GitHub UI,
use command line instructions.
## Instructions for merging via command line
Run these commands to merge this pull request from the command line.
``` sh
git fetch
git checkout release/8.0
git pull --ff-only
git checkout release/8.0-staging
git pull --ff-only
git merge --no-ff release/8.0
# If there are merge conflicts, resolve them and then run git merge --continue to complete the merge
# Pushing the changes to the PR branch will re-trigger PR validation.
git push https://github.com/dotnet/runtime HEAD:merge/release/8.0-to-release/8.0-staging
```
<details>
<summary>or if you are using SSH</summary>
```
git push git@github.com:dotnet/runtime HEAD:merge/release/8.0-to-release/8.0-staging
```
</details>
After PR checks are complete push the branch
```
git push
```
## Instructions for resolving conflicts
:warning: If there are merge conflicts, you will need to resolve them
manually before merging. You can do this [using GitHub][resolve-github]
or using the [command line][resolve-cli].
[resolve-github]:
https://help.github.com/articles/resolving-a-merge-conflict-on-github/
[resolve-cli]:
https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/
## Instructions for updating this pull request
Contributors to this repo have permission update this pull request by
pushing to the branch 'merge/release/8.0-to-release/8.0-staging'. This
can be done to resolve conflicts or make other changes to this pull
request before it is merged.
The provided examples assume that the remote is named 'origin'. If you
have a different remote name, please replace 'origin' with the name of
your remote.
```
git fetch
git checkout -b merge/release/8.0-to-release/8.0-staging origin/release/8.0-staging
git pull https://github.com/dotnet/runtime merge/release/8.0-to-release/8.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/runtime HEAD:merge/release/8.0-to-release/8.0-staging
```
<details>
<summary>or if you are using SSH</summary>
```
git fetch
git checkout -b merge/release/8.0-to-release/8.0-staging origin/release/8.0-staging
git pull git@github.com:dotnet/runtime merge/release/8.0-to-release/8.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/runtime HEAD:merge/release/8.0-to-release/8.0-staging
```
</details>
Contact .NET Core Engineering (dotnet/dnceng) if you have questions or
issues.
Also, if this PR was generated incorrectly, help us fix it. See
https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.
@jozkeejozkee added the NO-SQUASH The PR should not be squashed label Feb 11, 2026
@github-actionsgithub-actionsBot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Feb 11, 2026
@dotnet-policy-servicedotnet-policy-serviceBot added linkable-framework Issues associated with delivering a linker friendly framework labels Feb 11, 2026
@jozkeejozkee added area-codeflow for labeling automated codeflow and removed linkable-framework Issues associated with delivering a linker friendly framework needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Feb 11, 2026
@dotnet-policy-servicedotnet-policy-serviceBot added the linkable-framework Issues associated with delivering a linker friendly framework label Feb 11, 2026

CopilotAI 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.

Pull request overview

Manual merge from release/8.0-staging into release/8.0, bringing in a broad set of servicing updates across tooling (ILLink analyzer/tests), Mono runtime, stress infrastructure, Docker tooling, and CI/pipelines.

Changes:

  • Add/extend ILLink Roslyn analyzer dataflow coverage (including an extension-method scenario) and adjust parameter handling in trim analysis.
  • Refactor HTTP/Ssl stress test Docker and local-run workflows to share common scripts, improve dump collection, and update related Dockerfiles/packages.
  • Update various pipeline checkout/pool settings and dependency versions as part of the staging-to-release merge.

Reviewed changes

Copilot reviewed 67 out of 76 changed files in this pull request and generated 9 comments.

Show a summary per file
FileDescription
src/tools/illink/test/Mono.Linker.Tests.Cases/DataFlow/ExtensionsDataFlow.csAdds a new linker/analyzer test case covering extension-method dataflow.
src/tools/illink/test/ILLink.RoslynAnalyzer.Tests/DataFlowTests.csWires the new dataflow test into the analyzer test suite.
src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisVisitor.csUpdates trim analysis parameter/this handling using ParameterProxy.
src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/ParameterProxy.csAdjusts ParameterProxy construction to take an explicit method symbol.
src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/MethodParameterValue.csRemoves older convenience constructors, focusing on ParameterProxy-based construction.
src/tests/issues.targetsAdds Mono minijit x64 exclusions for Swift interop stress tests.
src/mono/mono/mini/decompose.cReplaces a hard-coded INT_MIN expression with INT_MIN.
src/mono/mono/mini/aot-compiler.cUpdates icall signature symbol names (bool -> boolean).
src/mono/mono/metadata/icall.cAdjusts icall signature enum to remove bool aliasing.
src/mono/mono/metadata/icall-signatures.hRenames icall signature macros/docs from bool to boolean.
src/mono/mono/component/hot_reload.cEarly-return on empty hot reload updates.
src/libraries/System.Net.Security/tests/StressTests/SslStress/windows.DockerfileUpdates Windows stress Dockerfile base image and entrypoint usage.
src/libraries/System.Net.Security/tests/StressTests/SslStress/run-docker-compose.shDelegates to shared stress docker-compose runner.
src/libraries/System.Net.Security/tests/StressTests/SslStress/run-docker-compose.ps1Delegates to shared stress docker-compose runner.
src/libraries/System.Net.Security/tests/StressTests/SslStress/entrypoint.shNew Linux entrypoint enabling dump collection and artifact copying on failure.
src/libraries/System.Net.Security/tests/StressTests/SslStress/entrypoint.ps1New Windows entrypoint enabling dump collection and artifact copying on failure.
src/libraries/System.Net.Security/tests/StressTests/SslStress/docker-compose.ymlUpdates env/volume wiring for unified stress args + dump sharing.
src/libraries/System.Net.Security/tests/StressTests/SslStress/build-local.shDelegates to shared local build helper.
src/libraries/System.Net.Security/tests/StressTests/SslStress/StressOperations.csAdds client “connectivity preflight” retry logic and formatting tweaks.
src/libraries/System.Net.Security/tests/StressTests/SslStress/SslStress.csprojUpdates System.CommandLine package and restores sources for stress build.
src/libraries/System.Net.Security/tests/StressTests/SslStress/SslClientBase.csTweaks lazy task startup and simplifies SSL stream establishment signature.
src/libraries/System.Net.Security/tests/StressTests/SslStress/Program.csUpdates CLI parsing to newer System.CommandLine APIs and adds client init step.
src/libraries/System.Net.Security/tests/StressTests/SslStress/DockerfileUpdates Linux stress Dockerfile base image and entrypoint usage.
src/libraries/System.Net.Security/tests/StressTests/SslStress/Directory.Build.targetsMakes NETCoreAppMaximumVersion follow $(NetCoreAppCurrentVersion).
src/libraries/System.Net.Security/tests/StressTests/SslStress/Directory.Build.propsRefactors RID/version props to align with repo Versions.props.
src/libraries/System.Net.Security/tests/StressTests/SslStress/Build-Local.ps1Delegates to shared local build helper.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/windows.DockerfileUpdates Windows stress Dockerfile base image and entrypoint usage.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/run-docker-compose.shDelegates to shared stress docker-compose runner.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/run-docker-compose.ps1Delegates to shared stress docker-compose runner.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/entrypoint.shNew Linux entrypoint enabling dump collection + msquic/runtime copying on failure.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/entrypoint.ps1New Windows entrypoint enabling dump collection and artifact copying on failure.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/docker-compose.ymlUpdates env/volume wiring for unified stress args + dump sharing.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/build-local.shDelegates to shared local build helper.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/build-local.ps1Delegates to shared local build helper.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/StressServer.csUpdates documentation link to learn.microsoft.com.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/StressClient.csEnables multiple HTTP/2 connections on SocketsHttpHandler.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/Program.csUpdates CLI parsing, adds optional unobserved exception tracking/reporting.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/HttpStress.csprojUpdates System.CommandLine package and restores sources for stress build.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/DockerfileUpdates Linux Dockerfile base image and builds msquic with ASAN-enabled Debug.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/Directory.Build.targetsMakes NETCoreAppMaximumVersion follow $(NetCoreAppCurrentVersion).
src/libraries/System.Net.Http/tests/StressTests/HttpStress/Directory.Build.propsRefactors RID/version props to align with repo Versions.props.
src/libraries/System.Net.Http/tests/StressTests/HttpStress/Configuration.csAdds config switch for unobserved exception tracking.
src/libraries/Common/tests/System/Net/StressTests/run-docker-compose.shNew shared docker-compose runner used by stress suites.
src/libraries/Common/tests/System/Net/StressTests/run-docker-compose.ps1New shared PowerShell docker-compose runner used by stress suites.
src/libraries/Common/tests/System/Net/StressTests/build-local.shNew shared local build helper used by stress suites.
src/libraries/Common/tests/System/Net/StressTests/build-local.ps1New shared local build helper used by stress suites.
src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-sles.12.projUpdates runtime deps to libopenssl3.
src/installer/pkg/sfx/installers/dotnet-runtime-deps/dotnet-runtime-deps-opensuse.42.projUpdates runtime deps to libopenssl3.
src/coreclr/vm/amd64/jithelpers_fastwritebarriers.SUpdates labels/macros for write barrier helpers.
global.jsonUpdates pinned MSBuild SDK versions.
eng/pipelines/official/jobs/prepare-signed-artifacts.ymlDisables tag fetching on checkout.
eng/pipelines/libraries/stress/ssl.ymlExtends schedule branches, unifies stress args, adds dump publishing on failure, disables tag fetching.
eng/pipelines/libraries/stress/http.ymlExtends schedule branches, unifies stress args, disables tag fetching.
eng/pipelines/libraries/helix-queues-setup.ymlUpdates macOS/Apple device queues and whitespace cleanup.
eng/pipelines/libraries/base-job.ymlDisables tag fetching on checkout.
eng/pipelines/installer/jobs/build-job.ymlDisables tag fetching on checkout.
eng/pipelines/coreclr/templates/helix-queues-setup.ymlUpdates macOS/Apple device queues.
eng/pipelines/common/xplat-setup.ymlUpdates hosted macOS image selection and adds clarifying comments.
eng/pipelines/common/templates/runtimes/xplat-job.ymlDisables tag fetching on checkout.
eng/pipelines/common/global-build-job.ymlDisables tag fetching on checkout.
eng/pipelines/common/evaluate-paths-job.ymlDisables tag fetching on checkout.
eng/docker/libraries-sdk.windows.DockerfileUpdates base image and SDK/ASP.NET Core handling for Windows libs SDK container.
eng/docker/libraries-sdk.linux.DockerfileUpdates base image and SDK installation to “latest daily”, cleans preinstalled SDK.
eng/docker/build-docker-sdk.shAdds version derivation + passes VERSION build-arg.
eng/docker/build-docker-sdk.ps1Adds version derivation + passes VERSION build-arg.
eng/common/tools.ps1Removes deprecated -UseBasicParsing from Invoke-WebRequest calls.
eng/common/templates/steps/source-build.ymlUpdates internal runtime feed URL.
eng/common/templates-official/steps/source-build.ymlUpdates internal runtime feed URL.
eng/common/templates-official/post-build/setup-maestro-vars.ymlRemoves deprecated -UseBasicParsing from Invoke-WebRequest.
eng/common/templates-official/job/source-index-stage1.ymlClears the default condition (was main-only).
eng/common/templates-official/job/source-build.ymlUpdates internal build pool image selection.
eng/common/post-build/post-build-utils.ps1Removes deprecated -UseBasicParsing from Invoke-WebRequest calls.
eng/common/post-build/nuget-verification.ps1Removes deprecated -UseBasicParsing from Invoke-WebRequest.
eng/common/internal-feed-operations.ps1Removes deprecated -UseBasicParsing from Invoke-WebRequest.
eng/Versions.propsUpdates multiple dependency versions and pins MSBuild-related versions explicitly.
eng/Version.Details.xmlUpdates dependency versions/SHAs for staging merge.

Comment on lines 11 to +22
environment:
- SSLSTRESS_ARGS=--mode client --server-endpoint server:5001 ${SSLSTRESS_CLIENT_ARGS}
- STRESS_ARGS=--mode client --server-endpoint server:5001 ${STRESS_CLIENT_ARGS}
server:
build:
context: ../../../../ # ~> src/libraries
dockerfile: ./System.Net.Security/tests/StressTests/SslStress/${DOCKERFILE:-Dockerfile}
volumes:
- "${DUMPS_SHARE}:${DUMPS_SHARE_MOUNT_ROOT}"
ports:
- "5001:5001"
environment:
- SSLSTRESS_ARGS=--mode server --server-endpoint 0.0.0.0:5001 ${SSLSTRESS_SERVER_ARGS}
- STRESS_ARGS=--mode server --server-endpoint 0.0.0.0:5001 ${STRESS_SERVER_ARGS}

CopilotAIFeb 11, 2026

Copy link

Choose a reason for hiding this comment

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

The docker compose file doesn't set STRESS_ROLE for either service, but the entrypoint uses $STRESS_ROLE to create per-role dump directories. Set STRESS_ROLE=client / STRESS_ROLE=server (and pass DUMPS_SHARE_MOUNT_ROOT if needed) to avoid writing all dumps into the same directory.

Copilot uses AI. Check for mistakes.
Comment on lines +201 to +203
// Before starting the full-blown test, make sure can communicate with the server
// Needed for scenaria where we're deploying server & client in separate containers, simultaneously.
await TestConnection(maxRetries: 10);

CopilotAIFeb 11, 2026

Copy link

Choose a reason for hiding this comment

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

Spelling: "scenaria" -> "scenarios".

Copilot uses AI. Check for mistakes.
Comment on lines 31 to 34
_config = config;
_aggregator = new StressResultAggregator(config.MaxConnections);
_clientTask = new Lazy<Task>(Task.Run(StartCore));
_clientTask = new Lazy<Task>(() => Task.Run(StartCore));
}

CopilotAIFeb 11, 2026

Copy link

Choose a reason for hiding this comment

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

Changing _clientTask to a deferred Lazy<Task> means accessing _clientTask.Value elsewhere (e.g., StopAsync) will now start StartCore even if Start() was never called. Consider updating StopAsync to avoid forcing _clientTask.Value when IsValueCreated is false (or otherwise ensure StartCore only runs when explicitly started).

Copilot uses AI. Check for mistakes.
Comment on lines +48 to +52
cmd.Options.Add(new Option<int>("-n") { Description = "Max number of requests to make concurrently.", DefaultValueFactory = (_) => Environment.ProcessorCount });
cmd.Options.Add(new Option<string>("-serverUri") { Description = "Stress suite server uri.", DefaultValueFactory = (_) => "https://localhost:5001" });
cmd.Options.Add(new Option<RunMode>("-runMode") { Description = "Stress suite execution mode. Defaults to Both.", DefaultValueFactory = (_) => RunMode.both });
cmd.Options.Add(new Option<double>("-maxExecutionTime") { Description = "Maximum stress execution time, in minutes. Defaults to infinity." });
cmd.Options.Add(new Option<int>("-maxContentLength") { Description = "Max content length for request and response bodies.", DefaultValueFactory = (_) => 1000 });

CopilotAIFeb 11, 2026

Copy link

Choose a reason for hiding this comment

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

-maxExecutionTime is declared as Option<double>, but later read as GetValue<double?> and treated as optional (infinity when null). With Option<double>, the default will be 0 when not provided, which can cause the stress run to exit immediately. Make this an Option<double?> (or provide a sentinel/default and handle it explicitly).

Copilot uses AI. Check for mistakes.
Comment on lines +19 to +22
repo_root=$(git -C "$projectdir" rev-parse --show-toplevel)
major_version=$(grep -oP '(?<=<MajorVersion>).*?(?=</MajorVersion>)' "$repo_root/eng/Versions.props")
minor_version=$(grep -oP '(?<=<MinorVersion>).*?(?=</MinorVersion>)' "$repo_root/eng/Versions.props")
version="$major_version.$minor_version"

CopilotAIFeb 11, 2026

Copy link

Choose a reason for hiding this comment

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

These scripts extract the version using grep -P (-oP), which is not available with BSD grep (e.g., default macOS). Consider switching to a more portable approach (e.g., python/perl, xmllint, or sed/awk without PCRE) to keep the script usable on non-GNU environments.

Copilot uses AI. Check for mistakes.
Comment on lines +19 to +22
$REPO_ROOT_DIR = $(git -C "$PSScriptRoot" rev-parse --show-toplevel)
$COMPOSE_FILE = "$TestProjectDir/docker-compose.yml"
[xml]$xml = Get-Content (Join-Path $RepoRoot "eng\Versions.props")
$VERSION = "$($xml.Project.PropertyGroup.MajorVersion[0]).$($xml.Project.PropertyGroup.MinorVersion[0])"

CopilotAIFeb 11, 2026

Copy link

Choose a reason for hiding this comment

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

$RepoRoot is not defined; this Join-Path will fail at runtime. Use $REPO_ROOT_DIR (or rename consistently) when loading eng/Versions.props.

Copilot uses AI. Check for mistakes.
Comment on lines +190 to +194
// Skip analysis for extension members (we have no way to represent a parameter on an extension type).
if (parameter.ContainingSymbol is not IMethodSymbol method)
return TopValue;

return parameter.Type.IsTypeInterestingForDataflow () ? new MethodParameterValue (new ParameterProxy (parameter, method)) : TopValue;

CopilotAIFeb 11, 2026

Copy link

Choose a reason for hiding this comment

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

This comment doesn't match the code: the guard checks for parameters without an IMethodSymbol containing symbol, not specifically extension methods. Consider updating the comment to describe the actual condition (or adjust the condition if extension handling is intended).

Copilot uses AI. Check for mistakes.
Comment on lines +23 to +26
repo_root=$(git -C "$scriptroot" rev-parse --show-toplevel)
major_version=$(grep -oP '(?<=<MajorVersion>).*?(?=</MajorVersion>)' "$repo_root/eng/Versions.props")
minor_version=$(grep -oP '(?<=<MinorVersion>).*?(?=</MinorVersion>)' "$repo_root/eng/Versions.props")
version="$major_version.$minor_version"

CopilotAIFeb 11, 2026

Copy link

Choose a reason for hiding this comment

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

These scripts extract the version using grep -P (-oP), which is not available with BSD grep (e.g., default macOS). Consider switching to a more portable approach (e.g., python/perl, xmllint, or sed/awk without PCRE) to keep the script usable on non-GNU environments.

Copilot uses AI. Check for mistakes.
Comment on lines +26 to +29
repo_root=$(git -C "$scriptroot" rev-parse --show-toplevel)
major_version=$(grep -oP '(?<=<MajorVersion>).*?(?=</MajorVersion>)' "$repo_root/eng/Versions.props")
minor_version=$(grep -oP '(?<=<MinorVersion>).*?(?=</MinorVersion>)' "$repo_root/eng/Versions.props")
version="$major_version.$minor_version"

CopilotAIFeb 11, 2026

Copy link

Choose a reason for hiding this comment

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

This script extracts the version using grep -P (-oP), which is not available with BSD grep (e.g., default macOS). Consider switching to a more portable approach (e.g., python/perl, xmllint, or sed/awk without PCRE) to keep the script usable on non-GNU environments.

Copilot uses AI. Check for mistakes.
)
I detected changes in the release/8.0 branch which have not been merged
yet to release/8.0-staging. I'm a robot and am configured to help you
automatically keep release/8.0-staging up to date, so I've opened this
PR.
This PR merges commits made on release/8.0 by the following committers:
* wfurt
* vseanreesermsft
* akoeplinger
* dotnet-maestro[bot]
* github-actions[bot]
* jeffhandley
* bartonjs
* jozkee
## Instructions for merging from UI
This PR will not be auto-merged. When pull request checks pass, complete
this PR by creating a merge commit, *not* a squash or rebase commit.
<img alt="merge button instructions"
src="https://i.imgur.com/GepcNJV.png" width="300" />
If this repo does not allow creating merge commits from the GitHub UI,
use command line instructions.
## Instructions for merging via command line
Run these commands to merge this pull request from the command line.
``` sh
git fetch
git checkout release/8.0
git pull --ff-only
git checkout release/8.0-staging
git pull --ff-only
git merge --no-ff release/8.0
# If there are merge conflicts, resolve them and then run git merge --continue to complete the merge
# Pushing the changes to the PR branch will re-trigger PR validation.
git push https://github.com/dotnet/runtime HEAD:merge/release/8.0-to-release/8.0-staging
```
<details>
<summary>or if you are using SSH</summary>
```
git push git@github.com:dotnet/runtime HEAD:merge/release/8.0-to-release/8.0-staging
```
</details>
After PR checks are complete push the branch
```
git push
```
## Instructions for resolving conflicts
:warning: If there are merge conflicts, you will need to resolve them
manually before merging. You can do this [using GitHub][resolve-github]
or using the [command line][resolve-cli].
[resolve-github]:
https://help.github.com/articles/resolving-a-merge-conflict-on-github/
[resolve-cli]:
https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/
## Instructions for updating this pull request
Contributors to this repo have permission update this pull request by
pushing to the branch 'merge/release/8.0-to-release/8.0-staging'. This
can be done to resolve conflicts or make other changes to this pull
request before it is merged.
The provided examples assume that the remote is named 'origin'. If you
have a different remote name, please replace 'origin' with the name of
your remote.
```
git fetch
git checkout -b merge/release/8.0-to-release/8.0-staging origin/release/8.0-staging
git pull https://github.com/dotnet/runtime merge/release/8.0-to-release/8.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/runtime HEAD:merge/release/8.0-to-release/8.0-staging
```
<details>
<summary>or if you are using SSH</summary>
```
git fetch
git checkout -b merge/release/8.0-to-release/8.0-staging origin/release/8.0-staging
git pull git@github.com:dotnet/runtime merge/release/8.0-to-release/8.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/runtime HEAD:merge/release/8.0-to-release/8.0-staging
```
</details>
Contact .NET Core Engineering (dotnet/dnceng) if you have questions or
issues.
Also, if this PR was generated incorrectly, help us fix it. See
https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.
---------
Co-authored-by: Mirroring <dnceng-mirroring@microsoft.com>
Co-authored-by: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com>
Co-authored-by: David Cantú <dacantu@microsoft.com>
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
Co-authored-by: Sean Reeser <v-seanreeser@microsoft.com>
Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
Co-authored-by: Nikola Milosavljevic <nikolam@microsoft.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: elinor-fung <47805090+elinor-fung@users.noreply.github.com>
Co-authored-by: Elinor Fung <elfung@microsoft.com>
Co-authored-by: sbomer <787361+sbomer@users.noreply.github.com>
Co-authored-by: Sven Boemer <sbomer@gmail.com>
Co-authored-by: Andy Gocke <angocke@microsoft.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Co-authored-by: Matous Kozak <matouskozak@seznam.cz>
Co-authored-by: Steve Pfister <stpfiste@microsoft.com>
Co-authored-by: Filip Navara <filip.navara@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
@jozkeejozkee closed this Feb 12, 2026
@jozkeejozkee reopened this Feb 12, 2026
@jozkeejozkee closed this Feb 12, 2026
@jozkee

Copy link
Copy Markdown
MemberAuthor

#124310 has disabled GeneratePackageOnBuild

@github-actionsgithub-actionsBot locked and limited conversation to collaborators Mar 14, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-codeflowfor labeling automated codeflowlinkable-frameworkIssues associated with delivering a linker friendly frameworkNO-SQUASHThe PR should not be squashed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@jozkee@tarekgh@MihaZupan@NikolaMilosavljevic@jeffhandley@agocke@steveisok@ManickaP@akoeplinger