diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 80f4e124ca33ed..2b469ddd92bcee 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"microsoft.dotnet.xharness.cli": {
- "version": "9.0.0-prerelease.25057.1",
+ "version": "9.0.0-prerelease.25103.3",
"commands": [
"xharness"
]
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 2d544524862e2d..6d8489e86c472d 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -113,3 +113,4 @@
/docs/area-owners.* @jeffhandley
/docs/issue*.md @jeffhandley
/.github/policies/ @jeffhandley @mkArtakMSFT
+/.github/workflows/ @jeffhandley @dotnet/runtime-infrastructure
diff --git a/.github/workflows/README.md b/.github/workflows/README.md
new file mode 100644
index 00000000000000..f5e7799b30e2a2
--- /dev/null
+++ b/.github/workflows/README.md
@@ -0,0 +1,22 @@
+# Workflows
+
+General guidance:
+
+Please make sure to include the @dotnet/runtime-infrastructure group as a reviewer of your PRs.
+
+For workflows that are triggered by pull requests, refer to GitHub's documentation for the `pull_request` and `pull_request_target` events. The `pull_request_target` event is the more common use case in this repository as it runs the workflow in the context of the target branch instead of in the context of the pull request's fork or branch. However, workflows that need to consume the contents of the pull request need to use the `pull_request` event. There are security considerations with each of the events though.
+
+Most workflows are intended to run only in the `dotnet/runtime` repository and not in forks. To force workflow jobs to be skipped in forks, each job should apply an `if` statement that checks the repository name or owner. Either approach works, but checking only the repository owner allows the workflow to run in copies or forks withing the dotnet org.
+
+```yaml
+jobs:
+ job-1:
+ # Do not run this job in forks
+ if: github.repository == 'dotnet/runtime'
+
+ job-2:
+ # Do not run this job in forks outside the dotnet org
+ if: github.repository_owner == 'dotnet'
+```
+
+Refer to GitHub's [Workflows in forked repositories](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#workflows-in-forked-repositories) and [pull_request_target](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#pull_request_target) documentation for more information.
diff --git a/.github/workflows/check-no-merge-label.yml b/.github/workflows/check-no-merge-label.yml
new file mode 100644
index 00000000000000..d503400b0e154c
--- /dev/null
+++ b/.github/workflows/check-no-merge-label.yml
@@ -0,0 +1,25 @@
+name: check-no-merge-label
+
+permissions:
+ pull-requests: read
+
+on:
+ pull_request_target:
+ types: [opened, reopened, labeled, unlabeled]
+ branches:
+ - 'release/**'
+
+jobs:
+ check-labels:
+ if: github.repository == 'dotnet/runtime'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check 'NO-MERGE' label
+ run: |
+ echo "Merging permission is disabled when the 'NO-MERGE' label is applied."
+ if [ "${{ contains(github.event.pull_request.labels.*.name, 'NO-MERGE') }}" = "false" ]; then
+ exit 0
+ else
+ echo "::error:: The 'NO-MERGE' label was applied to the PR. Merging is disabled."
+ exit 1
+ fi
diff --git a/.github/workflows/check-service-labels.yml b/.github/workflows/check-service-labels.yml
index 5261cc165ee128..c158ff6f1520d6 100644
--- a/.github/workflows/check-service-labels.yml
+++ b/.github/workflows/check-service-labels.yml
@@ -4,18 +4,19 @@ permissions:
pull-requests: read
on:
- pull_request:
- types: [opened, edited, reopened, labeled, unlabeled, synchronize]
+ pull_request_target:
+ types: [opened, reopened, labeled, unlabeled]
branches:
- 'release/**'
jobs:
check-labels:
+ if: github.repository == 'dotnet/runtime'
runs-on: ubuntu-latest
steps:
- name: Check 'Servicing-approved' label
run: |
- echo "Merging permission is enabled for servicing PRs when the `Servicing-approved` label is applied."
+ echo "Merging permission is enabled for servicing PRs when the 'Servicing-approved' label is applied."
if [ "${{ contains(github.event.pull_request.labels.*.name, 'Servicing-approved') }}" = "true" ]; then
exit 0
else
diff --git a/NuGet.config b/NuGet.config
index f04033fb6afa26..7a77a883fb2871 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -9,11 +9,28 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
https://github.com/dotnet/cecil
- 7ea2381200e5ca70cf67efc887d9cd693d82b77f
+ aa3ae0d49da3cfb31a383f16303a3f2f0c3f1a19
-
+
https://github.com/dotnet/emsdk
- 2c27e405e17595694d91892159593d6dd10e61e2
+ dad5528e5bdf92a05a5a404c5f7939523390b96d
-
+
https://github.com/dotnet/emsdk
- 2c27e405e17595694d91892159593d6dd10e61e2
+ dad5528e5bdf92a05a5a404c5f7939523390b96d
-
+
https://github.com/dotnet/emsdk
- 2c27e405e17595694d91892159593d6dd10e61e2
+ dad5528e5bdf92a05a5a404c5f7939523390b96d
-
+
https://github.com/dotnet/source-build-reference-packages
- f5fa796273e4e59926e3fab26e1ab9e7d577f5e5
+ 1cec3b4a8fb07138136a1ca1e04763bfcf7841db
@@ -92,139 +92,139 @@
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
https://github.com/dotnet/llvm-project
@@ -320,21 +320,21 @@
https://github.com/dotnet/runtime
b030c4dfdfa1bf287f10f96006619a06bc2000ae
-
+
https://github.com/dotnet/xharness
- b19a0fbe866756907e546ed927b013687689b4ee
+ 22a44bd14f5d6308acdda4b6dd67e4d7aa0bca5b
-
+
https://github.com/dotnet/xharness
- b19a0fbe866756907e546ed927b013687689b4ee
+ 22a44bd14f5d6308acdda4b6dd67e4d7aa0bca5b
-
+
https://github.com/dotnet/xharness
- b19a0fbe866756907e546ed927b013687689b4ee
+ 22a44bd14f5d6308acdda4b6dd67e4d7aa0bca5b
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
@@ -352,48 +352,48 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
9d7532585ce71e30ab55f0364d3cecccaf0775d1
-
+
https://github.com/dotnet/hotreload-utils
- 0c557eb70fff0d39a63cb18d386e0c52bbfa9cab
+ fe67b0da4c0a7e82f0f9a4da1cb966c730e6934f
-
+
https://github.com/dotnet/runtime-assets
- be3ffb86e48ffd7f75babda38cba492aa058f04f
+ ceeaaca3ae019d656421fdf49fc2dde5f29c9d09
-
+
https://github.com/dotnet/roslyn
- da7c6c4257b2f661024b9a506773372a09023eee
+ 25acc509a1cb1d1a4923b0091cbc5ce837b024d0
-
+
https://github.com/dotnet/roslyn
- da7c6c4257b2f661024b9a506773372a09023eee
+ 25acc509a1cb1d1a4923b0091cbc5ce837b024d0
-
+
https://github.com/dotnet/roslyn
- da7c6c4257b2f661024b9a506773372a09023eee
+ 25acc509a1cb1d1a4923b0091cbc5ce837b024d0
-
+
https://github.com/dotnet/roslyn-analyzers
- 5bfaf6aea5cf9d1c924d9adc69916eac3be07880
+ 16865ea61910500f1022ad2b96c499e5df02c228
-
+
https://github.com/dotnet/roslyn-analyzers
- 5bfaf6aea5cf9d1c924d9adc69916eac3be07880
+ 16865ea61910500f1022ad2b96c499e5df02c228
-
+
https://github.com/dotnet/roslyn
- da7c6c4257b2f661024b9a506773372a09023eee
+ 25acc509a1cb1d1a4923b0091cbc5ce837b024d0
-
+
https://github.com/dotnet/sdk
- a345a00343aa14a693aec75a3d56fc07e99e517f
+ 049799c39d766c58ef6388865d5f5ed273b6a75e
-
+
https://github.com/dotnet/sdk
- a345a00343aa14a693aec75a3d56fc07e99e517f
+ 049799c39d766c58ef6388865d5f5ed273b6a75e
diff --git a/eng/Versions.props b/eng/Versions.props
index d6638df6bc6e53..9bc7f6caeff393 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -1,11 +1,11 @@
- 9.0.2
+ 9.0.3
9
0
- 2
+ 3
9.0.100
8.0.$([MSBuild]::Add($(PatchVersion),11))
7.0.20
@@ -36,17 +36,17 @@
- 3.11.0-beta1.24629.2
- 9.0.0-preview.24629.2
+ 3.11.0-beta1.25076.3
+ 9.0.0-preview.25076.3
- 4.12.0-3.24631.1
- 4.12.0-3.24631.1
- 4.12.0-3.24631.1
+ 4.12.0-3.25105.5
+ 4.12.0-3.25105.5
+ 4.12.0-3.25105.5
- 9.0.102
+ 9.0.103
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 2.9.0-beta.25058.5
- 9.0.0-beta.25058.5
- 2.9.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 2.9.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 2.9.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
1.4.0
@@ -141,20 +141,20 @@
8.0.0
8.0.0
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
- 9.0.0-beta.24517.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
+ 9.0.0-beta.25071.2
1.0.0-prerelease.24462.2
1.0.0-prerelease.24462.2
@@ -184,10 +184,10 @@
1.4.0
17.4.0-preview-20220707-01
- 9.0.0-prerelease.25057.1
- 9.0.0-prerelease.25057.1
- 9.0.0-prerelease.25057.1
- 9.0.0-alpha.0.25057.3
+ 9.0.0-prerelease.25103.3
+ 9.0.0-prerelease.25103.3
+ 9.0.0-prerelease.25103.3
+ 9.0.0-alpha.0.25077.3
3.12.0
4.5.0
6.0.0
@@ -215,11 +215,11 @@
9.0.0-preview-20241010.1
- 0.11.5-alpha.25056.3
+ 0.11.5-alpha.25102.5
9.0.0-rtm.24511.16
- 9.0.0-rtm.25061.1
+ 9.0.0-rtm.25105.1
9.0.0-rtm.24466.4
2.4.3
@@ -243,8 +243,8 @@
Note: when the name is updated, make sure to update dependency name in eng/pipelines/common/xplat-setup.yml
like - DarcDependenciesChanged.Microsoft_NET_Workload_Emscripten_Current_Manifest-9_0_100_Transport
-->
- 9.0.2-servicing.25061.2
- 9.0.2
+ 9.0.3-servicing.25105.2
+ 9.0.3
$(MicrosoftNETWorkloadEmscriptenCurrentManifest90100Version)
1.1.87-gba258badda
@@ -263,7 +263,7 @@
1.0.406601
- 9.0.101
+ 9.0.102
9.0.0-alpha.1.24175.1
$(MicrosoftNETRuntimeEmscriptenVersion)
$(runtimewinx64MicrosoftNETCoreRuntimeWasmNodeTransportPackageVersion)
diff --git a/eng/common/internal/Tools.csproj b/eng/common/internal/Tools.csproj
index 32f79dfb3402c0..feaa6d20812d8f 100644
--- a/eng/common/internal/Tools.csproj
+++ b/eng/common/internal/Tools.csproj
@@ -15,16 +15,6 @@
-
-
-
- https://devdiv.pkgs.visualstudio.com/_packaging/dotnet-core-internal-tooling/nuget/v3/index.json;
-
-
- $(RestoreSources);
- https://devdiv.pkgs.visualstudio.com/_packaging/VS/nuget/v3/index.json;
-
-
diff --git a/eng/common/template-guidance.md b/eng/common/template-guidance.md
index 5ef6c30ba92465..98bbc1ded0ba88 100644
--- a/eng/common/template-guidance.md
+++ b/eng/common/template-guidance.md
@@ -57,7 +57,7 @@ extends:
Note: Multiple outputs are ONLY applicable to 1ES PT publishing (only usable when referencing `templates-official`).
-# Development notes
+## Development notes
**Folder / file structure**
diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml
index af232f29c95ea4..d6c83bd12137da 100644
--- a/eng/pipelines/libraries/helix-queues-setup.yml
+++ b/eng/pipelines/libraries/helix-queues-setup.yml
@@ -127,7 +127,6 @@ jobs:
- ${{ if ne(parameters.jobParameters.testScope, 'outerloop') }}:
- (Windows.10.Amd64.ServerRS5.Open)windows.10.amd64.serverrs5.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2019-helix-amd64
- ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- - Windows.81.Amd64.Open
- Windows.Amd64.Server2022.Open
- Windows.11.Amd64.Client.Open
- ${{ if eq(parameters.jobParameters.testScope, 'outerloop') }}:
diff --git a/eng/pipelines/runtime-ioslike.yml b/eng/pipelines/runtime-ioslike.yml
index 1100ec500ce6ff..11477a3e175cba 100644
--- a/eng/pipelines/runtime-ioslike.yml
+++ b/eng/pipelines/runtime-ioslike.yml
@@ -4,6 +4,24 @@
trigger: none
+# To reduce the load on the pipeline, enable it only for PRs that affect Mono LLVM related code.
+pr:
+ branches:
+ include:
+ - main
+ - release/*.*
+
+ paths:
+ include:
+ - src/mono/mono/mini/aot-*.*
+ - src/mono/mono/mini/llvm-*.*
+ - src/mono/mono/mini/mini-llvm-*.*
+ - src/mono/mono/mini/intrinsics.c
+ - src/mono/mono/mini/simd-*.*
+ - src/mono/mono/mini/decompose.c
+ - src/mono/mono/mini/method-to-ir.c
+ - src/mono/mono/mini/mini.c
+
variables:
- template: /eng/pipelines/common/variables.yml
diff --git a/eng/pipelines/runtime-llvm.yml b/eng/pipelines/runtime-llvm.yml
index 5be2a5b063aaaa..6f3d16767ddbb3 100644
--- a/eng/pipelines/runtime-llvm.yml
+++ b/eng/pipelines/runtime-llvm.yml
@@ -28,6 +28,24 @@ schedules:
- main
always: false # run only if there were changes since the last successful scheduled run.
+# To reduce the load on the pipeline, enable it only for PRs that affect Mono LLVM related code.
+pr:
+ branches:
+ include:
+ - main
+ - release/*.*
+
+ paths:
+ include:
+ - src/mono/mono/mini/aot-*.*
+ - src/mono/mono/mini/llvm-*.*
+ - src/mono/mono/mini/mini-llvm-*.*
+ - src/mono/mono/mini/intrinsics.c
+ - src/mono/mono/mini/simd-*.*
+ - src/mono/mono/mini/decompose.c
+ - src/mono/mono/mini/method-to-ir.c
+ - src/mono/mono/mini/mini.c
+
variables:
- template: /eng/pipelines/common/variables.yml
diff --git a/eng/pipelines/runtime-official.yml b/eng/pipelines/runtime-official.yml
index 55021be6e29ed4..e3c7dc5050005f 100644
--- a/eng/pipelines/runtime-official.yml
+++ b/eng/pipelines/runtime-official.yml
@@ -41,11 +41,11 @@ extends:
# Localization build
#
- - ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/release/9.0') }}:
+ - ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/main') }}:
- template: /eng/common/templates-official/job/onelocbuild.yml
parameters:
MirrorRepo: runtime
- MirrorBranch: release/9.0
+ MirrorBranch: main
LclSource: lclFilesfromPackage
LclPackageId: 'LCL-JUNO-PROD-RUNTIME'
@@ -661,7 +661,7 @@ extends:
flattenFolders: true
buildArgs: -s mono.workloads -c $(_BuildConfig) /p:PackageSource=$(Build.SourcesDirectory)/artifacts/workloadPackages /p:WorkloadOutputPath=$(Build.SourcesDirectory)/artifacts/workloads
-
+
postBuildSteps:
# Upload packages wrapping msis
- template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml
index bcab359dde5792..f06667f3e8e6e2 100644
--- a/eng/pipelines/runtime.yml
+++ b/eng/pipelines/runtime.yml
@@ -926,25 +926,25 @@ extends:
# WASI/WASM
- - template: /eng/pipelines/common/templates/wasm-library-tests.yml
- parameters:
- platforms:
- - wasi_wasm
- - wasi_wasm_win
- nameSuffix: '_Smoke'
- extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
- shouldRunSmokeOnly: true
- alwaysRun: ${{ variables.isRollingBuild }}
- scenarios:
- - WasmTestOnWasmtime
-
- - template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml
- parameters:
- platforms:
- - wasi_wasm
- - wasi_wasm_win
- extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
- alwaysRun: ${{ variables.isRollingBuild }}
+ # - template: /eng/pipelines/common/templates/wasm-library-tests.yml
+ # parameters:
+ # platforms:
+ # - wasi_wasm
+ # - wasi_wasm_win
+ # nameSuffix: '_Smoke'
+ # extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
+ # shouldRunSmokeOnly: true
+ # alwaysRun: ${{ variables.isRollingBuild }}
+ # scenarios:
+ # - WasmTestOnWasmtime
+
+ # - template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml
+ # parameters:
+ # platforms:
+ # - wasi_wasm
+ # - wasi_wasm_win
+ # extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
+ # alwaysRun: ${{ variables.isRollingBuild }}
#
# Android devices
diff --git a/eng/testing/scenarios/BuildWasiAppsJobsList.txt b/eng/testing/scenarios/BuildWasiAppsJobsList.txt
index 86c0517585a480..e69de29bb2d1d6 100644
--- a/eng/testing/scenarios/BuildWasiAppsJobsList.txt
+++ b/eng/testing/scenarios/BuildWasiAppsJobsList.txt
@@ -1,7 +0,0 @@
-Wasi.Build.Tests.InvariantTests
-Wasi.Build.Tests.ILStripTests
-Wasi.Build.Tests.SdkMissingTests
-Wasi.Build.Tests.RuntimeConfigTests
-Wasi.Build.Tests.WasiTemplateTests
-Wasi.Build.Tests.PInvokeTableGeneratorTests
-Wasi.Build.Tests.WasiLibraryModeTests
diff --git a/global.json b/global.json
index 94e4138f91926d..4f7a01b1c6f48a 100644
--- a/global.json
+++ b/global.json
@@ -1,16 +1,16 @@
{
"sdk": {
- "version": "9.0.100",
+ "version": "9.0.102",
"allowPrerelease": true,
"rollForward": "major"
},
"tools": {
- "dotnet": "9.0.100"
+ "dotnet": "9.0.102"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25058.5",
- "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25058.5",
- "Microsoft.DotNet.SharedFramework.Sdk": "9.0.0-beta.25058.5",
+ "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25077.4",
+ "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25077.4",
+ "Microsoft.DotNet.SharedFramework.Sdk": "9.0.0-beta.25077.4",
"Microsoft.Build.NoTargets": "3.7.0",
"Microsoft.Build.Traversal": "3.4.0",
"Microsoft.NET.Sdk.IL": "9.0.0-rtm.24511.16"
diff --git a/src/coreclr/ildasm/dasm.cpp b/src/coreclr/ildasm/dasm.cpp
index f94a5846672d96..7c2b3eabd36597 100644
--- a/src/coreclr/ildasm/dasm.cpp
+++ b/src/coreclr/ildasm/dasm.cpp
@@ -1914,7 +1914,7 @@ BYTE* PrettyPrintCABlobValue(PCCOR_SIGNATURE &typePtr,
for(n=0; n < numElements; n++)
{
if(n) appendStr(out," ");
- sprintf_s(str, 64, "%.*g", 8, (double)(*((float*)dataPtr)));
+ sprintf_s(str, 64, "%#.8g", (double)(*((float*)dataPtr)));
float df = (float)atof(str);
// Must compare as underlying bytes, not floating point otherwise optimizer will
// try to enregister and compare 80-bit precision number with 32-bit precision number!!!!
@@ -1933,7 +1933,7 @@ BYTE* PrettyPrintCABlobValue(PCCOR_SIGNATURE &typePtr,
{
if(n) appendStr(out," ");
char *pch;
- sprintf_s(str, 64, "%.*g", 17, *((double*)dataPtr));
+ sprintf_s(str, 64, "%#.17g", *((double*)dataPtr));
double df = strtod(str, &pch);
// Must compare as underlying bytes, not floating point otherwise optimizer will
// try to enregister and compare 80-bit precision number with 64-bit precision number!!!!
@@ -2605,7 +2605,7 @@ void DumpDefaultValue(mdToken tok, __inout __nullterminated char* szString, void
case ELEMENT_TYPE_R4:
{
char szf[32];
- sprintf_s(szf, 32, "%.*g", 8, (double)MDDV.m_fltValue);
+ sprintf_s(szf, 32, "%#.8g", (double)MDDV.m_fltValue);
float df = (float)atof(szf);
// Must compare as underlying bytes, not floating point otherwise optimizer will
// try to enregister and compare 80-bit precision number with 32-bit precision number!!!!
@@ -2619,7 +2619,7 @@ void DumpDefaultValue(mdToken tok, __inout __nullterminated char* szString, void
case ELEMENT_TYPE_R8:
{
char szf[32], *pch;
- sprintf_s(szf, 32, "%.*g", 17, MDDV.m_dblValue);
+ sprintf_s(szf, 32, "%#.17g", MDDV.m_dblValue);
double df = strtod(szf, &pch); //atof(szf);
szf[31]=0;
// Must compare as underlying bytes, not floating point otherwise optimizer will
diff --git a/src/coreclr/nativeaot/Runtime/unix/unixasmmacrosamd64.inc b/src/coreclr/nativeaot/Runtime/unix/unixasmmacrosamd64.inc
index b1a437d8b57ead..b12b4071593ab4 100644
--- a/src/coreclr/nativeaot/Runtime/unix/unixasmmacrosamd64.inc
+++ b/src/coreclr/nativeaot/Runtime/unix/unixasmmacrosamd64.inc
@@ -16,15 +16,6 @@
.macro NESTED_END Name, Section
LEAF_END \Name, \Section
-#if defined(__APPLE__)
- .set LOCAL_LABEL(\Name\()_Size), . - C_FUNC(\Name)
- .section __LD,__compact_unwind,regular,debug
- .quad C_FUNC(\Name)
- .long LOCAL_LABEL(\Name\()_Size)
- .long 0x04000000 # DWARF
- .quad 0
- .quad 0
-#endif
.endm
.macro PATCH_LABEL Name
diff --git a/src/coreclr/pal/inc/unixasmmacrosamd64.inc b/src/coreclr/pal/inc/unixasmmacrosamd64.inc
index bc6d770a51824a..31093a4073d2ed 100644
--- a/src/coreclr/pal/inc/unixasmmacrosamd64.inc
+++ b/src/coreclr/pal/inc/unixasmmacrosamd64.inc
@@ -16,15 +16,6 @@
.macro NESTED_END Name, Section
LEAF_END \Name, \Section
-#if defined(__APPLE__)
- .set LOCAL_LABEL(\Name\()_Size), . - C_FUNC(\Name)
- .section __LD,__compact_unwind,regular,debug
- .quad C_FUNC(\Name)
- .long LOCAL_LABEL(\Name\()_Size)
- .long 0x04000000 # DWARF
- .quad 0
- .quad 0
-#endif
.endm
.macro PATCH_LABEL Name
diff --git a/src/coreclr/vm/prestub.cpp b/src/coreclr/vm/prestub.cpp
index e494c74667cba1..99086a462a26fb 100644
--- a/src/coreclr/vm/prestub.cpp
+++ b/src/coreclr/vm/prestub.cpp
@@ -1445,11 +1445,18 @@ namespace
DWORD declArgCount;
IfFailThrow(CorSigUncompressData_EndPtr(pSig1, pEndSig1, &declArgCount));
+ if (pSig1 >= pEndSig1)
+ ThrowHR(META_E_BAD_SIGNATURE);
- // UnsafeAccessors for fields require return types be byref.
- // This was explicitly checked in TryGenerateUnsafeAccessor().
+ // UnsafeAccessors for fields require return types be byref. However, we first need to
+ // consume any custom modifiers which are prior to the expected ELEMENT_TYPE_BYREF in
+ // the RetType signature (II.23.2.11).
+ _ASSERTE(state.IgnoreCustomModifiers); // We should always ignore custom modifiers for field look-up.
+ MetaSig::ConsumeCustomModifiers(pSig1, pEndSig1);
if (pSig1 >= pEndSig1)
ThrowHR(META_E_BAD_SIGNATURE);
+
+ // The ELEMENT_TYPE_BYREF was explicitly checked in TryGenerateUnsafeAccessor().
CorElementType byRefType = CorSigUncompressElementType(pSig1);
_ASSERTE(byRefType == ELEMENT_TYPE_BYREF);
diff --git a/src/coreclr/vm/siginfo.cpp b/src/coreclr/vm/siginfo.cpp
index facb809cd4841a..2b50fdfcfeaa49 100644
--- a/src/coreclr/vm/siginfo.cpp
+++ b/src/coreclr/vm/siginfo.cpp
@@ -3604,7 +3604,7 @@ BOOL CompareTypeTokens(mdToken tk1, mdToken tk2, ModuleBase *pModule1, ModuleBas
#endif //!DACCESS_COMPILE
} // CompareTypeTokens
-static void ConsumeCustomModifiers(PCCOR_SIGNATURE& pSig, PCCOR_SIGNATURE pEndSig)
+void MetaSig::ConsumeCustomModifiers(PCCOR_SIGNATURE& pSig, PCCOR_SIGNATURE pEndSig)
{
mdToken tk;
CorElementType type;
diff --git a/src/coreclr/vm/siginfo.hpp b/src/coreclr/vm/siginfo.hpp
index fab9a79260d2d1..49f14b57c34bee 100644
--- a/src/coreclr/vm/siginfo.hpp
+++ b/src/coreclr/vm/siginfo.hpp
@@ -945,6 +945,14 @@ class MetaSig
//------------------------------------------------------------------
CorElementType GetByRefType(TypeHandle* pTy) const;
+ //------------------------------------------------------------------
+ // Consume the custom modifiers, if any, in the current signature
+ // and update it.
+ // This is a non destructive operation if the current signature is not
+ // pointing at a sequence of ELEMENT_TYPE_CMOD_REQD or ELEMENT_TYPE_CMOD_OPT.
+ //------------------------------------------------------------------
+ static void ConsumeCustomModifiers(PCCOR_SIGNATURE& pSig, PCCOR_SIGNATURE pEndSig);
+
// Struct used to capture in/out state during the comparison
// of element types.
struct CompareState
diff --git a/src/coreclr/vm/threadstatics.cpp b/src/coreclr/vm/threadstatics.cpp
index 885453073508c5..889e9ea3cf4c63 100644
--- a/src/coreclr/vm/threadstatics.cpp
+++ b/src/coreclr/vm/threadstatics.cpp
@@ -377,7 +377,7 @@ void FreeLoaderAllocatorHandlesForTLSData(Thread *pThread)
#endif
for (const auto& entry : g_pThreadStaticCollectibleTypeIndices->CollectibleEntries())
{
- _ASSERTE((entry.TlsIndex.GetIndexOffset() <= pThread->cLoaderHandles) || allRemainingIndicesAreNotValid);
+ _ASSERTE((entry.TlsIndex.GetIndexOffset() >= pThread->cLoaderHandles) || !allRemainingIndicesAreNotValid);
if (entry.TlsIndex.GetIndexOffset() >= pThread->cLoaderHandles)
{
#ifndef _DEBUG
@@ -390,7 +390,9 @@ void FreeLoaderAllocatorHandlesForTLSData(Thread *pThread)
{
if (pThread->pLoaderHandles[entry.TlsIndex.GetIndexOffset()] != (LOADERHANDLE)NULL)
{
- entry.pMT->GetLoaderAllocator()->FreeHandle(pThread->pLoaderHandles[entry.TlsIndex.GetIndexOffset()]);
+ LoaderAllocator *pLoaderAllocator = entry.pMT->GetLoaderAllocator();
+ if (pLoaderAllocator->IsExposedObjectLive())
+ pLoaderAllocator->FreeHandle(pThread->pLoaderHandles[entry.TlsIndex.GetIndexOffset()]);
pThread->pLoaderHandles[entry.TlsIndex.GetIndexOffset()] = (LOADERHANDLE)NULL;
}
}
diff --git a/src/libraries/Common/tests/System/Net/Configuration.Http.cs b/src/libraries/Common/tests/System/Net/Configuration.Http.cs
index f568e54f261d22..f7e6fc759c0dd5 100644
--- a/src/libraries/Common/tests/System/Net/Configuration.Http.cs
+++ b/src/libraries/Common/tests/System/Net/Configuration.Http.cs
@@ -64,9 +64,16 @@ public static Uri[] GetEchoServerList()
if (PlatformDetection.IsFirefox)
{
// https://github.com/dotnet/runtime/issues/101115
- return [RemoteEchoServer];
+ // [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
+ // return [RemoteEchoServer];
+ return [];
}
- return [RemoteEchoServer, SecureRemoteEchoServer, Http2RemoteEchoServer];
+ return [
+ // [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
+ // RemoteEchoServer,
+ SecureRemoteEchoServer,
+ Http2RemoteEchoServer
+ ];
}
public static readonly Uri RemoteVerifyUploadServer = new Uri("http://" + Host + "/" + VerifyUploadHandler);
@@ -82,8 +89,20 @@ public static Uri[] GetEchoServerList()
public static Uri RemoteLoopServer => new Uri("ws://" + RemoteLoopHost + "/" + RemoteLoopHandler);
public static readonly object[][] EchoServers = GetEchoServerList().Select(x => new object[] { x }).ToArray();
- public static readonly object[][] VerifyUploadServers = { new object[] { RemoteVerifyUploadServer }, new object[] { SecureRemoteVerifyUploadServer }, new object[] { Http2RemoteVerifyUploadServer } };
- public static readonly object[][] CompressedServers = { new object[] { RemoteDeflateServer }, new object[] { RemoteGZipServer }, new object[] { Http2RemoteDeflateServer }, new object[] { Http2RemoteGZipServer } };
+ public static readonly object[][] VerifyUploadServers = {
+ // [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
+ // new object[] { RemoteVerifyUploadServer },
+ new object[] { SecureRemoteVerifyUploadServer },
+ new object[] { Http2RemoteVerifyUploadServer }
+ };
+
+ public static readonly object[][] CompressedServers = {
+ // [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
+ // new object[] { RemoteDeflateServer },
+ new object[] { RemoteGZipServer },
+ new object[] { Http2RemoteDeflateServer },
+ new object[] { Http2RemoteGZipServer }
+ };
public static readonly object[][] Http2Servers = { new object[] { new Uri("https://" + Http2Host) } };
public static readonly object[][] Http2NoPushServers = { new object[] { new Uri("https://" + Http2NoPushHost) } };
@@ -97,9 +116,17 @@ public static IEnumerable GetRemoteServers()
if (PlatformDetection.IsFirefox)
{
// https://github.com/dotnet/runtime/issues/101115
- return new RemoteServer[] { RemoteHttp11Server };
+ // [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
+ // return new RemoteServer[] { RemoteHttp11Server };
+ return [];
}
- return new RemoteServer[] { RemoteHttp11Server, RemoteSecureHttp11Server, RemoteHttp2Server };
+ return new RemoteServer[]
+ {
+ // [ActiveIssue("https://github.com/dotnet/runtime/issues/110578)]
+ // RemoteHttp11Server,
+ RemoteSecureHttp11Server,
+ RemoteHttp2Server
+ };
}
public static readonly IEnumerable