Skip to content

Commit 3b6af21

Browse files
authored
Refactor release pipeline to remove versioning from output filenames for MSIX and NPM packages (#201)
Fixes #200
1 parent 9083424 commit 3b6af21

File tree

1 file changed

+24
-7
lines changed

1 file changed

+24
-7
lines changed

.pipelines/release.yml

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,31 @@ extends:
124124
inputs:
125125
rootFolderOrFile: $(Pipeline.Workspace)/cli-binaries/win-x64
126126
includeRootFolder: false
127-
archiveFile: $(Pipeline.Workspace)/winappcli-$(version)-x64.zip
127+
archiveFile: $(Pipeline.Workspace)/winappcli-x64.zip
128128

129129
- task: ArchiveFiles@2
130130
displayName: Archive CLI binaries - arm64
131131
inputs:
132132
rootFolderOrFile: $(Pipeline.Workspace)/cli-binaries/win-arm64
133133
includeRootFolder: false
134-
archiveFile: $(Pipeline.Workspace)/winappcli-$(version)-arm64.zip
134+
archiveFile: $(Pipeline.Workspace)/winappcli-arm64.zip
135+
136+
- task: PowerShell@2
137+
displayName: Rename files
138+
inputs:
139+
targetType: 'inline'
140+
script: |
141+
# Rename MSIX files, removing version in between underscores, keeping anything after the next underscore
142+
Get-ChildItem "$(Pipeline.Workspace)/msix-packages/" -Filter "*.msix" | ForEach-Object {
143+
$newName = $_.Name -replace 'winappcli_(.+?)_(.+)', 'winappcli_$2'
144+
Rename-Item -Path $_.FullName -NewName $newName
145+
}
146+
147+
# Rename NPM package to remove the version from the filename
148+
Get-ChildItem "$(Pipeline.Workspace)/npm-package/" -Filter "*.tgz" | ForEach-Object {
149+
$newName = $_.Name -replace 'microsoft-winappcli-(.+?).tgz', 'microsoft-winappcli.tgz'
150+
Rename-Item -Path $_.FullName -NewName $newName
151+
}
135152
136153
- ${{ if ne(parameters.GitHubReleaseAlreadyExists, 'true') }}:
137154
- task: GitHubRelease@1
@@ -161,18 +178,18 @@ extends:
161178
## Installation Options
162179
163180
### 📦 MSIX Installer (Recommended)
164-
1. Download `winappcli_$(version).0_x64.msix` for x64 or `winappcli_$(version).0_arm64.msix` for ARM64
181+
1. Download `winappcli_x64.msix` for x64 or `winappcli_arm64.msix` for ARM64
165182
2. Double-click to install
166183
3. Automatically added to PATH
167184
168185
### 📦 Standalone CLI Binaries
169-
1. Download `winappcli-$(version)-x64.zip` for x64 or `winappcli-$(version)-arm64.zip` for ARM64
186+
1. Download `winappcli-x64.zip` for x64 or `winappcli-arm64.zip` for ARM64
170187
2. Extract to your desired location
171188
3. Add to PATH or run directly: `winapp.exe`
172189
173190
### 📚 NPM Package (for Electron or NodeJS)
174191
```bash
175-
npm install microsoft-winappcli-$(version).tgz
192+
npm install microsoft-winappcli.tgz
176193
```
177194
178195
## What's Included
@@ -286,8 +303,8 @@ extends:
286303
Write-Host "Fork synced successfully."
287304
288305
# Get the installer URLs from the GitHub release
289-
$x64MsixUrl = "https://github.com/microsoft/winappcli/releases/download/v$(version)/winappcli_$(version).0_x64.msix"
290-
$arm64MsixUrl = "https://github.com/microsoft/winappcli/releases/download/v$(version)/winappcli_$(version).0_arm64.msix"
306+
$x64MsixUrl = "https://github.com/microsoft/winappcli/releases/download/v$(version)/winappcli_x64.msix"
307+
$arm64MsixUrl = "https://github.com/microsoft/winappcli/releases/download/v$(version)/winappcli_arm64.msix"
291308
292309
Write-Host "Submitting to WinGet..."
293310
Write-Host "Version: $(version)"

0 commit comments

Comments
 (0)