Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit91531f6

Browse files
jshigetomiJustin Chung
and
Justin Chung
authored
Fix backport issues with release pipeline (#24835)
* Add missed release-install-pwsh.yml template* Fix backport merge conflicts to release pipeline* Fix more backport issues* Changed Windows container image to 2022* Add msix pwsh task and changed DOTNET root finding in validate global tools* Fix msix and global tools* Revert msix change* Add back AZ remove module* Add install makeapp tool step* Fix publish nuget---------Co-authored-by: Justin Chung <chungjustin@microsoft.com>
1 parentbf12cd1 commit91531f6

File tree

6 files changed

+96
-85
lines changed

6 files changed

+96
-85
lines changed

‎.pipelines/PowerShell-Release-Official.yml

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ parameters: # parameters are shown up in ADO UI in a build queue time
2626
type:boolean
2727
default:false
2828

29-
3029
variables:
3130
-name:CDP_DEFINITION_BUILD_COUNT
3231
value:$[counter('', 0)]
@@ -51,7 +50,7 @@ variables:
5150
-name:ob_outputDirectory
5251
value:'$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
5352
-name:WindowsContainerImage
54-
value:'onebranch.azurecr.io/windows/ltsc2019/vse2022:latest'
53+
value:'onebranch.azurecr.io/windows/ltsc2022/vse2022:latest'
5554
-name:LinuxContainerImage
5655
value:mcr.microsoft.com/onebranch/cbl-mariner/build:2.0
5756
-name:ReleaseTagVar
@@ -84,9 +83,9 @@ resources:
8483
extends:
8584
template:v2/OneBranch.Official.CrossPlat.yml@templates
8685
parameters:
86+
release:
87+
category:NonAzure
8788
featureFlags:
88-
LinuxHostVersion:
89-
Network:Monitor
9089
WindowsHostVersion:
9190
Version:2022
9291
Network:KS3
@@ -128,6 +127,7 @@ extends:
128127

129128
-stage:validateSdk
130129
displayName:'Validate SDK'
130+
dependsOn:[]
131131
jobs:
132132
-template:/.pipelines/templates/release-validate-sdk.yml@self
133133
parameters:
@@ -152,6 +152,7 @@ extends:
152152

153153
-stage:gbltool
154154
displayName:'Validate Global tools'
155+
dependsOn:[]
155156
jobs:
156157
-template:/.pipelines/templates/release-validate-globaltools.yml@self
157158
parameters:
@@ -169,6 +170,7 @@ extends:
169170

170171
-stage:fxdpackages
171172
displayName:'Validate FXD Packages'
173+
dependsOn:[]
172174
jobs:
173175
-template:/.pipelines/templates/release-validate-fxdpackages.yml@self
174176
parameters:
@@ -205,6 +207,7 @@ extends:
205207

206208
-stage:validatePackages
207209
displayName:'Validate Packages'
210+
dependsOn:[]
208211
jobs:
209212
-template:/.pipelines/templates/release-validate-packagenames.yml@self
210213

@@ -304,18 +307,14 @@ extends:
304307
305308
-stage:BlobPublic
306309
displayName:Make Blob Public
307-
dependsOn:UpdateChangeLog
310+
dependsOn:
311+
-UpdateChangeLog
312+
-PushGitTagAndMakeDraftPublic
308313
jobs:
309314
-template:/.pipelines/templates/release-MakeBlobPublic.yml@self
310315
parameters:
311316
SkipPSInfraInstallers:${{ parameters.SkipPSInfraInstallers }}
312317

313-
-stage:PublishGitHubRelease
314-
displayName:Publish GitHub Release
315-
dependsOn:BlobPublic
316-
jobs:
317-
-template:/.pipelines/templates/release-githubtasks.yml@self
318-
319318
-stage:PublishNuGet
320319
displayName:Publish NuGet
321320
dependsOn:
@@ -330,14 +329,14 @@ extends:
330329

331330
-stage:PublishPMC
332331
displayName:Publish PMC
333-
dependsOn:PublishGitHubRelease
332+
dependsOn:PushGitTagAndMakeDraftPublic
334333
jobs:
335334
-template:/.pipelines/templates/release-publish-pmc.yml@self
336335
parameters:
337336
skipPublish:${{ parameters.SkipPMCPublish }}
338337

339338
-stage:ReleaseDocker
340-
dependsOn:PublishGitHubRelease
339+
dependsOn:PushGitTagAndMakeDraftPublic
341340
displayName:'Docker Release'
342341
jobs:
343342
-template:/.pipelines/templates/approvalJob.yml@self
@@ -356,7 +355,7 @@ extends:
356355
Kickoff docker release
357356
358357
-stage:UpdateDotnetDocker
359-
dependsOn:PublishGitHubRelease
358+
dependsOn:PushGitTagAndMakeDraftPublic
360359
displayName:Update DotNet SDK Docker images
361360
jobs:
362361
-template:/.pipelines/templates/approvalJob.yml@self
@@ -371,7 +370,7 @@ extends:
371370
4. create PR targeting nightly branch
372371
373372
-stage:UpdateWinGet
374-
dependsOn:PublishGitHubRelease
373+
dependsOn:PushGitTagAndMakeDraftPublic
375374
displayName:Add manifest entry to winget
376375
jobs:
377376
-template:/.pipelines/templates/approvalJob.yml@self
@@ -382,7 +381,7 @@ extends:
382381
This is typically done by the community 1-2 days after the release.
383382
384383
-stage:PublishMsix
385-
dependsOn:PublishGitHubRelease
384+
dependsOn:PushGitTagAndMakeDraftPublic
386385
displayName:Publish MSIX to store
387386
jobs:
388387
-template:/.pipelines/templates/approvalJob.yml@self
@@ -393,7 +392,7 @@ extends:
393392
Ask Steve to release MSIX bundle package to Store
394393
395394
-stage:PublishVPack
396-
dependsOn:PublishGitHubRelease
395+
dependsOn:PushGitTagAndMakeDraftPublic
397396
displayName:Release vPack
398397
jobs:
399398
-template:/.pipelines/templates/approvalJob.yml@self
@@ -411,20 +410,22 @@ extends:
411410
# - template: templates/release-UpdateDepsJson.yml
412411

413412
-stage:UploadBuildInfoJson
414-
dependsOn:PublishGitHubRelease
413+
dependsOn:PushGitTagAndMakeDraftPublic
415414
displayName:Upload BuildInfo.json
416415
jobs:
417416
-template:/.pipelines/templates/release-upload-buildinfo.yml@self
418417

419418
-stage:ReleaseSymbols
420-
dependsOn:PublishGitHubRelease
419+
dependsOn:PushGitTagAndMakeDraftPublic
421420
displayName:Release Symbols
422421
jobs:
423422
-template:/.pipelines/templates/release-symbols.yml@self
424423

425424
-stage:ChangesToMaster
426425
displayName:Ensure changes are in GH master
427-
dependsOn:['PublishNuGet', 'PublishPMC']
426+
dependsOn:
427+
-PublishNuGet
428+
-PublishPMC
428429
jobs:
429430
-template:/.pipelines/templates/approvalJob.yml@self
430431
parameters:
@@ -435,7 +436,7 @@ extends:
435436
436437
-stage:ReleaseSnap
437438
displayName:Release Snap
438-
dependsOn:'ChangesToMaster'
439+
dependsOn:ChangesToMaster
439440
jobs:
440441
-template:/.pipelines/templates/approvalJob.yml@self
441442
parameters:
@@ -446,7 +447,7 @@ extends:
446447
447448
-stage:ReleaseToMU
448449
displayName:Release to MU
449-
dependsOn:['PublishNuGet', 'PublishPMC', 'ChangesToMaster']
450+
dependsOn:PushGitTagAndMakeDraftPublic
450451
jobs:
451452
-template:/.pipelines/templates/approvalJob.yml@self
452453
parameters:
@@ -456,7 +457,10 @@ extends:
456457
457458
-stage:ReleaseClose
458459
displayName:Finish Release
459-
dependsOn:['ReleaseToMU', 'ReleaseSymbols', 'ReleaseSnap']
460+
dependsOn:
461+
-ReleaseToMU
462+
-ReleaseSymbols
463+
-ReleaseSnap
460464
jobs:
461465
-template:/.pipelines/templates/approvalJob.yml@self
462466
parameters:

‎.pipelines/templates/release-create-msix.yml

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -28,24 +28,39 @@ jobs:
2828
displayName:Download x86 msix
2929
patterns:'**/*.msix'
3030

31-
-task:AzurePowerShell@5
31+
# This needs to run before any AzurePowerShell@ task
32+
-pwsh:|
33+
$azureRmModule = Get-InstalledModule AzureRM -ErrorAction SilentlyContinue -Verbose
34+
if ($azureRmModule) {
35+
Write-Host 'AzureRM module exists. Removing it'
36+
Uninstall-AzureRm
37+
Write-Host 'AzureRM module removed'
38+
}
39+
40+
Install-Module -Name Az.Storage -Force -AllowClobber -Scope CurrentUser -Verbose
41+
displayName: Remove AzRM modules and install Az.Storage
42+
43+
-pwsh:|
44+
$cmd = Get-Command makeappx.exe -ErrorAction Ignore
45+
if ($cmd) {
46+
Write-Verbose -Verbose 'makeappx available in PATH'
47+
$exePath = $cmd.Source
48+
} else {
49+
$toolsDir = '$(Pipeline.Workspace)\releasePipeline\tools'
50+
New-Item $toolsDir -Type Directory -Force > $null
51+
Invoke-RestMethod -Uri '$(makeappUrl)' -OutFile "$toolsDir\makeappx.zip"
52+
Expand-Archive "$toolsDir\makeappx.zip" -DestinationPath "$toolsDir\makeappx" -Force
53+
$exePath = "$toolsDir\makeappx\makeappx.exe"
54+
55+
Write-Verbose -Verbose 'makeappx was installed:'
56+
Get-ChildItem -Path $toolsDir -Recurse
57+
}
58+
59+
$vstsCommandString = "vso[task.setvariable variable=MakeAppxPath]$exePath"
60+
Write-Host "sending " + $vstsCommandString
61+
Write-Host "##$vstsCommandString"
3262
displayName: Install makeappx tool
3363
retryCountOnTaskFailure: 1
34-
inputs:
35-
azureSubscription:az-blob-cicd-infra
36-
scriptType:inlineScript
37-
azurePowerShellVersion:LatestVersion
38-
pwsh:true
39-
inline:|
40-
$toolsDir = '$(Pipeline.Workspace)\releasePipeline\tools'
41-
New-Item $toolsDir -Type Directory -Force > $null
42-
Invoke-RestMethod -Uri '$(makeappUrlDirect)' -OutFile "$toolsDir\makeappx.zip"
43-
Expand-Archive "$toolsDir\makeappx.zip" -DestinationPath "$toolsDir\makeappx" -Force
44-
$exePath = "$toolsDir\makeappx\makeappx.exe"
45-
46-
$vstsCommandString = "vso[task.setvariable variable=MakeAppxPath]$exePath"
47-
Write-Host "sending " + $vstsCommandString
48-
Write-Host "##$vstsCommandString"
4964
5065
-pwsh:|
5166
$sourceDir = '$(Pipeline.Workspace)\releasePipeline\msix'
@@ -73,18 +88,6 @@ jobs:
7388
displayName: Create MsixBundle
7489
retryCountOnTaskFailure: 1
7590
76-
-pwsh:|
77-
$azureRmModule = Get-InstalledModule AzureRM -ErrorAction SilentlyContinue -Verbose
78-
if ($azureRmModule) {
79-
Write-Host 'AzureRM module exists. Removing it'
80-
Uninstall-AzureRm
81-
Write-Host 'AzureRM module removed'
82-
}
83-
84-
Install-Module -Name Az.Storage -Force -AllowClobber -Scope CurrentUser -Verbose
85-
86-
displayName: Remove AzRM modules and install Az.Storage
87-
8891
-task:AzurePowerShell@5
8992
displayName:Upload msix to blob
9093
inputs:

‎.pipelines/templates/release-githubtasks.yml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -86,19 +86,3 @@ jobs:
8686
8787
Publish-ReleaseDraft -Tag '$(ReleaseTag)' -Name '$(ReleaseTag) Release of PowerShell' -Description $clContent -User PowerShell -Repository PowerShell -PackageFolder "$(Pipeline.Workspace)/GitHubPackages" -Token $(GitHubReleasePat)
8888
displayName:Publish Release Draft
89-
90-
-template:/.pipelines/templates/approvalJob.yml@self
91-
parameters:
92-
displayName:Push Git Tag
93-
jobName:PushGitTag
94-
dependsOnJob:GithubReleaseDraft
95-
instructions:|
96-
Push the git tag to upstream
97-
98-
-template:/.pipelines/templates/approvalJob.yml@self
99-
parameters:
100-
displayName:Make Draft Public
101-
jobName:DraftPublic
102-
dependsOnJob:PushGitTag
103-
instructions:|
104-
Make the GitHub Release Draft Public
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
steps:
2+
-task:PowerShell@2
3+
inputs:
4+
targetType:inline
5+
script:|
6+
$localInstallerPath = Get-ChildItem -Path "$(Pipeline.Workspace)/GitHubPackages" -Filter '*win-x64.msi' | Select-Object -First 1 -ExpandProperty FullName
7+
if (Test-Path -Path $localInstallerPath) {
8+
Write-Verbose -Verbose "Installer found at $localInstallerPath"
9+
} else {
10+
throw "Installer not found"
11+
}
12+
Write-Verbose -Verbose "Installing PowerShell via msiexec"
13+
Start-Process -FilePath msiexec -ArgumentList "/package $localInstallerPath /quiet REGISTER_MANIFEST=1" -Wait -NoNewWindow
14+
$pwshPath = Get-ChildItem -Directory -Path 'C:\Program Files\PowerShell\7*' | Select-Object -First 1 -ExpandProperty FullName
15+
if (Test-Path -Path $pwshPath) {
16+
Write-Verbose -Verbose "PowerShell installed at $pwshPath"
17+
Write-Verbose -Verbose "Adding pwsh to env:PATH"
18+
Write-Host "##vso[task.prependpath]$pwshPath"
19+
} else {
20+
throw "PowerShell not installed"
21+
}
22+
displayName:Install pwsh 7
23+
24+
-task:PowerShell@2
25+
inputs:
26+
targetType:inline
27+
pwsh:true
28+
script:|
29+
Write-Verbose -Verbose "Pwsh 7 Installed"
30+
Write-Verbose -Verbose "env:Path: "
31+
$env:PATH -split ';' | ForEach-Object {
32+
Write-Verbose -Verbose $_
33+
}
34+
displayName:Check pwsh 7 installation

‎.pipelines/templates/release-publish-nuget.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,10 @@ jobs:
3030
Get-ChildItem Env: | Out-String -width 9999 -Stream | write-Verbose -Verbose
3131
displayName: 'Capture Environment Variables'
3232
33-
-download:PSPackagesOfficial
34-
artifact:drop_nupkg_build_nupkg
35-
displayName:Download nuget packages
36-
3733
-pwsh:|
3834
#Exclude all global tool packages. Their names start with 'PowerShell.'
3935
$null = New-Item -ItemType Directory -Path "$(Pipeline.Workspace)/release"
40-
Copy-Item "$ENV:PIPELINE_WORKSPACE/PSPackagesOfficial/drop_nupkg_build_nupkg/*.nupkg" -Destination "$(Pipeline.Workspace)/release" -Exclude "PowerShell.*.nupkg" -Force -Verbose
36+
Copy-Item "$(Pipeline.Workspace)/NuGetPackages/*.nupkg" -Destination "$(Pipeline.Workspace)/release" -Exclude "PowerShell.*.nupkg" -Force -Verbose
4137
4238
$releaseVersion = '$(Version)'
4339
$globalToolPath = "$(Pipeline.Workspace)/NuGetPackages/PowerShell.$releaseVersion.nupkg"
@@ -47,6 +43,7 @@ jobs:
4743
Copy-Item $globalToolPath -Destination "$(Pipeline.Workspace)/release"
4844
}
4945
46+
Write-Verbose -Verbose "The .nupkgs below will be pushed:"
5047
Get-ChildItem "$(Pipeline.Workspace)/release" -recurse
5148
displayName: Download and capture nupkgs
5249
condition: and(ne('${{ parameters.skipPublish }}', 'false'), succeeded())

‎.pipelines/templates/release-validate-globaltools.yml

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -109,24 +109,13 @@ jobs:
109109
-pwsh:|
110110
$repoRoot = "$(Build.SourcesDirectory)/PowerShell"
111111
Import-Module "$repoRoot/build.psm1" -Force
112-
Start-PSBootstrap
112+
Start-PSBootstrap -Force
113113
114114
$exeName = if ($IsWindows) { "pwsh.exe" } else { "pwsh" }
115115
116116
$toolPath = "$(System.DefaultWorkingDirectory)/toolPath/${{ parameters.globalToolExeName }}"
117117
118-
$source = (get-command -Type Application -Name dotnet | Select-Object -First 1 -ExpandProperty source)
119-
$target = (Get-ChildItem $source).target
120-
121-
# If we find a symbolic link for dotnet, then we need to split the filename off the target.
122-
if ($target) {
123-
Write-Verbose -Verbose "Splitting target: $target"
124-
$target = Split-Path $target
125-
}
126-
127-
Write-Verbose -Verbose "target is set as $target"
128-
129-
$env:DOTNET_ROOT = (resolve-path -Path (Join-Path (split-path $source) $target)).ProviderPath
118+
Find-Dotnet -SetDotNetRoot
130119
131120
Write-Verbose -Verbose "DOTNET_ROOT: $env:DOTNET_ROOT"
132121
Get-ChildItem $env:DOTNET_ROOT

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp