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

Commit9aa6e06

Browse files
Added Deploy Box Product Pathway to GitHub Release and NuGet Release Pipelines (#24583) (#24595)
Co-authored-by: Justin Chung <124807742+jshigetomi@users.noreply.github.com>
1 parent2800f89 commit9aa6e06

8 files changed

+394
-190
lines changed

‎.pipelines/PowerShell-Release-Official.yml

Lines changed: 72 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ variables:
5050
-name:ob_outputDirectory
5151
value:'$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
5252
-name:WindowsContainerImage
53-
value:'onebranch.azurecr.io/windows/ltsc2019/vse2022:latest'
53+
value:'onebranch.azurecr.io/windows/ltsc2022/vse2022:latest'
5454
-name:LinuxContainerImage
5555
value:mcr.microsoft.com/onebranch/cbl-mariner/build:2.0
5656
-name:ReleaseTagVar
@@ -79,12 +79,12 @@ resources:
7979
extends:
8080
template:v2/OneBranch.Official.CrossPlat.yml@templates
8181
parameters:
82-
# using Monitor as copy blob is being blocked by the network
82+
release:
83+
category:NonAzure
8384
featureFlags:
84-
LinuxHostVersion:
85-
Network:Monitor
8685
WindowsHostVersion:
87-
Network:Monitor
86+
Version:2022
87+
Network:Netlock
8888
cloudvault:
8989
enabled:false
9090
globalSdl:
@@ -110,13 +110,23 @@ extends:
110110
tsaOptionsFile:.config\tsaoptions.json
111111

112112
stages:
113+
-stage:DownloadPackages
114+
displayName:'Download Packages'
115+
dependsOn:[]
116+
jobs:
117+
-template:/.pipelines/templates/release-download-packages.yml@self
118+
113119
-stage:msixbundle
114120
displayName:'Create MSIX Bundle'
121+
dependsOn:[]
122+
variables:
123+
ob_release_environment:Test
115124
jobs:
116125
-template:/.pipelines/templates/release-create-msix.yml@self
117126

118127
-stage:validateSdk
119128
displayName:'Validate SDK'
129+
dependsOn:[]
120130
jobs:
121131
-template:/.pipelines/templates/release-validate-sdk.yml@self
122132
parameters:
@@ -141,6 +151,7 @@ extends:
141151

142152
-stage:gbltool
143153
displayName:'Validate Global tools'
154+
dependsOn:[]
144155
jobs:
145156
-template:/.pipelines/templates/release-validate-globaltools.yml@self
146157
parameters:
@@ -158,6 +169,7 @@ extends:
158169

159170
-stage:fxdpackages
160171
displayName:'Validate FXD Packages'
172+
dependsOn:[]
161173
jobs:
162174
-template:/.pipelines/templates/release-validate-fxdpackages.yml@self
163175
parameters:
@@ -194,6 +206,7 @@ extends:
194206

195207
-stage:validatePackages
196208
displayName:'Validate Packages'
209+
dependsOn:[]
197210
jobs:
198211
-template:/.pipelines/templates/release-validate-packagenames.yml@self
199212

@@ -262,38 +275,65 @@ extends:
262275
Update and merge the changelog for the release.
263276
This step is required for creating GitHub draft release.
264277
278+
-stage:PublishGitHubRelease
279+
displayName:Publish GitHub Release
280+
dependsOn:
281+
-DownloadPackages
282+
-UpdateChangeLog
283+
variables:
284+
ob_release_environment:Production
285+
jobs:
286+
-template:/.pipelines/templates/release-githubtasks.yml@self
287+
288+
-stage:PushGitTagAndMakeDraftPublic
289+
displayName:Push Git Tag and Make Draft Public
290+
dependsOn:PublishGitHubRelease
291+
jobs:
292+
-template:/.pipelines/templates/approvalJob.yml@self
293+
parameters:
294+
displayName:Push Git Tag
295+
jobName:PushGitTag
296+
instructions:|
297+
Push the git tag to upstream
298+
299+
-template:/.pipelines/templates/approvalJob.yml@self
300+
parameters:
301+
displayName:Make Draft Public
302+
dependsOnJob:PushGitTag
303+
jobName:DraftPublic
304+
instructions:|
305+
Make the GitHub Release Draft Public
306+
265307
-stage:BlobPublic
266308
displayName:Make Blob Public
267-
dependsOn:UpdateChangeLog
309+
dependsOn:
310+
-UpdateChangeLog
311+
-PushGitTagAndMakeDraftPublic
268312
jobs:
269313
-template:/.pipelines/templates/release-MakeBlobPublic.yml@self
270314
parameters:
271-
SkipPSInfraInstallers:${{ parameters.SkipPSInfraInstallers }}
272-
273-
-stage:PublishGitHubRelease
274-
displayName:Publish GitHub Release
275-
dependsOn:BlobPublic
276-
jobs:
277-
-template:/.pipelines/templates/release-githubtasks.yml@self
278-
315+
SkipPSInfraInstallers:${{ parameters.SkipPSInfraInstallers }}
316+
279317
-stage:PublishNuGet
280318
displayName:Publish NuGet
281-
dependsOn:PublishGitHubRelease
319+
dependsOn:PushGitTagAndMakeDraftPublic
320+
variables:
321+
ob_release_environment:Production
282322
jobs:
283323
-template:/.pipelines/templates/release-publish-nuget.yml@self
284324
parameters:
285325
skipPublish:true
286326

287327
-stage:PublishPMC
288328
displayName:Publish PMC
289-
dependsOn:PublishGitHubRelease
329+
dependsOn:PushGitTagAndMakeDraftPublic
290330
jobs:
291331
-template:/.pipelines/templates/release-publish-pmc.yml@self
292332
parameters:
293333
skipPublish:${{ parameters.SkipPMCPublish }}
294334

295335
-stage:ReleaseDocker
296-
dependsOn:PublishGitHubRelease
336+
dependsOn:PushGitTagAndMakeDraftPublic
297337
displayName:'Docker Release'
298338
jobs:
299339
-template:/.pipelines/templates/approvalJob.yml@self
@@ -312,7 +352,7 @@ extends:
312352
Kickoff docker release
313353
314354
-stage:UpdateDotnetDocker
315-
dependsOn:PublishGitHubRelease
355+
dependsOn:PushGitTagAndMakeDraftPublic
316356
displayName:Update DotNet SDK Docker images
317357
jobs:
318358
-template:/.pipelines/templates/approvalJob.yml@self
@@ -327,7 +367,7 @@ extends:
327367
4. create PR targeting nightly branch
328368
329369
-stage:UpdateWinGet
330-
dependsOn:PublishGitHubRelease
370+
dependsOn:PushGitTagAndMakeDraftPublic
331371
displayName:Add manifest entry to winget
332372
jobs:
333373
-template:/.pipelines/templates/approvalJob.yml@self
@@ -338,7 +378,7 @@ extends:
338378
This is typically done by the community 1-2 days after the release.
339379
340380
-stage:PublishMsix
341-
dependsOn:PublishGitHubRelease
381+
dependsOn:PushGitTagAndMakeDraftPublic
342382
displayName:Publish MSIX to store
343383
jobs:
344384
-template:/.pipelines/templates/approvalJob.yml@self
@@ -349,7 +389,7 @@ extends:
349389
Ask Steve to release MSIX bundle package to Store
350390
351391
-stage:PublishVPack
352-
dependsOn:PublishGitHubRelease
392+
dependsOn:PushGitTagAndMakeDraftPublic
353393
displayName:Release vPack
354394
jobs:
355395
-template:/.pipelines/templates/approvalJob.yml@self
@@ -367,20 +407,22 @@ extends:
367407
# - template: templates/release-UpdateDepsJson.yml
368408

369409
-stage:UploadBuildInfoJson
370-
dependsOn:PublishGitHubRelease
410+
dependsOn:PushGitTagAndMakeDraftPublic
371411
displayName:Upload BuildInfo.json
372412
jobs:
373413
-template:/.pipelines/templates/release-upload-buildinfo.yml@self
374414

375415
-stage:ReleaseSymbols
376-
dependsOn:PublishGitHubRelease
416+
dependsOn:PushGitTagAndMakeDraftPublic
377417
displayName:Release Symbols
378418
jobs:
379419
-template:/.pipelines/templates/release-symbols.yml@self
380420

381421
-stage:ChangesToMaster
382422
displayName:Ensure changes are in GH master
383-
dependsOn:['PublishNuGet', 'PublishPMC']
423+
dependsOn:
424+
-PublishNuGet
425+
-PublishPMC
384426
jobs:
385427
-template:/.pipelines/templates/approvalJob.yml@self
386428
parameters:
@@ -391,7 +433,7 @@ extends:
391433
392434
-stage:ReleaseSnap
393435
displayName:Release Snap
394-
dependsOn:'ChangesToMaster'
436+
dependsOn:ChangesToMaster
395437
jobs:
396438
-template:/.pipelines/templates/approvalJob.yml@self
397439
parameters:
@@ -402,7 +444,7 @@ extends:
402444
403445
-stage:ReleaseToMU
404446
displayName:Release to MU
405-
dependsOn:['PublishNuGet', 'PublishPMC', 'ChangesToMaster']
447+
dependsOn:PushGitTagAndMakeDraftPublic# This only needs the blob to be available
406448
jobs:
407449
-template:/.pipelines/templates/approvalJob.yml@self
408450
parameters:
@@ -412,7 +454,10 @@ extends:
412454
413455
-stage:ReleaseClose
414456
displayName:Finish Release
415-
dependsOn:['ReleaseToMU', 'ReleaseSymbols', 'ReleaseSnap']
457+
dependsOn:
458+
-ReleaseToMU
459+
-ReleaseSymbols
460+
-ReleaseSnap
416461
jobs:
417462
-template:/.pipelines/templates/approvalJob.yml@self
418463
parameters:
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
steps:
2+
-pwsh:|
3+
Write-Verbose -Verbose "Deploy Box Product Pathway Does Not Support the `"checkout`" task"
4+
if ($ENV:BUILD_REASON -eq 'PullRequest') {
5+
throw 'We dont support PRs'
6+
}
7+
8+
Write-Verbose -Verbose $ENV:BUILD_SOURCEBRANCH
9+
$branchName = $ENV:BUILD_SOURCEBRANCH -replace '^refs/heads/'
10+
Write-Verbose -Verbose "Branch Name: $branchName"
11+
git clone --depth 1 --branch $branchName https://$(mscodehubCodeReadPat)@mscodehub.visualstudio.com/PowerShellCore/_git/PowerShell '$(Pipeline.Workspace)/PowerShell'
12+
cd $(Pipeline.Workspace)/PowerShell
13+
displayName: Checkout Powershell Repository
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
jobs:
2+
-job:upload_packages
3+
displayName:Upload packages
4+
condition:succeeded()
5+
pool:
6+
type:windows
7+
variables:
8+
-template:./variable/release-shared.yml@self
9+
parameters:
10+
REPOROOT:$(Build.SourcesDirectory)
11+
SBOM:true
12+
13+
steps:
14+
-pwsh:|
15+
Get-ChildItem -Path env: | Out-String -width 9999 -Stream | write-Verbose -Verbose
16+
displayName: Capture environment variables
17+
18+
-download:PSPackagesOfficial
19+
artifact:drop_linux_package_deb
20+
displayName:Download linux deb packages
21+
22+
-download:PSPackagesOfficial
23+
artifact:drop_linux_package_fxdependent
24+
displayName:Download linux fx packages
25+
26+
-download:PSPackagesOfficial
27+
artifact:drop_linux_package_mariner_arm64
28+
displayName:Download linux mariner packages
29+
30+
-download:PSPackagesOfficial
31+
artifact:drop_linux_package_mariner_x64
32+
displayName:Download linux mariner x64 packages
33+
34+
-download:PSPackagesOfficial
35+
artifact:drop_linux_package_minSize
36+
displayName:Download linux min packages
37+
38+
-download:PSPackagesOfficial
39+
artifact:drop_linux_package_rpm
40+
displayName:Download linux rpm packages
41+
42+
-download:PSPackagesOfficial
43+
artifact:drop_linux_package_tar
44+
displayName:Download linux tar packages
45+
46+
-download:PSPackagesOfficial
47+
artifact:drop_linux_package_tar_alpine
48+
displayName:Download linux tar alpine packages
49+
50+
-download:PSPackagesOfficial
51+
artifact:drop_linux_package_tar_alpine_fxd
52+
displayName:Download linux tar alpine fxd packages
53+
54+
-download:PSPackagesOfficial
55+
artifact:drop_linux_package_tar_arm
56+
displayName:Download linux tar arm packages
57+
58+
-download:PSPackagesOfficial
59+
artifact:drop_linux_package_tar_arm64
60+
displayName:Download linux tar arm 64 packages
61+
62+
-download:PSPackagesOfficial
63+
artifact:drop_nupkg_build_nupkg
64+
displayName:Download nupkg packages
65+
66+
-download:PSPackagesOfficial
67+
artifact:drop_windows_package_package_win_arm64
68+
displayName:Download windows arm64 packages
69+
70+
-download:PSPackagesOfficial
71+
artifact:drop_windows_package_package_win_fxdependent
72+
displayName:Download windows fxdependent packages
73+
74+
-download:PSPackagesOfficial
75+
artifact:drop_windows_package_package_win_fxdependentWinDesktop
76+
displayName:Download windows fxdependentWinDesktop packages
77+
78+
-download:PSPackagesOfficial
79+
artifact:drop_windows_package_package_win_minsize
80+
displayName:Download windows minsize packages
81+
82+
-download:PSPackagesOfficial
83+
artifact:drop_windows_package_package_win_x64
84+
displayName:Download windows x64 packages
85+
86+
-download:PSPackagesOfficial
87+
artifact:drop_windows_package_package_win_x86
88+
displayName:Download windows x86 packages
89+
90+
-download:PSPackagesOfficial
91+
artifact:macos-pkgs
92+
displayName:Download macos tar packages
93+
94+
-download:PSPackagesOfficial
95+
artifact:drop_mac_package_sign_package_macos_arm64
96+
displayName:Download macos arm packages
97+
98+
-download:PSPackagesOfficial
99+
artifact:drop_mac_package_sign_package_macos_x64
100+
displayName:Download macos x64 packages
101+
102+
-pwsh:|
103+
Get-ChildItem '$(Pipeline.Workspace)/PSPackagesOfficial' -Recurse | Select-Object -ExpandProperty FullName
104+
displayName: 'Capture downloads'
105+
106+
-pwsh:|
107+
$PackagesPath = '$(Pipeline.Workspace)/PSPackagesOfficial'
108+
Write-Verbose -Verbose "Copying Github Release files in $PackagesPath to use in Release Pipeline"
109+
110+
Write-Verbose -Verbose "Creating output directory for GitHub Release files: $(ob_outputDirectory)/GitHubPackages"
111+
New-Item -Path $(ob_outputDirectory)/GitHubPackages -ItemType Directory -Force
112+
Get-ChildItem -Path "$PackagesPath/*" -Recurse |
113+
Where-Object { $_.Extension -notin '.msix', '.nupkg' } |
114+
Where-Object { $_.Extension -in '.gz', '.pkg', '.msi', '.zip', '.deb', '.rpm', '.zip' } |
115+
Copy-Item -Destination $(ob_outputDirectory)/GitHubPackages -Recurse -Verbose
116+
117+
Write-Verbose -Verbose "Creating output directory for NuGet packages: $(ob_outputDirectory)/NuGetPackages"
118+
New-Item -Path $(ob_outputDirectory)/NuGetPackages -ItemType Directory -Force
119+
Get-ChildItem -Path "$PackagesPath/*" -Recurse |
120+
Where-Object { $_.Extension -eq '.nupkg' } |
121+
Copy-Item -Destination $(ob_outputDirectory)/NuGetPackages -Recurse -Verbose
122+
displayName: Copy downloads to Artifacts

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp