Skip to content

Commit 8086d9c

Browse files
author
Sanju Yadav
committed
Task release pipeline add semvar changes
1 parent 8c95a91 commit 8086d9c

File tree

3 files changed

+35
-4
lines changed

3 files changed

+35
-4
lines changed

azure-pipelines.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ variables:
3131
value: 'false'
3232
- name: isDryRun
3333
value: 'false'
34+
- name: useSemverBuildConfig
35+
displayName: Use Semver Build Config to support canary rollout
36+
type: boolean
37+
default: false
38+
3439

3540
extends:
3641
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
@@ -84,6 +89,8 @@ extends:
8489
- template: /ci/build-all-steps.yml@self
8590
parameters:
8691
os: Windows_NT
92+
useSemverBuildConfig: ${{ parameters.useSemverBuildConfig }}
93+
generateReleaseNotes: ${{ parameters.generateReleaseNotes }}
8794

8895
# All tasks on Linux
8996
- job: build_all_linux
@@ -98,6 +105,7 @@ extends:
98105
- template: /ci/build-all-steps.yml@self
99106
parameters:
100107
os: Linux
108+
useSemverBuildConfig: ${{ parameters.useSemverBuildConfig }}
101109

102110
# All tasks on macOS
103111
- job: build_all_darwin
@@ -112,3 +120,4 @@ extends:
112120
- template: /ci/build-all-steps.yml@self
113121
parameters:
114122
os: Darwin
123+
useSemverBuildConfig: ${{ parameters.useSemverBuildConfig }}

ci/build-all-steps.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
parameters:
22
os: ''
3+
useSemverBuildConfig: false
4+
generateReleaseNotes: true
35

46
steps:
57

@@ -68,6 +70,11 @@ steps:
6870
6971
- script: dotnet run --project BuildConfigGen/BuildConfigGen.csproj --no-launch-profile -- --all-tasks
7072
displayName: Verify generated files across tasks are up-to-date (Ensure BuildConfigGen outputs are consistent)
73+
condition: eq(${{ parameters.useSemverBuildConfig }}, false)
74+
75+
- script: dotnet run --project BuildConfigGen/BuildConfigGen.csproj --no-launch-profile -- --all-tasks --use-semver-build-config
76+
displayName: Verify generated files across tasks are up-to-date (Ensure BuildConfigGen outputs are consistent)
77+
condition: eq(${{ parameters.useSemverBuildConfig }}, true)
7178

7279
- powershell: ./ci/set-sprint-variables.ps1
7380
displayName: Set currentSprint variables
@@ -131,7 +138,11 @@ steps:
131138
# Build Tasks
132139
- script: node make.js serverBuild --task "$(getTaskPattern.task_pattern)" $(includeLocalPackagesBuildConfigParameter)
133140
displayName: Build Tasks
134-
condition: and(succeeded(), ne(variables['numTasks'], 0))
141+
condition: and(succeeded(), ne(variables['numTasks'], 0), eq('${{ parameters.useSemverBuildConfig }}', false))
142+
143+
- script: node make.js serverBuild --task "$(getTaskPattern.task_pattern)" $(includeLocalPackagesBuildConfigParameter) --useSemverBuildConfig true
144+
displayName: Build Tasks
145+
condition: and(succeeded(), ne(variables['numTasks'], 0), eq('${{ parameters.useSemverBuildConfig }}', true))
135146

136147
- script: node ./ci/after-build-check-tasks.js
137148
displayName: After build tasks validation
@@ -225,7 +236,8 @@ steps:
225236
succeeded(),
226237
in(variables['build.reason'], 'Schedule', 'Manual'),
227238
eq(variables['COURTESY_PUSH'], 'true'),
228-
eq(variables['Build.SourceBranch'], 'refs/heads/master')
239+
eq(variables['Build.SourceBranch'], 'refs/heads/master'),
240+
eq(${{ parameters.generateReleaseNotes }}, true)
229241
)
230242
continueOnError: true
231243
displayName: Create Release

ci/build-all-tasks.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
parameters:
44
- name: deploy_all_tasks
55
type: boolean
6+
- name: useSemverBuildConfig
7+
type: boolean
68

79
steps:
810
# Clean
@@ -36,12 +38,20 @@ steps:
3638
# Build tasks
3739
- script: node make.js serverBuild --task "$(task_pattern)" $(includeLocalPackagesBuildConfigParameter)
3840
displayName: Build tasks using pattern
39-
condition: and(succeeded(), eq('${{ parameters.deploy_all_tasks }}', false))
41+
condition: and(succeeded(), eq('${{ parameters.deploy_all_tasks }}', false), eq(${{ parameters.useSemverBuildConfig }}, false))
42+
43+
- script: node make.js serverBuild --task "$(task_pattern)" $(includeLocalPackagesBuildConfigParameter) --useSemverBuildConfig true;
44+
displayName: Build tasks using pattern
45+
condition: and(succeeded(), eq('${{ parameters.deploy_all_tasks }}', false), eq(${{ parameters.useSemverBuildConfig }}, true))
4046

4147
# Build all tasks
4248
- script: node make.js serverBuild $(includeLocalPackagesBuildConfigParameter)
4349
displayName: Build all tasks
44-
condition: and(succeeded(), eq('${{ parameters.deploy_all_tasks }}', true))
50+
condition: and(succeeded(), eq('${{ parameters.deploy_all_tasks }}', true), eq(${{ parameters.useSemverBuildConfig }}, false))
51+
52+
- script: node make.js serverBuild $(includeLocalPackagesBuildConfigParameter) --useSemverBuildConfig true;
53+
displayName: Build all tasks
54+
condition: and(succeeded(), eq('${{ parameters.deploy_all_tasks }}', true), eq(${{ parameters.useSemverBuildConfig }}, true))
4555

4656
# Stage tasks individually into the package directory
4757
- script: node ./ci/stage-package.js true individually

0 commit comments

Comments
 (0)