Skip to content

Commit 2114dbd

Browse files
authored
Merge branch 'main' into trim_timezones
2 parents a850504 + ca81e9c commit 2114dbd

File tree

253 files changed

+9133
-2037
lines changed

Some content is hidden

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

253 files changed

+9133
-2037
lines changed

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"isRoot": true,
44
"tools": {
55
"microsoft.dotnet.darc": {
6-
"version": "1.1.0-beta.25056.6",
6+
"version": "1.1.0-beta.25064.2",
77
"commands": [
88
"darc"
99
]

Directory.Build.targets

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<Project>
44
<PropertyGroup>
55
<!--
6-
Disable nullable warnings when targeting anything other than our supported .NET core version(s).
6+
Disable nullable warnings when targeting anything other than our supported .NET core version(s).
77
This condition will be evaluated multiple times in multi-targeted projects hence need to be careful
88
to only set in the inner builds, not the outer build where only $(TargetFrameworks) is defined.
99
We still check $(TargetFrameworks) for empty though, because for single-targeted builds we want to
@@ -67,6 +67,10 @@
6767
Update="Microsoft.NETCore.App"
6868
TargetingPackVersion="$(MicrosoftNETCoreAppRefPackageVersion)"
6969
RuntimeFrameworkVersion="$(MicrosoftNETCoreAppRuntimePackageVersion)" />
70+
<KnownILCompilerPack Update="Microsoft.DotNet.ILCompiler"
71+
ILCompilerPackVersion="$(MicrosoftNETCoreAppRuntimePackageVersion)" />
72+
<KnownCrossgen2Pack Update="Microsoft.NETCore.App.Crossgen2"
73+
Crossgen2PackVersion="$(MicrosoftNETCoreAppRuntimePackageVersion)" />
7074
</ItemGroup>
7175

7276
<ItemGroup Condition="$(MicrosoftAspNetCoreAppRefPackageVersion.StartsWith('$(_TargetFrameworkVersionWithoutV)'))">

Directory.Packages.props

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@
6363
<PackageVersion Include="Microsoft.TemplateEngine.Orchestrator.RunnableProjects" Version="$(MicrosoftTemplateEngineOrchestratorRunnableProjectsPackageVersion)" />
6464
<PackageVersion Include="Microsoft.TemplateEngine.TestHelper" Version="$(MicrosoftTemplateEngineTestHelperPackageVersion)" />
6565
<PackageVersion Include="Microsoft.TemplateSearch.Common" Version="$(MicrosoftTemplateSearchCommonPackageVersion)" />
66-
<PackageVersion Include="Microsoft.Testing.Platform" Version="$(MicrosoftTestingPlatformVersion)" />
67-
<PackageVersion Include="Microsoft.Testing.Extensions.TrxReport" Version="$(MicrosoftTestingPlatformVersion)" />
6866
<PackageVersion Include="Microsoft.TestPlatform.Build" Version="$(MicrosoftTestPlatformBuildPackageVersion)" />
6967
<PackageVersion Include="Microsoft.TestPlatform.CLI" Version="$(MicrosoftTestPlatformCLIPackageVersion)" />
7068
<PackageVersion Include="Microsoft.VisualStudio.Composition" Version="17.4.16" />

eng/Version.Details.xml

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

eng/Versions.props

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

eng/common/tools.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ function GetDotNetInstallScript([string] $dotnetRoot) {
262262
if (!(Test-Path $installScript)) {
263263
Create-Directory $dotnetRoot
264264
$ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit
265-
$uri = "https://dotnet.microsoft.com/download/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1"
265+
$uri = "https://raw.githubusercontent.com/dotnet/install-scripts/4b17227b30fbbad567d4d4fba17c59da51bc817b/src/dotnet-install.ps1"
266266

267267
Retry({
268268
Write-Host "GET $uri"

eng/common/tools.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ function with_retries {
295295
function GetDotNetInstallScript {
296296
local root=$1
297297
local install_script="$root/dotnet-install.sh"
298-
local install_script_url="https://dotnet.microsoft.com/download/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh"
298+
local install_script_url="https://raw.githubusercontent.com/dotnet/install-scripts/4b17227b30fbbad567d4d4fba17c59da51bc817b/src/dotnet-install.sh"
299299

300300
if [[ ! -a "$install_script" ]]; then
301301
mkdir -p "$root"

eng/pipelines/templates/jobs/vmr-build.yml

Lines changed: 89 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -161,13 +161,6 @@ jobs:
161161
- name: runTestsTimeout
162162
value: 30
163163

164-
- ${{ if or(eq(parameters.useDevVersions, 'True'), eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
165-
- name: _SignType
166-
value: ''
167-
- ${{ else }}:
168-
- name: _SignType
169-
value: real
170-
171164
- ${{ if parameters.isBuiltFromVmr }}:
172165
- name: vmrPath
173166
value: $(Build.SourcesDirectory)
@@ -187,12 +180,66 @@ jobs:
187180
- name: artifactsStagingDir
188181
value: $(Build.ArtifactStagingDirectory)/artifacts
189182

183+
- name: successfulJobArtifactName
184+
value: $(Agent.JobName)_Artifacts
185+
186+
- name: failedJobArtifactName
187+
value: $(successfulJobArtifactName)_Attempt$(System.JobAttempt)
188+
190189
# manually disable CodeQL until https://dev.azure.com/mseng/1ES/_workitems/edit/2211548 is implemented
191190
# CodeQL doesn't work on arm64 macOS, see https://portal.microsofticm.com/imp/v5/incidents/details/532165079/summary
192191
- ${{ if eq(parameters.pool.os, 'macOS') }}:
193192
- name: ONEES_ENFORCED_CODEQL_ENABLED
194193
value: false
195194

195+
# Build up the command line variables. We avoid doing this in the script sections below
196+
# because AzDO will not echo command lines if they are more than a single line.
197+
198+
## Build command line - Windows
199+
- ${{ if eq(parameters.targetOS, 'windows') }}:
200+
## Basic arguments
201+
- name: baseArguments
202+
value: -ci -cleanWhileBuilding -prepareMachine /p:VerticalName=$(Agent.JobName) /p:ArtifactsStagingDir=$(artifactsStagingDir)
203+
204+
- name: configArguments
205+
value: -c ${{ parameters.configuration }}
206+
207+
- name: targetArguments
208+
value: /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }}
209+
210+
### Dev versions variables
211+
- ${{ if eq(parameters.useDevVersions, 'True') }}:
212+
- name: devArguments
213+
value: -dev
214+
- ${{ else }}:
215+
- name: devArguments
216+
value: ''
217+
218+
### Signing variables
219+
- ${{ if eq(parameters.sign, 'True') }}:
220+
- ${{ if or(eq(parameters.useDevVersions, 'True'), eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
221+
# The _SignType variable is used by microbuild installation
222+
- name: _SignType
223+
value: ''
224+
- name: signArguments
225+
value: -sign /p:ForceDryRunSigning=true
226+
- ${{ else }}:
227+
- name: _SignType
228+
value: real
229+
- name: signArguments
230+
value: -sign /p:DotNetSignType=real /p:TeamName=$(_TeamName)
231+
- ${{ else }}:
232+
- name: signArguments
233+
value: ''
234+
235+
### Build Pass
236+
- ${{ if ne(parameters.buildPass, '') }}:
237+
- name: buildPassArguments
238+
value: /p:DotNetBuildPass=${{ parameters.buildPass }}
239+
- ${{ else }}:
240+
- name: buildPassArguments
241+
value: ''
242+
196243
templateContext:
197244
outputParentDirectory: $(Build.ArtifactStagingDirectory)
198245
outputs:
@@ -203,11 +250,21 @@ jobs:
203250
artifactName: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
204251
sbomEnabled: false
205252

253+
# Both publishing steps are necessary to ensure artifacts are published on both success and failure.
254+
# This prevents overwrite conflicts in the event of a failed build followed by a rerun.
255+
# Additionally, the 'Download Previous Build *' steps depend on a fixed name to acquire specific assets in multi-stage builds.
206256
- output: pipelineArtifact
207257
path: $(artifactsStagingDir)
208-
artifact: $(Agent.JobName)_Artifacts
209-
displayName: Publish Artifacts
210-
condition: succeededOrFailed()
258+
artifact: $(successfulJobArtifactName)
259+
displayName: Publish Artifacts (On Success)
260+
condition: succeeded()
261+
sbomEnabled: true
262+
263+
- output: pipelineArtifact
264+
path: $(artifactsStagingDir)
265+
artifact: $(failedJobArtifactName)
266+
displayName: Publish Artifacts (On Failure)
267+
condition: failed()
211268
sbomEnabled: true
212269

213270
# Using build artifacts to enable publishing the vertical manifests to a single artifact from different jobs
@@ -307,7 +364,7 @@ jobs:
307364
parameters:
308365
enableMicrobuild: true
309366
enableMicrobuildForMacAndLinux: true
310-
367+
311368
- ${{ if eq(parameters.targetOS, 'windows') }}:
312369
# Node 20.x is a toolset dependency to build aspnetcore
313370
# Keep in sync with aspnetcore: https://github.com/dotnet/aspnetcore/blob/7d5309210d8f7bae8fa074da495e9d009d67f1b4/.azure/pipelines/ci.yml#L719-L722
@@ -316,18 +373,14 @@ jobs:
316373
inputs:
317374
versionSpec: 20.x
318375

319-
- script: |
320-
set extraBuildArguments=
321-
322-
set signArgs=/p:ForceDryRunSigning=true
323-
if /I '$(_SignType)'=='real' set signArgs=/p:DotNetSignType=real /p:TeamName=$(_TeamName)
324-
if /I '$(_SignType)'=='test' set signArgs=/p:DotNetSignType=test /p:TeamName=$(_TeamName)
325-
if /I '${{ parameters.sign }}'=='True' if /I NOT '${{ parameters.buildSourceOnly }}'=='True' set extraBuildArguments=%extraBuildArguments% -sign %signArgs%
326-
327-
if /I '${{ parameters.useDevVersions }}'=='True' set extraBuildArguments=%extraBuildArguments% -dev
328-
set extraBuildProperties=
329-
if not [${{ parameters.buildPass }}]==[] set extraBuildProperties=%extraBuildProperties% /p:DotNetBuildPass=${{ parameters.buildPass }}
330-
call build.cmd -ci -cleanWhileBuilding -prepareMachine %extraBuildArguments% -c ${{ parameters.configuration }} /p:TargetOS=${{ parameters.targetOS }} /p:TargetArchitecture=${{ parameters.targetArchitecture }} /p:VerticalName=$(Agent.JobName) /p:ArtifactsStagingDir=$(artifactsStagingDir) %extraBuildProperties% ${{ parameters.extraProperties }}
376+
- script: build.cmd
377+
$(baseArguments)
378+
$(configArguments)
379+
$(targetArguments)
380+
$(devArguments)
381+
$(signArguments)
382+
$(buildPassArguments)
383+
${{ parameters.extraProperties }}
331384
displayName: Build
332385
workingDirectory: ${{ variables.sourcesPath }}
333386

@@ -355,7 +408,7 @@ jobs:
355408
fi
356409
357410
if [[ '${{ parameters.withPreviousSDK }}' == 'True' ]]; then
358-
# Source-built artifacts are from CentOS 9 Stream or Alpine 3.19. We want to download them without
411+
# Source-built artifacts are from CentOS 9 Stream. We want to download them without
359412
# downloading portable versions from the internet.
360413
customPrepArgs="${customPrepArgs} --no-sdk --no-bootstrap"
361414
prepSdk=false
@@ -602,10 +655,19 @@ jobs:
602655
testRunTitle: ScenarioTests_$(Agent.JobName)
603656

604657
- ${{ if or(ne(variables['System.TeamProject'], 'internal'), eq(variables['Build.Reason'], 'PullRequest')) }}:
658+
# Both publishing steps are necessary to ensure artifacts are published on both success and failure.
659+
# This prevents overwrite conflicts in the event of a failed build followed by a rerun.
660+
# Additionally, the 'Download Previous Build *' steps depend on a fixed name to acquire specific assets in multi-stage builds.
605661
- publish: $(artifactsStagingDir)
606-
artifact: $(Agent.JobName)_Artifacts
607-
displayName: Publish Artifacts
608-
condition: succeededOrFailed()
662+
artifact: $(successfulJobArtifactName)
663+
displayName: Publish Artifacts (On Success)
664+
condition: succeeded()
665+
continueOnError: true
666+
667+
- publish: $(artifactsStagingDir)
668+
artifact: $(failedJobArtifactName)
669+
displayName: Publish Artifacts (On Failure)
670+
condition: failed()
609671
continueOnError: true
610672

611673
# Using build artifacts to enable publishing the vertical manifests to a single artifact from different jobs

0 commit comments

Comments
 (0)