Skip to content

Commit 3655a7b

Browse files
Merge branch 'main' of https://github.com/dotnet/runtime into cdsa-new-api
2 parents f600db4 + f23d779 commit 3655a7b

File tree

423 files changed

+5050
-2846
lines changed

Some content is hidden

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

423 files changed

+5050
-2846
lines changed

eng/SignCheckExclusionsFile.txt

Lines changed: 0 additions & 15 deletions
This file was deleted.

eng/Version.Details.props

Lines changed: 237 additions & 1 deletion
Large diffs are not rendered by default.

eng/Version.Details.xml

Lines changed: 83 additions & 83 deletions
Large diffs are not rendered by default.

eng/Versions.props

Lines changed: 1 addition & 112 deletions
Large diffs are not rendered by default.

eng/common/core-templates/job/job.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ parameters:
2020
artifacts: ''
2121
enableMicrobuild: false
2222
enableMicrobuildForMacAndLinux: false
23+
microbuildUseESRP: true
2324
enablePublishBuildArtifacts: false
2425
enablePublishBuildAssets: false
2526
enablePublishTestResults: false
@@ -128,6 +129,7 @@ jobs:
128129
parameters:
129130
enableMicrobuild: ${{ parameters.enableMicrobuild }}
130131
enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }}
132+
microbuildUseESRP: ${{ parameters.microbuildUseESRP }}
131133
continueOnError: ${{ parameters.continueOnError }}
132134

133135
- ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}:

eng/common/core-templates/jobs/jobs.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ jobs:
8383
- template: /eng/common/core-templates/jobs/source-build.yml
8484
parameters:
8585
is1ESPipeline: ${{ parameters.is1ESPipeline }}
86-
allCompletedJobId: Source_Build_Complete
8786
${{ each parameter in parameters.sourceBuildParameters }}:
8887
${{ parameter.key }}: ${{ parameter.value }}
8988

@@ -108,8 +107,6 @@ jobs:
108107
- ${{ if eq(parameters.publishBuildAssetsDependsOn, '') }}:
109108
- ${{ each job in parameters.jobs }}:
110109
- ${{ job.job }}
111-
- ${{ if eq(parameters.enableSourceBuild, true) }}:
112-
- Source_Build_Complete
113110

114111
runAsPublic: ${{ parameters.runAsPublic }}
115112
publishAssetsImmediately: ${{ or(parameters.publishAssetsImmediately, parameters.isAssetlessBuild) }}

eng/common/core-templates/jobs/source-build.yml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,6 @@ parameters:
22
# This template adds arcade-powered source-build to CI. A job is created for each platform, as
33
# well as an optional server job that completes when all platform jobs complete.
44

5-
# The name of the "join" job for all source-build platforms. If set to empty string, the job is
6-
# not included. Existing repo pipelines can use this job depend on all source-build jobs
7-
# completing without maintaining a separate list of every single job ID: just depend on this one
8-
# server job. By default, not included. Recommended name if used: 'Source_Build_Complete'.
9-
allCompletedJobId: ''
10-
115
# See /eng/common/core-templates/job/source-build.yml
126
jobNamePrefix: 'Source_Build'
137

@@ -31,16 +25,6 @@ parameters:
3125

3226
jobs:
3327

34-
- ${{ if ne(parameters.allCompletedJobId, '') }}:
35-
- job: ${{ parameters.allCompletedJobId }}
36-
displayName: Source-Build Complete
37-
pool: server
38-
dependsOn:
39-
- ${{ each platform in parameters.platforms }}:
40-
- ${{ parameters.jobNamePrefix }}_${{ platform.name }}
41-
- ${{ if eq(length(parameters.platforms), 0) }}:
42-
- ${{ parameters.jobNamePrefix }}_${{ parameters.defaultManagedPlatform.name }}
43-
4428
- ${{ each platform in parameters.platforms }}:
4529
- template: /eng/common/core-templates/job/source-build.yml
4630
parameters:

eng/common/core-templates/steps/install-microbuild.yml

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,16 @@ parameters:
44
# Enable install tasks for MicroBuild on Mac and Linux
55
# Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT'
66
enableMicrobuildForMacAndLinux: false
7+
# Determines whether the ESRP service connection information should be passed to the signing plugin.
8+
# This overlaps with _SignType to some degree. We only need the service connection for real signing.
9+
# It's important that the service connection not be passed to the MicroBuildSigningPlugin task in this place.
10+
# Doing so will cause the service connection to be authorized for the pipeline, which isn't allowed and won't work for non-prod.
11+
# Unfortunately, _SignType can't be used to exclude the use of the service connection in non-real sign scenarios. The
12+
# variable is not available in template expression. _SignType has a very large proliferation across .NET, so replacing it is tough.
13+
microbuildUseESRP: true
714
# Location of the MicroBuild output folder
815
microBuildOutputFolder: '$(Build.SourcesDirectory)'
16+
917
continueOnError: false
1018

1119
steps:
@@ -21,19 +29,37 @@ steps:
2129
workingDirectory: ${{ parameters.microBuildOutputFolder }}
2230
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
2331

32+
- script: |
33+
REM Check if ESRP is disabled while SignType is real
34+
if /I "${{ parameters.microbuildUseESRP }}"=="false" if /I "$(_SignType)"=="real" (
35+
echo Error: ESRP must be enabled when SignType is real.
36+
exit /b 1
37+
)
38+
displayName: 'Validate ESRP usage (Windows)'
39+
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
40+
- script: |
41+
# Check if ESRP is disabled while SignType is real
42+
if [ "${{ parameters.microbuildUseESRP }}" = "false" ] && [ "$(_SignType)" = "real" ]; then
43+
echo "Error: ESRP must be enabled when SignType is real."
44+
exit 1
45+
fi
46+
displayName: 'Validate ESRP usage (Non-Windows)'
47+
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
48+
2449
- task: MicroBuildSigningPlugin@4
2550
displayName: Install MicroBuild plugin
2651
inputs:
2752
signType: $(_SignType)
2853
zipSources: false
2954
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
30-
${{ if and(eq(parameters.enableMicrobuildForMacAndLinux, 'true'), ne(variables['Agent.Os'], 'Windows_NT')) }}:
31-
azureSubscription: 'MicroBuild Signing Task (DevDiv)'
32-
useEsrpCli: true
33-
${{ elseif eq(variables['System.TeamProject'], 'DevDiv') }}:
34-
ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
35-
${{ else }}:
36-
ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
55+
${{ if eq(parameters.microbuildUseESRP, true) }}:
56+
${{ if eq(parameters.enableMicrobuildForMacAndLinux, 'true') }}:
57+
azureSubscription: 'MicroBuild Signing Task (DevDiv)'
58+
useEsrpCli: true
59+
${{ elseif eq(variables['System.TeamProject'], 'DevDiv') }}:
60+
ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
61+
${{ else }}:
62+
ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
3763
env:
3864
TeamName: $(_TeamName)
3965
MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}

eng/common/tools.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
414414

415415
# Locate Visual Studio installation or download x-copy msbuild.
416416
$vsInfo = LocateVisualStudio $vsRequirements
417-
if ($vsInfo -ne $null) {
417+
if ($vsInfo -ne $null -and $env:ForceUseXCopyMSBuild -eq $null) {
418418
# Ensure vsInstallDir has a trailing slash
419419
$vsInstallDir = Join-Path $vsInfo.installationPath "\"
420420
$vsMajorVersion = $vsInfo.installationVersion.Split('.')[0]

eng/pipelines/runtime-llvm.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ extends:
162162
nameSuffix: AllSubsets_Mono_LLVMFULLAOT_RuntimeTests
163163
runtimeVariant: llvmfullaot
164164
buildArgs: -s mono+libs+clr.hosts+clr.iltools -c $(_BuildConfig) /p:MonoEnableLLVM=true
165-
timeoutInMinutes: 400
165+
timeoutInMinutes: 480
166166
condition: >-
167167
or(
168168
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
@@ -177,9 +177,9 @@ extends:
177177
testRunNamePrefixSuffix: Mono_Release
178178
testBuildArgs: >-
179179
-tree:CoreMangLib -tree:Exceptions -tree:GC -tree:Interop -tree:Loader -tree:Regressions -tree:baseservices
180-
-tree:ilasm -tree:ilverify -tree:managed -tree:profiler -tree:readytorun -tree:reflection -tree:tracing
180+
-tree:ilverify -tree:managed -tree:profiler -tree:reflection -tree:tracing
181181
-tree:JIT/BBT -tree:JIT/CodeGenBringUpTests -tree:JIT/Directed -tree:JIT/Generics -tree:JIT/IL_Conformance
182-
-tree:JIT/Math -tree:JIT/Methodical -tree:JIT/PGO -tree:JIT/Performance -tree:JIT/Regression -tree:JIT/RyuJIT
182+
-tree:JIT/Math -tree:JIT/Methodical -tree:JIT/Performance -tree:JIT/Regression -tree:JIT/RyuJIT
183183
-tree:JIT/Stress -tree:JIT/common -tree:JIT/jit64 -tree:JIT/opt -tree:JIT/superpmi
184184
extraVariablesTemplates:
185185
- template: /eng/pipelines/common/templates/runtimes/test-variables.yml
@@ -209,7 +209,7 @@ extends:
209209
nameSuffix: AllSubsets_Mono_LLVMFULLAOT_RuntimeIntrinsicsTests
210210
runtimeVariant: llvmfullaot
211211
buildArgs: -s mono+libs+clr.hosts+clr.iltools -c $(_BuildConfig) /p:MonoEnableLLVM=true
212-
timeoutInMinutes: 400
212+
timeoutInMinutes: 480
213213
condition: >-
214214
or(
215215
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),

0 commit comments

Comments
 (0)