Skip to content

Commit c78b1ea

Browse files
authored
Merge branch 'main' into RefStructEnumerators
2 parents ccc2e4b + b658cd2 commit c78b1ea

File tree

2,789 files changed

+110492
-43531
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,789 files changed

+110492
-43531
lines changed

.config/dotnet-tools.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@
33
"isRoot": true,
44
"tools": {
55
"coverlet.console": {
6-
"version": "6.0.0",
6+
"version": "6.0.4",
77
"commands": [
88
"coverlet"
99
]
1010
},
1111
"dotnet-reportgenerator-globaltool": {
12-
"version": "5.3.0",
12+
"version": "5.4.3",
1313
"commands": [
1414
"reportgenerator"
1515
]
1616
},
1717
"microsoft.dotnet.xharness.cli": {
18-
"version": "10.0.0-prerelease.24610.1",
18+
"version": "10.0.0-prerelease.25103.1",
1919
"commands": [
2020
"xharness"
2121
]

.devcontainer/Dockerfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,5 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
2424
liblttng-ust-dev \
2525
libssl-dev \
2626
libkrb5-dev \
27-
zlib1g-dev \
2827
ninja-build \
2928
tzdata

.devcontainer/android/Dockerfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
2121
liblttng-ust-dev \
2222
libssl-dev \
2323
libkrb5-dev \
24-
zlib1g-dev \
2524
ninja-build \
26-
zlib1g-dev \
2725
ninja-build \
2826
openjdk-17-jdk \
2927
pulseaudio

.devcontainer/wasm-multiThreaded/Dockerfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
2424
liblttng-ust-dev \
2525
libssl-dev \
2626
libkrb5-dev \
27-
zlib1g-dev \
2827
ninja-build
2928

3029
SHELL ["/bin/bash", "-c"]

.devcontainer/wasm/Dockerfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
2323
liblttng-ust-dev \
2424
libssl-dev \
2525
libkrb5-dev \
26-
zlib1g-dev \
2726
ninja-build
2827

2928
SHELL ["/bin/bash", "-c"]

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@
6868
# this only affects the repo's language statistics
6969
*.h linguist-language=C
7070

71+
# don't treat files in 'build' directories as generated
72+
**/build/** linguist-generated=false
73+
7174
# CLR specific
7275
src/coreclr/pal/tests/palsuite/paltestlist.txt text eol=lf
7376
src/coreclr/pal/tests/palsuite/paltestlist_to_be_reviewed.txt text eol=lf

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,4 @@
112112
/docs/area-owners.* @jeffhandley
113113
/docs/issue*.md @jeffhandley
114114
/.github/policies/ @jeffhandley @mkArtakMSFT
115+
/.github/workflows/ @jeffhandley @dotnet/runtime-infrastructure

.github/workflows/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Workflows
2+
3+
General guidance:
4+
5+
Please make sure to include the @dotnet/runtime-infrastructure group as a reviewer of your PRs.
6+
7+
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.
8+
9+
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.
10+
11+
```yaml
12+
jobs:
13+
job-1:
14+
# Do not run this job in forks
15+
if: github.repository == 'dotnet/runtime'
16+
17+
job-2:
18+
# Do not run this job in forks outside the dotnet org
19+
if: github.repository_owner == 'dotnet'
20+
```
21+
22+
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.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: check-no-merge-label
2+
3+
permissions:
4+
pull-requests: read
5+
6+
on:
7+
pull_request_target:
8+
types: [labeled, unlabeled]
9+
branches:
10+
- 'main'
11+
- 'release/**'
12+
13+
jobs:
14+
check-labels:
15+
if: github.repository == 'dotnet/runtime'
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Check 'NO-MERGE' label
19+
run: |
20+
echo "Merging permission is disabled when the 'NO-MERGE' label is applied."
21+
if [ "${{ contains(github.event.pull_request.labels.*.name, 'NO-MERGE') }}" = "false" ]; then
22+
exit 0
23+
else
24+
echo "::error:: The 'NO-MERGE' label was applied to the PR. Merging is disabled."
25+
exit 1
26+
fi

.github/workflows/check-service-labels.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,19 @@ permissions:
44
pull-requests: read
55

66
on:
7-
pull_request:
8-
types: [opened, edited, reopened, labeled, unlabeled, synchronize]
7+
pull_request_target:
8+
types: [labeled, unlabeled]
99
branches:
1010
- 'release/**'
1111

1212
jobs:
1313
check-labels:
14+
if: github.repository == 'dotnet/runtime'
1415
runs-on: ubuntu-latest
1516
steps:
1617
- name: Check 'Servicing-approved' label
1718
run: |
18-
echo "Merging permission is enabled for servicing PRs when the `Servicing-approved` label is applied."
19+
echo "Merging permission is enabled for servicing PRs when the 'Servicing-approved' label is applied."
1920
if [ "${{ contains(github.event.pull_request.labels.*.name, 'Servicing-approved') }}" = "true" ]; then
2021
exit 0
2122
else

Directory.Build.props

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,15 @@
5656
Minimum target OS versions, keep in sync with:
5757
- eng/native/configurecompiler.cmake
5858
- eng/native/build-commons.sh
59+
- eng/native/gen-buildsys.cmd
5960
- src/native/libs/build-native.sh
6061
- src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ObjectWriter/MachObjectWriter.cs
6162
- src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Unix.targets
6263
- src/mono/mono/tools/offsets-tool/offsets-tool.py
6364
- src/mono/msbuild/apple/build/AppleBuild.targets
6465
- src/installer/pkg/sfx/bundle/shared-framework-distribution-template-x64.xml
6566
- src/installer/pkg/sfx/bundle/shared-framework-distribution-template-arm64.xml
66-
- src/tasks/AotCompilerTask/MonoAOTCompiler.props
67+
- src/mono/msbuild/common/MonoAOTCompiler.props
6768
- src/tasks/AppleAppBuilder/Xcode.cs
6869
- src/tasks/MobileBuildTasks/Apple/AppleProject.cs
6970
- https://github.com/dotnet/sdk repo > src/Installer/redist-installer/targets/GeneratePKG.targets
@@ -190,11 +191,6 @@
190191
<WasmCommonTargetsPath>$([MSBuild]::NormalizeDirectory($(WasmProjectRoot), 'build'))</WasmCommonTargetsPath>
191192
</PropertyGroup>
192193

193-
<PropertyGroup Condition="'$(DotNetBuildRuntimeNativeAOTRuntimePack)' == 'true'">
194-
<BuildNativeAOTRuntimePack>true</BuildNativeAOTRuntimePack>
195-
<SkipLibrariesNativeRuntimePackages>true</SkipLibrariesNativeRuntimePackages>
196-
</PropertyGroup>
197-
198194
<PropertyGroup Condition="'$(DotNetBuildMonoCrossAOT)' == 'true'">
199195
<BuildMonoAOTCrossCompilerOnly>true</BuildMonoAOTCrossCompilerOnly>
200196
<MonoCrossAOTTargetOS>android+browser+wasi</MonoCrossAOTTargetOS>
@@ -231,7 +227,7 @@
231227
<PropertyGroup Label="CalculatePackageRID">
232228
<_packageOS>$(_portableOS)</_packageOS>
233229

234-
<_packageOS Condition="'$(CrossBuild)' == 'true' and '$(_portableOS)' != 'linux-musl' and '$(_portableOS)' != 'linux-bionic'">$(_hostOS)</_packageOS>
230+
<_packageOS Condition="'$(CrossBuild)' == 'true' and '$(_portableOS)' != 'linux-musl' and '$(_portableOS)' != 'linux-bionic' and '$(_portableOS)' != 'android'">$(_hostOS)</_packageOS>
235231

236232
<!-- source-build sets PackageOS to build with non-portable rid packages that were source-built previously. -->
237233
<PackageRID Condition="'$(PackageOS)' != ''">$(PackageOS)-$(TargetArchitecture)</PackageRID>
@@ -333,7 +329,7 @@
333329
<!-- Runtime doesn't support Arcade-driven target framework filtering. -->
334330
<NoTargetFrameworkFiltering>true</NoTargetFrameworkFiltering>
335331

336-
<NativeBuildPartitionPropertiesToRemove>ClrFullNativeBuild;ClrRuntimeSubset;ClrJitSubset;ClrPalTestsSubset;ClrAllJitsSubset;ClrILToolsSubset;ClrNativeAotSubset;ClrSpmiSubset;ClrCrossComponentsSubset;ClrDebugSubset;HostArchitecture;PgoInstrument;NativeOptimizationDataSupported;CMakeArgs;CxxStandardLibrary;CxxStandardLibraryStatic;CxxAbiLibrary</NativeBuildPartitionPropertiesToRemove>
332+
<NativeBuildPartitionPropertiesToRemove>ClrFullNativeBuild;ClrRuntimeSubset;ClrJitSubset;ClrPalTestsSubset;ClrAllJitsSubset;ClrAllJitsCommunitySubset;ClrILToolsSubset;ClrNativeAotSubset;ClrSpmiSubset;ClrCrossComponentsSubset;ClrDebugSubset;HostArchitecture;PgoInstrument;NativeOptimizationDataSupported;CMakeArgs;CxxStandardLibrary;CxxStandardLibraryStatic;CxxAbiLibrary</NativeBuildPartitionPropertiesToRemove>
337333
<UseSystemZlib Condition="'$(TargetsAppleMobile)' == 'true' or '$(TargetOS)' == 'android' or '$(TargetArchitecture)' == 'armv6'">true</UseSystemZlib>
338334
</PropertyGroup>
339335

Directory.Build.targets

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@
5454
<SupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v$(NETCoreAppMaximumVersion)" DisplayName=".NET $(NETCoreAppMaximumVersion)" Alias="net$(NETCoreAppMaximumVersion)" />
5555
</ItemGroup>
5656

57+
<PropertyGroup>
58+
<!-- Define properties that depend on the host SDK RID here. -->
59+
<BuildHostTools Condition="'$(DotNetBuildOrchestrator)' == 'true' and '$(OutputRID)' != '$(NETCoreSdkRuntimeIdentifier)'">true</BuildHostTools>
60+
<BuildHostILTools Condition="'$(BuildHostTools)' == 'true' and $([MSBuild]::IsOsPlatform(Windows))">true</BuildHostILTools>
61+
</PropertyGroup>
62+
5763
<!-- The Default behavior in VS is to show files for the first target framework in TargetFrameworks property.
5864
This is required to show all the files corresponding to all target frameworks in VS. -->
5965
<ItemGroup Condition="'$(DefaultLanguageSourceExtension)' != '' and

THIRD-PARTY-NOTICES.TXT

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -34,37 +34,36 @@ License notice for Unicode data
3434

3535
https://www.unicode.org/license.html
3636

37-
Copyright © 1991-2022 Unicode, Inc. All rights reserved.
37+
Copyright © 1991-2024 Unicode, Inc. All rights reserved.
3838
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
3939

40-
Permission is hereby granted, free of charge, to any person obtaining
41-
a copy of the Unicode data files and any associated documentation
42-
(the "Data Files") or Unicode software and any associated documentation
43-
(the "Software") to deal in the Data Files or Software
44-
without restriction, including without limitation the rights to use,
45-
copy, modify, merge, publish, distribute, and/or sell copies of
46-
the Data Files or Software, and to permit persons to whom the Data Files
47-
or Software are furnished to do so, provided that either
48-
(a) this copyright and permission notice appear with all copies
49-
of the Data Files or Software, or
50-
(b) this copyright and permission notice appear in associated
51-
Documentation.
52-
53-
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
54-
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
55-
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
56-
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
57-
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
58-
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
59-
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
60-
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
61-
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
62-
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
63-
64-
Except as contained in this notice, the name of a copyright holder
65-
shall not be used in advertising or otherwise to promote the sale,
66-
use or other dealings in these Data Files or Software without prior
67-
written authorization of the copyright holder.
40+
Permission is hereby granted, free of charge, to any person obtaining a
41+
copy of data files and any associated documentation (the "Data Files") or
42+
software and any associated documentation (the "Software") to deal in the
43+
Data Files or Software without restriction, including without limitation
44+
the rights to use, copy, modify, merge, publish, distribute, and/or sell
45+
copies of the Data Files or Software, and to permit persons to whom the
46+
Data Files or Software are furnished to do so, provided that either (a)
47+
this copyright and permission notice appear with all copies of the Data
48+
Files or Software, or (b) this copyright and permission notice appear in
49+
associated Documentation.
50+
51+
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
52+
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
53+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
54+
THIRD PARTY RIGHTS.
55+
56+
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
57+
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
58+
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
59+
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
60+
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
61+
FILES OR SOFTWARE.
62+
63+
Except as contained in this notice, the name of a copyright holder shall
64+
not be used in advertising or otherwise to promote the sale, use or other
65+
dealings in these Data Files or Software without prior written
66+
authorization of the copyright holder.
6867

6968
License notice for zlib-ng
7069
-----------------------

docs/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,11 @@ Coding Guidelines
6161
Project Docs
6262
=================
6363

64-
To be added. Visit the [project docs folder](project/) directly meanwhile.
64+
- [Breaking change process](./project/breaking-change-process.md)
65+
- [Copyright](./project/copyright.md)
66+
- [Linux build methodology](./project/linux-build-methodology.md)
67+
- [Onboarding Guide for New Operating System Versions](./project/os-onboarding.md)
68+
- [Project docs folder](./project/)
6569

6670
Other Information
6771
=================

0 commit comments

Comments
 (0)