Skip to content

Commit ddc8539

Browse files
committed
devops: improving build suffix logic
1 parent ab7347d commit ddc8539

File tree

2 files changed

+13
-53
lines changed

2 files changed

+13
-53
lines changed

azure-pipelines.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
name: $(Build.BuildId) # This will be updated during InitializePipeline
1+
variables:
2+
buildNumber: $[ counter('constant', 13000) ] # Start higher than our AppVeyor versions. Every build (pr or branch) will increment.
23

4+
name: 3.0.$(buildNumber)
5+
36
pr:
47
branches:
58
include:
@@ -16,8 +19,6 @@ jobs:
1619
- job: InitializePipeline
1720
pool:
1821
vmImage: 'windows-2019'
19-
variables:
20-
counter: $[ counter('constant', 13000) ] # Start higher than our AppVeyor versions. Every build (pr or branch) will increment.
2122
steps:
2223
- task: AzureKeyVault@1
2324
inputs:
@@ -36,9 +37,13 @@ jobs:
3637
dependsOn: InitializePipeline
3738
condition: and(succeeded(), or(ne(variables['Build.Reason'], 'PullRequest'), eq(dependencies.InitializePipeline.outputs['Initialize.BuildArtifacts'], true)))
3839
variables:
39-
suffix: $[ dependencies.InitializePipeline.outputs['Initialize.Suffix'] ]
40-
emgSuffix: $[ dependencies.InitializePipeline.outputs['Initialize.EmgSuffix'] ]
41-
buildNumber: $[ dependencies.InitializePipeline.outputs['Initialize.BuildNumber'] ]
40+
${{ if or( eq( variables['Build.Reason'], 'PullRequest' ), not( endswith( variables['Build.SourceBranch'], 'release/3.0' ) ) ) }}:
41+
suffixTemp: ci
42+
packSuffixSwitchTemp: --version-suffix ci
43+
emgSuffixSwitchTemp: --version-suffix ci$(buildNumber)
44+
suffix: $[variables.suffixTemp] # this resolves to an empty string if it is missing
45+
packSuffixSwitch: $[variables.packSuffixSwitchTemp]
46+
emgSuffixSwitch: $[variables.emgSuffixSwitchTemp]
4247
pool:
4348
vmImage: 'windows-2019'
4449
steps:
@@ -62,7 +67,7 @@ jobs:
6267
inputs:
6368
command: 'custom'
6469
custom: 'pack'
65-
arguments: '-o packages -p:BuildNumber=$(buildNumber) -p:CommitHash=$(Build.SourceVersion) --version-suffix "$(suffix)" -c Release'
70+
arguments: -o packages -p:BuildNumber=$(buildNumber) -p:CommitHash=$(Build.SourceVersion) -c Release $(packSuffixSwitch)
6671
projects: |
6772
**\WebJobs.Script.csproj
6873
**\WebJobs.Script.WebHost.csproj
@@ -136,7 +141,7 @@ jobs:
136141
inputs:
137142
command: 'custom'
138143
custom: 'pack'
139-
arguments: '--no-build -c Release -o packages --version-suffix "$(emgSuffix)"'
144+
arguments: '--no-build -c Release -o packages $(emgSuffixSwitch)'
140145
projects: |
141146
**\ExtensionsMetadataGenerator.csproj
142147
steps:

build/initialize-pipeline.ps1

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,9 @@ function AcquireLease($blob) {
1111
}
1212
}
1313

14-
# set the build suffix
15-
$sourceBranch = $env:BUILD_SOURCEBRANCH
16-
$sourceBranchName = $env:BUILD_SOURCEBRANCHNAME
1714
$buildReason = $env:BUILD_REASON
18-
$buildNumber = "$env:COUNTER"
19-
Write-Host "Source branch: '$sourceBranch'"
20-
Write-Host "Source branch name: '$sourceBranchName'"
21-
Write-Host "Build reason: '$buildReason'"
22-
Write-Host "Build number: '$buildNumber'"
23-
24-
$buildNamePrefix = ""
25-
$isReleaseBuild = $false
2615

2716
if ($buildReason -eq "PullRequest") {
28-
$sourceBranch = $env:SYSTEM_PULLREQUEST_SOURCEBRANCH
29-
$targetBranch = $env:SYSTEM_PULLREQUEST_TARGETBRANCH
30-
$prNumber = $env:SYSTEM_PULLREQUEST_PULLREQUESTNUMBER
31-
$buildNamePrefix = "(PR $prNumber) "
32-
Write-Host "PR source branch: '$sourceBranch'"
33-
Write-Host "PR target branch: '$targetBranch'"
34-
Write-Host "PR number: '$prNumber'"
35-
Write-Host "Build name prefix: '$buildNamePrefix'"
36-
3717
# parse PR title to see if we should pack this
3818
$response = Invoke-RestMethod api.github.com/repos/$env:BUILD_REPOSITORY_ID/pulls/$env:SYSTEM_PULLREQUEST_PULLREQUESTNUMBER
3919
$title = $response.title.ToLowerInvariant()
@@ -42,33 +22,8 @@ if ($buildReason -eq "PullRequest") {
4222
Write-Host "##vso[task.setvariable variable=BuildArtifacts;isOutput=true]true"
4323
Write-Host "Setting 'BuildArtifacts' to true."
4424
}
45-
} else {
46-
if ($sourceBranch.endswith("release/3.0")) {
47-
Write-Host "This is a release build."
48-
$isReleaseBuild = $true
49-
}
50-
}
51-
52-
$suffix = "ci"
53-
$emgSuffix = "ci$buildNumber" #ExtensionsMetadataGenerator suffix
54-
55-
if ($isReleaseBuild) {
56-
$suffix = ""
57-
$emgSuffix = ""
58-
$buildNamePrefix = "(Release) "
5925
}
6026

61-
$buildName = "$buildNamePrefix" + "3.0." + "$buildNumber"
62-
63-
Write-Host "##vso[task.setvariable variable=Suffix;isOutput=true]$suffix"
64-
Write-Host "##vso[task.setvariable variable=EmgSuffix;isOutput=true]$emgSuffix"
65-
Write-Host "##vso[task.setvariable variable=BuildNumber;isOutput=true]$buildNumber"
66-
Write-Host "##vso[build.updatebuildnumber]$buildName"
67-
Write-Host "Setting 'Suffix' to '$suffix'."
68-
Write-Host "Setting 'EmgSuffix' to '$emgSuffix'."
69-
Write-Host "Setting 'BuildNumber' to '$buildNumber'."
70-
Write-Host "Setting build name to '$buildName'."
71-
7227
# get a blob lease to prevent test overlap
7328
$storageContext = New-AzureStorageContext -ConnectionString $connectionString
7429
While($true) {

0 commit comments

Comments
 (0)