Added Winget workflow

Craig Loewen committed Sep 11, 2024 at 14:43 UTC ced51871fbfd0ff7943886a3d585106640fd5f66
1 file changed +27
.github/workflows/winget.yml new
+27
@@ -0,0 +1,27 @@
1 +name: Publish to Winget
2 +
3 +on:
4 + release:
5 + types: [published]
6 +
7 +env:
8 + REGEX: 'Microsoft\.WindowsTerminal(?:Preview)?_([\d.]+)_8wekyb3d8bbwe\.msixbundle$'
9 +
10 +jobs:
11 + publish:
12 + runs-on: windows-latest # Action can only run on Windows
13 + steps:
14 + - name: Publish WSL
15 + run: |
16 + $assets = '${{ toJSON(github.event.release.assets) }}' | ConvertFrom-Json
17 + $wingetRelevantAsset = $assets | Where-Object { $_.name -like '*.msixbundle' } | Select-Object -First 1
18 + $regex = [Regex]::New($env:REGEX)
19 + $version = $regex.Match($wingetRelevantAsset.name).Groups[1].Value
20 +
21 + Write-Output "Asset info: $assets"
22 + Write-Output "Relevant asset: $wingetRelevantAsset"
23 +
24 + $wingetPackage = "Microsoft.WSL"
25 +
26 + & curl.exe -JLO https://aka.ms/wingetcreate/latest
27 + & .\wingetcreate.exe update $wingetPackage -s -v $version -u $wingetRelevantAsset.browser_download_url -t "${{ secrets.WINGET_TOKEN }}"
\ No newline at end of file