Skip to content

Commit fcf6fbe

Browse files
authored
Merge pull request #6972 from dibarbet/dev/dibarbet/1es_templates
Migrate to 1es templates for official build
2 parents 6049c67 + c02d2dc commit fcf6fbe

File tree

5 files changed

+276
-176
lines changed

5 files changed

+276
-176
lines changed

azure-pipelines-official.yml

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,39 @@ trigger:
55
- release
66
- prerelease
77
pr: none
8-
98
parameters:
10-
# Allows the version number to be set manually for a specific build.
11-
# Useful when we need to create an updated extension version with no changes (for example to fix a bad partial release).
12-
- name: versionNumberOverride
13-
type: string
14-
default: 'default'
9+
# Allows the version number to be set manually for a specific build.
10+
# Useful when we need to create an updated extension version with no changes (for example to fix a bad partial release).
11+
- name: versionNumberOverride
12+
type: string
13+
default: 'default'
14+
# Allows the marketplace release channel to be set manually for a specific build
15+
# Auto will determine the release channel based on the branch.
16+
- name: channel
17+
values:
18+
- release
19+
- prerelease
20+
- auto
21+
default: auto
1522

16-
stages:
17-
- template: azure-pipelines/build-all.yml
23+
resources:
24+
repositories:
25+
- repository: 1ESPipelineTemplates
26+
type: git
27+
name: 1ESPipelineTemplates/1ESPipelineTemplates
28+
ref: refs/tags/release
29+
extends:
30+
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
1831
parameters:
19-
versionNumberOverride: ${{ parameters.versionNumberOverride }}
20-
21-
# TODO: add compliance, signing.
32+
pool:
33+
name: netcore1espool-internal
34+
image: 1es-windows-2022-pt
35+
os: windows
36+
customBuildTags:
37+
- ES365AIMigrationTooling
38+
stages:
39+
- template: /azure-pipelines/build-all.yml@self
40+
parameters:
41+
versionNumberOverride: ${{ parameters.versionNumberOverride }}
42+
isOfficial: true
43+
channel: ${{ parameters.channel }}

azure-pipelines.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ pr:
1515

1616
stages:
1717
- template: azure-pipelines/build-all.yml
18+
parameters:
19+
isOfficial: false
1820

1921
- stage: Test
2022
displayName: Test

azure-pipelines/build-all.yml

Lines changed: 77 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,94 @@ parameters:
22
- name: versionNumberOverride
33
type: string
44
default: 'default'
5-
5+
- name: isOfficial
6+
type: boolean
7+
- name: channel
8+
values:
9+
- release
10+
- prerelease
11+
- auto
12+
default: auto
613
stages:
714
- stage: Build
815
displayName: 'Build VSIXs'
916
dependsOn: []
1017
jobs:
11-
- template: build.yml
18+
- job: SetChannelVariable
19+
displayName: 'Set Channel Variable'
20+
pool:
21+
${{ if eq(parameters.isOfficial, true) }}:
22+
name: netcore1espool-internal
23+
image: 1es-ubuntu-2204-pt
24+
${{ else }}:
25+
name: Azure Pipelines
26+
vmImage: ubuntu-latest
27+
os: linux
28+
steps:
29+
- pwsh: |
30+
$isPrerelease = $true
31+
if ("${{ parameters.channel }}" -eq "release") {
32+
Write-Host "Channel override set to release, using release channel."
33+
$isPrerelease = $false
34+
} elseif ("${{ parameters.channel }}" -eq "prerelease") {
35+
Write-Host "Channel override set to prerelease, using prerelease channel."
36+
$isPrerelease = $true
37+
} else {
38+
Write-Host "Channel override is ${{ parameters.channel }}, using branch configuration to determine release channel."
39+
Write-Host "Detected branch $(Build.SourceBranchName)"
40+
if ("$(Build.SourceBranchName)" -eq "release") {
41+
Write-Host "Branch is release, using release channel."
42+
$isPrerelease = $false
43+
} else {
44+
Write-Host "Branch is not release, using prerelease channel."
45+
$isPrerelease = $true
46+
}
47+
}
48+
49+
if ( $isPrerelease ) {
50+
Write-Host "Setting pipeline channel variable to Prerelease."
51+
Write-Host "##vso[task.setvariable variable=channel;isoutput=true]Prerelease"
52+
} else {
53+
Write-Host "Setting pipeline channel variable to Release."
54+
Write-Host "##vso[task.setvariable variable=channel;isoutput=true]Release"
55+
}
56+
name: passOutput
57+
58+
- template: /azure-pipelines/build.yml@self
1259
parameters:
1360
versionNumberOverride: ${{ parameters.versionNumberOverride }}
14-
vmImageName: ubuntu-latest
1561
platform: linux
16-
- template: build.yml
62+
isOfficial: ${{ parameters.isOfficial }}
63+
pool:
64+
${{ if eq(parameters.isOfficial, true) }}:
65+
name: netcore1espool-internal
66+
image: 1es-ubuntu-2204-pt
67+
${{ else }}:
68+
name: Azure Pipelines
69+
vmImage: ubuntu-latest
70+
os: linux
71+
- template: /azure-pipelines/build.yml@self
1772
parameters:
1873
versionNumberOverride: ${{ parameters.versionNumberOverride }}
19-
vmImageName: windows-latest
2074
platform: windows
21-
- template: build.yml
75+
isOfficial: ${{ parameters.isOfficial }}
76+
pool:
77+
${{ if eq(parameters.isOfficial, true) }}:
78+
name: netcore1espool-internal
79+
image: 1es-windows-2022-pt
80+
${{ else }}:
81+
name: Azure Pipelines
82+
vmImage: windows-latest
83+
os: windows
84+
- template: /azure-pipelines/build.yml@self
2285
parameters:
2386
versionNumberOverride: ${{ parameters.versionNumberOverride }}
24-
vmImageName: macOS-latest
2587
platform: darwin
88+
isOfficial: ${{ parameters.isOfficial }}
89+
pool:
90+
name: Azure Pipelines
91+
${{ if eq(parameters.isOfficial, true) }}:
92+
image: macOS-latest
93+
${{ else }}:
94+
vmImage: macOS-latest
95+
os: macOS

azure-pipelines/build.yml

Lines changed: 33 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -2,68 +2,52 @@ parameters:
22
- name: versionNumberOverride
33
type: string
44
default: 'default'
5-
- name: vmImageName
6-
type: string
7-
default: ''
85
- name: platform
96
type: string
7+
- name: pool
8+
type: object
9+
- name: isOfficial
10+
type: boolean
1011

1112
jobs:
12-
- job:
13-
displayName: 'Build ${{ parameters.platform }} prerelease vsixs'
14-
pool:
15-
name: Azure Pipelines
16-
vmImage: ${{ parameters.vmImageName }}
17-
steps:
18-
- checkout: self
19-
clean: true
20-
submodules: true
21-
fetchTags: false
22-
fetchDepth: 0
23-
24-
- template: prereqs.yml
25-
parameters:
26-
versionNumberOverride: ${{ parameters.versionNumberOverride }}
27-
28-
- script: gulp vsix:release:package:${{ parameters.platform }} --prerelease
29-
displayName: 'Build VSIXs'
30-
31-
- task: PublishBuildArtifacts@1
32-
condition: succeeded()
33-
displayName: 'Publish VSIXs'
34-
inputs:
35-
PathtoPublish: '$(Build.SourcesDirectory)/vsix'
36-
ArtifactName: 'VSIX_Prerelease'
37-
38-
- script: npm run test:artifacts
39-
displayName: 'Run artifacts tests'
40-
41-
- job:
42-
displayName: 'Build ${{ parameters.platform }} release vsixs'
43-
pool:
44-
name: Azure Pipelines
45-
vmImage: ${{ parameters.vmImageName }}
13+
- job: 'Build_${{ parameters.platform }}_vsixs'
14+
pool: ${{ parameters.pool }}
15+
displayName: 'Build ${{ parameters.platform }} vsixs'
16+
dependsOn: SetChannelVariable
17+
variables:
18+
channel: $[ dependencies.SetChannelVariable.outputs['passOutput.channel'] ]
4619
steps:
4720
- checkout: self
4821
clean: true
4922
submodules: true
5023
fetchTags: false
5124
fetchDepth: 0
52-
53-
- template: prereqs.yml
25+
- template: /azure-pipelines/prereqs.yml@self
5426
parameters:
5527
versionNumberOverride: ${{ parameters.versionNumberOverride }}
56-
57-
- script: gulp vsix:release:package:${{ parameters.platform }}
28+
- pwsh: |
29+
Write-Host "Building VSIXs for platform ${{ parameters.platform }} and channel $(channel)"
30+
if ("$(channel)" -eq "Release") {
31+
gulp vsix:release:package:${{ parameters.platform }}
32+
} else {
33+
gulp vsix:release:package:${{ parameters.platform }} --prerelease
34+
}
5835
displayName: 'Build VSIXs'
5936
60-
- task: PublishBuildArtifacts@1
61-
condition: succeeded()
62-
displayName: 'Publish VSIXs'
63-
inputs:
64-
PathtoPublish: '$(Build.SourcesDirectory)/vsix'
65-
ArtifactName: 'VSIX_Release'
37+
- ${{ if eq(parameters.isOfficial, true) }}:
38+
- task: 1ES.PublishBuildArtifacts@1
39+
condition: succeeded()
40+
displayName: 'Publish VSIXs'
41+
inputs:
42+
PathtoPublish: '$(Build.SourcesDirectory)/vsix'
43+
ArtifactName: 'VSIX_$(channel)'
44+
- ${{ else }}:
45+
- task: PublishBuildArtifacts@1
46+
condition: succeeded()
47+
displayName: 'Publish VSIXs'
48+
inputs:
49+
PathtoPublish: '$(Build.SourcesDirectory)/vsix'
50+
ArtifactName: 'VSIX_$(channel)'
6651

6752
- script: npm run test:artifacts
68-
displayName: 'Run artifacts tests'
69-
53+
displayName: 'Run artifacts tests'

0 commit comments

Comments
 (0)