From 72ffb8c07f73f8b4cacf46cbcdef80f72a32439c Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 10 Sep 2024 12:23:50 -0700 Subject: [PATCH 1/7] Make some release tests run in a hosted pools --- .pipelines/PowerShell-Release-Official.yml | 10 +++++++--- .pipelines/templates/release-validate-sdk.yml | 17 ++++++++++------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/.pipelines/PowerShell-Release-Official.yml b/.pipelines/PowerShell-Release-Official.yml index 223517f2e96..eb21b407ba7 100644 --- a/.pipelines/PowerShell-Release-Official.yml +++ b/.pipelines/PowerShell-Release-Official.yml @@ -51,6 +51,7 @@ variables: value: mcr.microsoft.com/onebranch/cbl-mariner/build:2.0 - name: ReleaseTagVar value: ${{ parameters.ReleaseTagVar }} + - group: PoolNames resources: repositories: @@ -111,19 +112,22 @@ extends: parameters: jobName: "windowsSDK" displayName: "Windows SDK Validation" - jobtype: windows + imageName: PSMMS2019-Secure + poolName: $(windowsPool) - template: /.pipelines/templates/release-validate-sdk.yml@self parameters: jobName: "MacOSSDK" displayName: "MacOS SDK Validation" - jobtype: macos + imageName: macOS-latest + poolName: Azure Pipelines - template: /.pipelines/templates/release-validate-sdk.yml@self parameters: jobName: "LinuxSDK" displayName: "Linux SDK Validation" - jobtype: linux + imageName: PSMMSUbuntu20.04-Secure + poolName: $(ubuntuPool) - stage: gbltool displayName: 'Validate Global tools' diff --git a/.pipelines/templates/release-validate-sdk.yml b/.pipelines/templates/release-validate-sdk.yml index 158997f40e6..67397c205ba 100644 --- a/.pipelines/templates/release-validate-sdk.yml +++ b/.pipelines/templates/release-validate-sdk.yml @@ -1,19 +1,22 @@ parameters: jobName: "" displayName: "" - jobtype: "windows" + poolName: "windows" + imageName: 'none' jobs: - job: ${{ parameters.jobName }} displayName: ${{ parameters.displayName }} pool: - ${{ if eq(parameters.jobtype, 'macos') }}: - type: linux - isCustom: true - name: Azure Pipelines - vmImage: 'macOS-latest' + type: linux + isCustom: true + ${{ if eq( parameters.poolName, 'Azure Pipelines') }}: + name: ${{ parameters.poolName }} + vmImage: ${{ parameters.imageName }} ${{ else }}: - type: ${{ parameters.jobtype }} + name: ${{ parameters.poolName }} + demands: + - ImageOverride -equals ${{ parameters.imageName }} variables: - group: mscodehub-feed-read-general From fb862ba19cd9d2166716ff38549ffaa08f34bcc0 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 10 Sep 2024 12:33:43 -0700 Subject: [PATCH 2/7] disable lfs checkout --- .pipelines/templates/release-validate-sdk.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.pipelines/templates/release-validate-sdk.yml b/.pipelines/templates/release-validate-sdk.yml index 67397c205ba..7f44acf35e0 100644 --- a/.pipelines/templates/release-validate-sdk.yml +++ b/.pipelines/templates/release-validate-sdk.yml @@ -32,6 +32,7 @@ jobs: steps: - checkout: self clean: true + lfs: false - template: release-SetReleaseTagandContainerName.yml@self From 678b42baddbc73020a749bb1755d4df0e9a23230 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 10 Sep 2024 12:55:29 -0700 Subject: [PATCH 3/7] fix paths --- .pipelines/templates/release-validate-sdk.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pipelines/templates/release-validate-sdk.yml b/.pipelines/templates/release-validate-sdk.yml index 7f44acf35e0..91ad6921936 100644 --- a/.pipelines/templates/release-validate-sdk.yml +++ b/.pipelines/templates/release-validate-sdk.yml @@ -49,7 +49,7 @@ jobs: displayName: 'Capture Downloaded Artifacts' - pwsh: | - $repoRoot = $isMacOS ? "$(Build.SourcesDirectory)" : "$(Build.SourcesDirectory)/PowerShell" + $repoRoot = "$(Build.SourcesDirectory)" $dotnetMetadataPath = "$repoRoot/DotnetRuntimeMetadata.json" $dotnetMetadataJson = Get-Content $dotnetMetadataPath -Raw | ConvertFrom-Json @@ -84,7 +84,7 @@ jobs: __DOTNET_RUNTIME_FEED_KEY: $(RUNTIME_SOURCEFEED_KEY) - pwsh: | - $repoRoot = $isMacOS ? "$(Build.SourcesDirectory)" : "$(Build.SourcesDirectory)/PowerShell" + $repoRoot = "$(Build.SourcesDirectory)" $env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 Import-Module "$repoRoot/build.psm1" -Force From 1bd13e4a81655d5c9e172b9f27511d9a417a48eb Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 10 Sep 2024 12:57:14 -0700 Subject: [PATCH 4/7] remove variables --- .pipelines/templates/release-validate-sdk.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.pipelines/templates/release-validate-sdk.yml b/.pipelines/templates/release-validate-sdk.yml index 91ad6921936..f7b772e5583 100644 --- a/.pipelines/templates/release-validate-sdk.yml +++ b/.pipelines/templates/release-validate-sdk.yml @@ -22,12 +22,6 @@ jobs: - group: mscodehub-feed-read-general - group: mscodehub-feed-read-akv - group: DotNetPrivateBuildAccess - - name: ob_outputDirectory - value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT' - - name: ob_sdl_credscan_suppressionsFile - value: $(Build.SourcesDirectory)\PowerShell\.config\suppress.json - - name: ob_sdl_tsa_configFile - value: $(Build.SourcesDirectory)\PowerShell\.config\tsaoptions.json steps: - checkout: self @@ -120,7 +114,6 @@ jobs: dotnet --info dotnet restore dotnet test /property:RELEASE_VERSION=$releaseVersion --test-adapter-path:. "--logger:xunit;LogFilePath=$(System.DefaultWorkingDirectory)/test-hosting.xml" - displayName: Restore and execute tests env: __DOTNET_RUNTIME_FEED_KEY: $(RUNTIME_SOURCEFEED_KEY) From 141f90ae40856b8208c4891f2cc980018289908c Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 10 Sep 2024 13:11:24 -0700 Subject: [PATCH 5/7] fix nuget config --- .pipelines/templates/release-validate-sdk.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.pipelines/templates/release-validate-sdk.yml b/.pipelines/templates/release-validate-sdk.yml index f7b772e5583..a652e495611 100644 --- a/.pipelines/templates/release-validate-sdk.yml +++ b/.pipelines/templates/release-validate-sdk.yml @@ -100,12 +100,16 @@ jobs: Get-ChildItem ## register the packages download directory in the nuget file - $nugetConfigContent = Get-Content ./NuGet.Config -Raw + $nugetPath = './NuGet.Config' + if(!(test-path $nugetPath)) { + $nugetPah = "$repoRoot/NuGet.Config" + } + $nugetConfigContent = Get-Content $nugetPath -Raw $updateNugetContent = $nugetConfigContent.Replace("", $xmlElement) - $updateNugetContent | Out-File ./NuGet.Config -Encoding ascii + $updateNugetContent | Out-File $nugetPath -Encoding ascii - Get-Content ./NuGet.Config + Get-Content $nugetPath # Add workaround to unblock xUnit testing see issue: https://github.com/dotnet/sdk/issues/26462 $dotnetPath = if ($IsWindows) { "$env:LocalAppData\Microsoft\dotnet" } else { "$env:HOME/.dotnet" } From c701dd724991445ad195a4df2b1fe5ffa660174e Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 10 Sep 2024 13:22:59 -0700 Subject: [PATCH 6/7] fix typo and output where config was found --- .pipelines/templates/release-validate-sdk.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.pipelines/templates/release-validate-sdk.yml b/.pipelines/templates/release-validate-sdk.yml index a652e495611..3147c2281e0 100644 --- a/.pipelines/templates/release-validate-sdk.yml +++ b/.pipelines/templates/release-validate-sdk.yml @@ -102,8 +102,9 @@ jobs: ## register the packages download directory in the nuget file $nugetPath = './NuGet.Config' if(!(test-path $nugetPath)) { - $nugetPah = "$repoRoot/NuGet.Config" + $nugetPath = "$repoRoot/NuGet.Config" } + Write-Verbose -Verbose "nugetPath: $nugetPath" $nugetConfigContent = Get-Content $nugetPath -Raw $updateNugetContent = $nugetConfigContent.Replace("", $xmlElement) From f13697e22c1ba7c3ea3f0708f9fc7ec5c85cb96e Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 10 Sep 2024 13:31:31 -0700 Subject: [PATCH 7/7] auth to feed --- .pipelines/templates/release-validate-sdk.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.pipelines/templates/release-validate-sdk.yml b/.pipelines/templates/release-validate-sdk.yml index 3147c2281e0..82102ec3bfe 100644 --- a/.pipelines/templates/release-validate-sdk.yml +++ b/.pipelines/templates/release-validate-sdk.yml @@ -28,6 +28,10 @@ jobs: clean: true lfs: false + - template: /.pipelines/templates/insert-nuget-config-azfeed.yml@self + parameters: + repoRoot: "$(Build.SourcesDirectory)" + - template: release-SetReleaseTagandContainerName.yml@self - download: PSPackagesOfficial @@ -102,7 +106,7 @@ jobs: ## register the packages download directory in the nuget file $nugetPath = './NuGet.Config' if(!(test-path $nugetPath)) { - $nugetPath = "$repoRoot/NuGet.Config" + $nugetPath = "$repoRoot/nuget.config" } Write-Verbose -Verbose "nugetPath: $nugetPath" $nugetConfigContent = Get-Content $nugetPath -Raw