Add winget.yml to automate winget requests (#12026)
* Revert "Removed winget.yml" This reverts commit f32da000c43e8d50d5522da04dd6297d56bde8ea. * Updated to be release only * updates from PR
Craig Loewen committed
Oct 3, 2024 at 13:48 UTC
a7eaca8a1f05773cb1d71164ae0bda79da18f59b
1 file changed
+30
.github/workflows/winget.yml
new
+30
@@ -0,0 +1,30 @@
1
+name: Publish to Winget
2
+
3
+on:
4
+ release:
5
+ types: [published]
6
+
7
+jobs:
8
+ publish:
9
+ if: github.event.release.prerelease == false
10
+ runs-on: windows-latest # Action can only run on Windows
11
+ steps:
12
+ - name: Publish WSL
13
+ run: |
14
+
15
+ Set-StrictMode -Version Latest
16
+ $ErrorActionPreference = "Stop"
17
+
18
+ $assets = '${{ toJSON(github.event.release.assets) }}' | ConvertFrom-Json
19
+ $wingetRelevantAssetx64 = $assets | Where-Object { $_.name -like '*x64.msi' } | Select-Object -First 1
20
+ $wingetRelevantAssetARM64 = $assets | Where-Object { $_.name -like '*arm64.msi' } | Select-Object -First 1
21
+
22
+ $version = "${{ github.event.release.tag_name }}"
23
+
24
+ $wingetx64URL = $wingetRelevantAssetx64.browser_download_url
25
+ $wingetARM64URL = $wingetRelevantAssetARM64.browser_download_url
26
+
27
+ $wingetPackage = "Microsoft.WSL"
28
+
29
+ & curl.exe -JLO https://aka.ms/wingetcreate/latest
30
+ & .\wingetcreate.exe update $wingetPackage -s -v $version -u "$wingetx64URL|x64" "$wingetARM64URL|arm64" -t "${{ secrets.WINGET_TOKEN }}"