diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 146f4829d1b51..f9328412b2062 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -124,87 +124,87 @@ - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac https://github.com/dotnet/runtime-assets @@ -364,9 +364,9 @@ https://github.com/dotnet/xharness 36310c81aed0452963ebf26866fc9f1b95d72dbb - + https://github.com/dotnet/arcade - d4a7b37f268cb5fe89f4472ef5341629cd040dfe + 39839f3007d9f3bbabf7a4b6a96ef5dd6be9e5ac https://dev.azure.com/dnceng/internal/_git/dotnet-optimization diff --git a/eng/Versions.props b/eng/Versions.props index 724591da0f289..058d37ece33d1 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -83,22 +83,22 @@ 9.0.100-preview.3.24161.5 - 9.0.0-beta.24151.1 - 9.0.0-beta.24151.1 - 9.0.0-beta.24151.1 - 9.0.0-beta.24151.1 - 2.6.7-beta.24151.1 - 9.0.0-beta.24151.1 - 2.6.7-beta.24151.1 - 9.0.0-beta.24151.1 - 9.0.0-beta.24151.1 - 9.0.0-beta.24151.1 - 9.0.0-beta.24151.1 - 9.0.0-beta.24151.1 - 9.0.0-beta.24151.1 - 9.0.0-beta.24151.1 - 9.0.0-beta.24151.1 - 9.0.0-beta.24151.1 + 9.0.0-beta.24161.5 + 9.0.0-beta.24161.5 + 9.0.0-beta.24161.5 + 9.0.0-beta.24161.5 + 2.6.7-beta.24161.5 + 9.0.0-beta.24161.5 + 2.6.7-beta.24161.5 + 9.0.0-beta.24161.5 + 9.0.0-beta.24161.5 + 9.0.0-beta.24161.5 + 9.0.0-beta.24161.5 + 9.0.0-beta.24161.5 + 9.0.0-beta.24161.5 + 9.0.0-beta.24161.5 + 9.0.0-beta.24161.5 + 9.0.0-beta.24161.5 1.4.0 diff --git a/eng/common/SetupNugetSources.ps1 b/eng/common/SetupNugetSources.ps1 index 6c65e81925f2a..efa2fd72bfaa2 100644 --- a/eng/common/SetupNugetSources.ps1 +++ b/eng/common/SetupNugetSources.ps1 @@ -35,7 +35,7 @@ Set-StrictMode -Version 2.0 . $PSScriptRoot\tools.ps1 # Add source entry to PackageSources -function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $Password) { +function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) { $packageSource = $sources.SelectSingleNode("add[@key='$SourceName']") if ($packageSource -eq $null) @@ -48,12 +48,11 @@ function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Usern else { Write-Host "Package source $SourceName already present." } - - AddCredential -Creds $creds -Source $SourceName -Username $Username -Password $Password + AddCredential -Creds $creds -Source $SourceName -Username $Username -pwd $pwd } # Add a credential node for the specified source -function AddCredential($creds, $source, $username, $password) { +function AddCredential($creds, $source, $username, $pwd) { # Looks for credential configuration for the given SourceName. Create it if none is found. $sourceElement = $creds.SelectSingleNode($Source) if ($sourceElement -eq $null) @@ -82,17 +81,18 @@ function AddCredential($creds, $source, $username, $password) { $passwordElement.SetAttribute("key", "ClearTextPassword") $sourceElement.AppendChild($passwordElement) | Out-Null } - $passwordElement.SetAttribute("value", $Password) + + $passwordElement.SetAttribute("value", $pwd) } -function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $Password) { +function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $pwd) { $maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]") Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds." ForEach ($PackageSource in $maestroPrivateSources) { Write-Host "`tInserting credential for Maestro's feed:" $PackageSource.Key - AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -Password $Password + AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -pwd $pwd } } @@ -144,13 +144,13 @@ if ($disabledSources -ne $null) { $userName = "dn-bot" # Insert credential nodes for Maestro's private feeds -InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -Password $Password +InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -pwd $Password # 3.1 uses a different feed url format so it's handled differently here $dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']") if ($dotnet31Source -ne $null) { - AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password - AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password + AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password + AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password } $dotnetVersions = @('5','6','7','8') @@ -159,9 +159,9 @@ foreach ($dotnetVersion in $dotnetVersions) { $feedPrefix = "dotnet" + $dotnetVersion; $dotnetSource = $sources.SelectSingleNode("add[@key='$feedPrefix']") if ($dotnetSource -ne $null) { - AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password - AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password + AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password + AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password } } -$doc.Save($filename) +$doc.Save($filename) \ No newline at end of file diff --git a/eng/common/build.ps1 b/eng/common/build.ps1 index 510458eb35b84..83e6d82e027a8 100644 --- a/eng/common/build.ps1 +++ b/eng/common/build.ps1 @@ -125,7 +125,6 @@ function Build { /p:Test=$test ` /p:Pack=$pack ` /p:DotNetBuildRepo=$($productBuild -or $verticalBuild) ` - /p:ArcadeBuildVertical=$verticalBuild ` /p:IntegrationTest=$integrationTest ` /p:PerformanceTest=$performanceTest ` /p:Sign=$sign ` diff --git a/eng/common/build.sh b/eng/common/build.sh index bec7d02594f66..d82ebf7428080 100755 --- a/eng/common/build.sh +++ b/eng/common/build.sh @@ -241,7 +241,6 @@ function Build { /p:DotNetBuildRepo=$product_build \ /p:ArcadeBuildFromSource=$source_build \ /p:DotNetBuildSourceOnly=$source_build \ - /p:ArcadeBuildVertical=$vertical_build \ /p:Rebuild=$rebuild \ /p:Test=$test \ /p:Pack=$pack \ diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml index 352607308fd5d..dfc3c0cf07cea 100644 --- a/eng/common/templates-official/job/job.yml +++ b/eng/common/templates-official/job/job.yml @@ -15,6 +15,7 @@ parameters: timeoutInMinutes: '' variables: [] workspace: '' + templateContext: '' # Job base template specific parameters # See schema documentation - https://github.com/dotnet/arcade/blob/master/Documentation/AzureDevOps/TemplateSchema.md @@ -68,6 +69,9 @@ jobs: ${{ if ne(parameters.timeoutInMinutes, '') }}: timeoutInMinutes: ${{ parameters.timeoutInMinutes }} + ${{ if ne(parameters.templateContext, '') }}: + templateContext: ${{ parameters.templateContext }} + variables: - ${{ if ne(parameters.enableTelemetry, 'false') }}: - name: DOTNET_CLI_TELEMETRY_PROFILE @@ -202,9 +206,11 @@ jobs: continueOnError: true condition: always() - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}: - - publish: artifacts/log - artifact: ${{ coalesce(parameters.artifacts.publish.logs.name, 'Logs_Build_$(Agent.Os)_$(_BuildConfig)') }} - displayName: Publish logs + - task: 1ES.PublishPipelineArtifact@1 + inputs: + targetPath: 'artifacts/log' + artifactName: ${{ coalesce(parameters.artifacts.publish.logs.name, 'Logs_Build_$(Agent.Os)_$(_BuildConfig)') }} + displayName: 'Publish logs' continueOnError: true condition: always() @@ -249,7 +255,9 @@ jobs: IgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} - ${{ if eq(parameters.enableBuildRetry, 'true') }}: - - publish: $(Build.SourcesDirectory)\eng\common\BuildConfiguration - artifact: BuildConfiguration - displayName: Publish build retry configuration - continueOnError: true + - task: 1ES.PublishPipelineArtifact@1 + inputs: + targetPath: '$(Build.SourcesDirectory)\eng\common\BuildConfiguration' + artifactName: 'BuildConfiguration' + displayName: 'Publish build retry configuration' + continueOnError: true \ No newline at end of file diff --git a/eng/common/templates-official/job/publish-build-assets.yml b/eng/common/templates-official/job/publish-build-assets.yml index 432dc92ab27c9..5f54135569b29 100644 --- a/eng/common/templates-official/job/publish-build-assets.yml +++ b/eng/common/templates-official/job/publish-build-assets.yml @@ -55,7 +55,7 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-WINDOWS2022 + image: 1ESPT-Windows2022 demands: Cmd os: windows # If it's not devdiv, it's dnceng diff --git a/eng/common/templates-official/job/source-index-stage1.yml b/eng/common/templates-official/job/source-index-stage1.yml index 757af7c7c4f2d..53a9ef51fd82d 100644 --- a/eng/common/templates-official/job/source-index-stage1.yml +++ b/eng/common/templates-official/job/source-index-stage1.yml @@ -1,6 +1,6 @@ parameters: runAsPublic: false - sourceIndexPackageVersion: 1.0.1-20231213.4 + sourceIndexPackageVersion: 1.0.1-20240129.2 sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci" preSteps: [] diff --git a/eng/common/templates-official/steps/send-to-helix.yml b/eng/common/templates-official/steps/send-to-helix.yml index 3eb7e2d5f840c..68fa739c4ab21 100644 --- a/eng/common/templates-official/steps/send-to-helix.yml +++ b/eng/common/templates-official/steps/send-to-helix.yml @@ -5,6 +5,8 @@ parameters: HelixBuild: $(Build.BuildNumber) # required -- the build number Helix will use to identify this -- automatically set to the AzDO build number HelixTargetQueues: '' # required -- semicolon-delimited list of Helix queues to test on; see https://helix.dot.net/ for a list of queues HelixAccessToken: '' # required -- access token to make Helix API requests; should be provided by the appropriate variable group + HelixProjectPath: 'eng/common/helixpublish.proj' # optional -- path to the project file to build relative to BUILD_SOURCESDIRECTORY + HelixProjectArguments: '' # optional -- arguments passed to the build command HelixConfiguration: '' # optional -- additional property attached to a job HelixPreCommands: '' # optional -- commands to run before Helix work item execution HelixPostCommands: '' # optional -- commands to run after Helix work item execution @@ -29,7 +31,7 @@ parameters: continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false steps: - - powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY\eng\common\helixpublish.proj /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"' + - powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY/${{ parameters.HelixProjectPath }} /restore /p:TreatWarningsAsErrors=false ${{ parameters.HelixProjectArguments }} /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"' displayName: ${{ parameters.DisplayNamePrefix }} (Windows) env: BuildConfig: $(_BuildConfig) @@ -59,7 +61,7 @@ steps: SYSTEM_ACCESSTOKEN: $(System.AccessToken) condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT')) continueOnError: ${{ parameters.continueOnError }} - - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog + - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/${{ parameters.HelixProjectPath }} /restore /p:TreatWarningsAsErrors=false ${{ parameters.HelixProjectArguments }} /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog displayName: ${{ parameters.DisplayNamePrefix }} (Unix) env: BuildConfig: $(_BuildConfig) diff --git a/eng/common/templates-official/steps/source-build.yml b/eng/common/templates-official/steps/source-build.yml index b1db70842f514..53ed57b6d48ab 100644 --- a/eng/common/templates-official/steps/source-build.yml +++ b/eng/common/templates-official/steps/source-build.yml @@ -94,6 +94,8 @@ steps: $baseOsArgs \ /p:SourceBuildNonPortable=${{ parameters.platform.nonPortable }} \ /p:ArcadeBuildFromSource=true \ + /p:DotNetBuildSourceOnly=true \ + /p:DotNetBuildRepo=true \ /p:AssetManifestFileName=$assetManifestFileName displayName: Build diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml index 01c0dd995e4b6..a3277bf15c51f 100644 --- a/eng/common/templates/job/job.yml +++ b/eng/common/templates/job/job.yml @@ -15,6 +15,7 @@ parameters: timeoutInMinutes: '' variables: [] workspace: '' + templateContext: '' # Job base template specific parameters # See schema documentation - https://github.com/dotnet/arcade/blob/master/Documentation/AzureDevOps/TemplateSchema.md @@ -68,6 +69,9 @@ jobs: ${{ if ne(parameters.timeoutInMinutes, '') }}: timeoutInMinutes: ${{ parameters.timeoutInMinutes }} + ${{ if ne(parameters.templateContext, '') }}: + templateContext: ${{ parameters.templateContext }} + variables: - ${{ if ne(parameters.enableTelemetry, 'false') }}: - name: DOTNET_CLI_TELEMETRY_PROFILE diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 9bf873e3c258b..a58aef2847e1c 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -856,7 +856,7 @@ function MSBuild-Core() { # When running on Azure Pipelines, override the returned exit code to avoid double logging. # Skip this when the build is a child of the VMR orchestrator build. - if ($ci -and $env:SYSTEM_TEAMPROJECT -ne $null -and !$productBuild -and $properties -notlike "*DotNetBuildRepo=true*") { + if ($ci -and $env:SYSTEM_TEAMPROJECT -ne $null -and !$productBuild -and -not($properties -like "*DotNetBuildRepo=true*")) { Write-PipelineSetResult -Result "Failed" -Message "msbuild execution failed." # Exiting with an exit code causes the azure pipelines task to log yet another "noise" error # The above Write-PipelineSetResult will cause the task to be marked as failure without adding yet another error diff --git a/global.json b/global.json index cee048335e233..cd39f3cc389a3 100644 --- a/global.json +++ b/global.json @@ -8,9 +8,9 @@ "dotnet": "9.0.100-preview.1.24101.2" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24151.1", - "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.24151.1", - "Microsoft.DotNet.SharedFramework.Sdk": "9.0.0-beta.24151.1", + "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24161.5", + "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.24161.5", + "Microsoft.DotNet.SharedFramework.Sdk": "9.0.0-beta.24161.5", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.NET.Sdk.IL": "9.0.0-preview.3.24161.1"