Skip to content

Commit b20bf1e

Browse files
TravisEz13pwshBot
authored andcommitted
Cherry-pick PR PowerShell#25990 with conflicts for manual resolution
1 parent b2d043a commit b20bf1e

6 files changed

Lines changed: 165 additions & 10 deletions
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
trigger: none
2+
3+
parameters: # parameters are shown up in ADO UI in a build queue time
4+
- name: 'createVPack'
5+
displayName: 'Create and Submit VPack'
6+
type: boolean
7+
default: true
8+
- name: 'debug'
9+
displayName: 'Enable debug output'
10+
type: boolean
11+
default: false
12+
- name: 'ReleaseTagVar'
13+
type: string
14+
displayName: 'Release Tag Var:'
15+
default: 'fromBranch'
16+
17+
name: msixbundle_vPack_$(date:yyMM).$(date:dd)$(rev:rrr)
18+
19+
variables:
20+
CDP_DEFINITION_BUILD_COUNT: $[counter('', 0)]
21+
system.debug: ${{ parameters.debug }}
22+
BuildSolution: $(Build.SourcesDirectory)\dirs.proj
23+
ReleaseTagVar: ${{ parameters.ReleaseTagVar }}
24+
BuildConfiguration: Release
25+
WindowsContainerImage: 'onebranch.azurecr.io/windows/ltsc2019/vse2022:latest'
26+
Codeql.Enabled: false # pipeline is not building artifacts; it repackages existing artifacts into a vpack
27+
DOTNET_CLI_TELEMETRY_OPTOUT: 1
28+
POWERSHELL_TELEMETRY_OPTOUT: 1
29+
30+
resources:
31+
repositories:
32+
- repository: onebranchTemplates
33+
type: git
34+
name: OneBranch.Pipelines/GovernedTemplates
35+
ref: refs/heads/main
36+
37+
pipelines:
38+
- pipeline: PSPackagesOfficial
39+
source: 'PowerShell-Packages-Official'
40+
trigger:
41+
branches:
42+
include:
43+
- master
44+
- releases/*
45+
46+
extends:
47+
template: v2/Microsoft.Official.yml@onebranchTemplates
48+
parameters:
49+
platform:
50+
name: 'windows_undocked' # windows undocked
51+
52+
cloudvault:
53+
enabled: false
54+
55+
globalSdl:
56+
useCustomPolicy: true # for signing code
57+
disableLegacyManifest: true
58+
# disabled Armory as we dont have any ARM templates to scan. It fails on some sample ARM templates.
59+
armory:
60+
enabled: false
61+
sbom:
62+
enabled: true
63+
compiled:
64+
enabled: false
65+
credscan:
66+
enabled: true
67+
scanFolder: $(Build.SourcesDirectory)
68+
suppressionsFile: $(Build.SourcesDirectory)\.config\suppress.json
69+
binskim:
70+
enabled: false
71+
exactToolVersion: 4.4.2
72+
# APIScan requires a non-Ready-To-Run build
73+
apiscan:
74+
enabled: false
75+
tsaOptionsFile: .config/tsaoptions.json
76+
77+
stages:
78+
- stage: build
79+
jobs:
80+
- job: main
81+
pool:
82+
type: windows
83+
84+
variables:
85+
ob_outputDirectory: '$(BUILD.SOURCESDIRECTORY)\out'
86+
ob_createvpack_enabled: ${{ parameters.createVPack }}
87+
ob_createvpack_packagename: 'PowerShell.app'
88+
ob_createvpack_owneralias: 'dongbow'
89+
ob_createvpack_description: 'VPack for the PowerShell Application'
90+
ob_createvpack_targetDestinationDirectory: '$(Destination)'
91+
ob_createvpack_propsFile: false
92+
ob_createvpack_provData: true
93+
ob_createvpack_metadata: '$(Build.SourceVersion)'
94+
ob_createvpack_versionAs: string
95+
ob_createvpack_version: '$(version)'
96+
ob_createvpack_verbose: true
97+
98+
steps:
99+
- template: .pipelines/templates/SetVersionVariables.yml@self
100+
parameters:
101+
ReleaseTagVar: $(ReleaseTagVar)
102+
UseJson: no
103+
104+
- pwsh: |
105+
Write-Verbose -Verbose 'PowerShell Version: $(version)'
106+
if('$(version)' -match '-') {
107+
throw "Don't release a preview build msixbundle package"
108+
}
109+
displayName: Stop any preview release
110+
111+
- download: PSPackagesOfficial
112+
artifact: 'drop_msixbundle_CreateMSIXBundle'
113+
displayName: Download package
114+
115+
- pwsh: |
116+
$payloadDir = '$(Pipeline.Workspace)\PSPackagesOfficial\drop_msixbundle_CreateMSIXBundle'
117+
Get-ChildItem $payloadDir -Recurse | Out-String -Width 150
118+
$vstsCommandString = "vso[task.setvariable variable=PayloadDir]$payloadDir"
119+
Write-Host "sending " + $vstsCommandString
120+
Write-Host "##$vstsCommandString"
121+
displayName: 'Capture Artifact Listing'
122+
123+
- pwsh: |
124+
$bundlePackage = Get-ChildItem '$(PayloadDir)\*.msixbundle'
125+
Write-Verbose -Verbose ("MSIX bundle package: " + $bundlePackage.FullName -join ', ')
126+
if ($bundlePackage.Count -ne 1) {
127+
throw "Expected to find 1 MSIX bundle package, but found $($bundlePackage.Count)"
128+
}
129+
130+
if (-not (Test-Path '$(ob_outputDirectory)' -PathType Container)) {
131+
$null = New-Item '$(ob_outputDirectory)' -ItemType Directory -ErrorAction Stop
132+
}
133+
134+
$targetPath = Join-Path '$(ob_outputDirectory)' 'Microsoft.PowerShell_8wekyb3d8bbwe.msixbundle'
135+
Copy-Item -Verbose -Path $bundlePackage.FullName -Destination $targetPath
136+
displayName: 'Stage msixbundle for vpack'
137+
138+
- pwsh: |
139+
Write-Verbose "VPack Version: $(ob_createvpack_version)" -Verbose
140+
$vpackFiles = Get-ChildItem -Path $(ob_outputDirectory)\* -Recurse
141+
if($vpackFiles.Count -eq 0) {
142+
throw "No files found in $(ob_outputDirectory)"
143+
}
144+
$vpackFiles | Out-String -Width 150
145+
displayName: Debug Output Directory and Version
146+
condition: succeededOrFailed()

.pipelines/PowerShell-Coordinated_Packages-Official.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
name: bins-$(BUILD.SOURCEBRANCHNAME)-$(Build.BuildId)
21
trigger: none
32

43
parameters:
@@ -30,6 +29,7 @@ parameters:
3029
type: boolean
3130
default: false
3231

32+
name: bins-$(BUILD.SOURCEBRANCHNAME)-prod.${{ parameters.OfficialBuild }}-$(Build.BuildId)
3333

3434
resources:
3535
repositories:

.pipelines/PowerShell-Packages-Official.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ parameters: # parameters are shown up in ADO UI in a build queue time
2828
type: boolean
2929
default: false
3030

31-
name: pkgs-$(BUILD.SOURCEBRANCHNAME)-$(Build.BuildId)
31+
name: pkgs-$(BUILD.SOURCEBRANCHNAME)-prod.${{ parameters.OfficialBuild }}-$(Build.BuildId)
3232

3333
variables:
3434
- name: CDP_DEFINITION_BUILD_COUNT
@@ -79,7 +79,7 @@ resources:
7979
- releases/*
8080

8181
repositories:
82-
- repository: templates
82+
- repository: onebranchTemplates
8383
type: git
8484
name: OneBranch.Pipelines/GovernedTemplates
8585
ref: refs/heads/main

.pipelines/PowerShell-Release-Official-Azure.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ parameters: # parameters are shown up in ADO UI in a build queue time
1717
type: boolean
1818
default: false
1919

20-
name: ev2-$(BUILD.SOURCEBRANCHNAME)-$(Build.BuildId)
20+
name: ev2-$(BUILD.SOURCEBRANCHNAME)-prod.${{ parameters.OfficialBuild }}-$(Build.BuildId)
2121

2222
variables:
2323
- name: CDP_DEFINITION_BUILD_COUNT
@@ -55,7 +55,7 @@ variables:
5555

5656
resources:
5757
repositories:
58-
- repository: templates
58+
- repository: onebranchTemplates
5959
type: git
6060
name: OneBranch.Pipelines/GovernedTemplates
6161
ref: refs/heads/main

.pipelines/PowerShell-Release-Official.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ parameters: # parameters are shown up in ADO UI in a build queue time
2929
type: boolean
3030
default: false
3131

32-
name: release-$(BUILD.SOURCEBRANCHNAME)-$(Build.BuildId)
32+
name: release-$(BUILD.SOURCEBRANCHNAME)-prod.${{ parameters.OfficialBuild }}-$(Build.BuildId)
3333

3434
variables:
3535
- name: CDP_DEFINITION_BUILD_COUNT
@@ -71,7 +71,7 @@ variables:
7171

7272
resources:
7373
repositories:
74-
- repository: templates
74+
- repository: onebranchTemplates
7575
type: git
7676
name: OneBranch.Pipelines/GovernedTemplates
7777
ref: refs/heads/main
@@ -315,7 +315,7 @@ extends:
315315
316316
- stage: BlobPublic
317317
displayName: Make Blob Public
318-
dependsOn:
318+
dependsOn:
319319
- UpdateChangeLog
320320
- PushGitTagAndMakeDraftPublic
321321
jobs:
@@ -425,7 +425,7 @@ extends:
425425
426426
- stage: ReleaseClose
427427
displayName: Finish Release
428-
dependsOn:
428+
dependsOn:
429429
- ReleaseToMU
430430
- ReleaseSymbols
431431
jobs:

.pipelines/PowerShell-vPack-Official.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,19 @@ variables:
5151
value: ${{ parameters.ReleaseTagVar }}
5252
- group: Azure Blob variable group
5353
- group: certificate_logical_to_actual # used within signing task
54+
<<<<<<< HEAD
55+
=======
56+
- name: templateFile
57+
value: ${{ iif ( parameters.OfficialBuild, 'v2/Microsoft.Official.yml@onebranchTemplates', 'v2/Microsoft.NonOfficial.yml@onebranchTemplates' ) }}
58+
- group: DotNetPrivateBuildAccess
59+
- group: certificate_logical_to_actual
60+
# We shouldn't be using PATs anymore
61+
# - group: mscodehub-feed-read-general
62+
>>>>>>> 60a85b1e7 (Make logical template name consistent between pipelines (#25990))
5463

5564
resources:
5665
repositories:
57-
- repository: templates
66+
- repository: onebranchTemplates
5867
type: git
5968
name: OneBranch.Pipelines/GovernedTemplates
6069
ref: refs/heads/main

0 commit comments

Comments
 (0)