Skip to content

Commit fbfb793

Browse files
Add daily version suffix for extension CI builds
Mirrors core CLI pattern: appends -daily.<BuildId> for CI builds, -pr.<BuildId> for PR builds, skips for Manual (release) builds. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent ad493cb commit fbfb793

File tree

3 files changed

+60
-0
lines changed

3 files changed

+60
-0
lines changed

eng/pipelines/templates/stages/build-and-test-azd-extension.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ stages:
110110
steps:
111111
- checkout: self
112112

113+
- template: /eng/pipelines/templates/steps/set-extension-version-cd.yml
114+
parameters:
115+
AzdExtensionDirectory: ${{ parameters.AzdExtensionDirectory }}
116+
113117
- task: PowerShell@2
114118
displayName: Set extension version variable
115119
inputs:
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
parameters:
2+
- name: AzdExtensionDirectory
3+
type: string
4+
5+
steps:
6+
- task: PowerShell@2
7+
displayName: Set extension version for CD release
8+
inputs:
9+
pwsh: true
10+
targetType: filePath
11+
filePath: eng/scripts/Set-ExtensionVersionInBuild.ps1
12+
arguments: >-
13+
-ExtensionDirectory ${{ parameters.AzdExtensionDirectory }}
14+
-BuildReason ($env:BUILDREASONOVERRIDE ?? '$(Build.Reason)')
15+
-BuildId $(Build.BuildId)
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<#
2+
.SYNOPSIS
3+
Appends a prerelease suffix to the extension's version.txt for CI/PR builds.
4+
Skips for Manual (release) builds.
5+
6+
.PARAMETER ExtensionDirectory
7+
Path to the extension directory containing version.txt.
8+
9+
.PARAMETER BuildReason
10+
The build reason from CI (e.g. Build.Reason).
11+
12+
.PARAMETER BuildId
13+
A unique build ID from CI (e.g. Build.BuildId).
14+
#>
15+
param(
16+
[Parameter(Mandatory)] [string] $ExtensionDirectory,
17+
[string] $BuildReason,
18+
[string] $BuildId
19+
)
20+
21+
Write-Host "Build reason: $BuildReason"
22+
23+
$prereleaseCategory = ""
24+
25+
if ($BuildReason -eq "Manual") {
26+
Write-Host "Skipping prerelease tagging for release build."
27+
exit 0
28+
}
29+
elseif ($BuildReason -eq "PullRequest") {
30+
$prereleaseCategory = "pr"
31+
}
32+
else {
33+
$prereleaseCategory = "daily"
34+
}
35+
36+
$versionFile = Join-Path $ExtensionDirectory "version.txt"
37+
$version = Get-Content $versionFile
38+
$newVersion = "$version-$prereleaseCategory.$BuildId"
39+
40+
Set-Content $versionFile -Value $newVersion
41+
Write-Host "Set version.txt contents to: $newVersion"

0 commit comments

Comments
 (0)