master
yml 32 lines 1.11 KB
Raw
1 name: Publish to WinGet
2
3 on:
4 release:
5 types: [released]
6
7 permissions: {}
8
9 jobs:
10 publish:
11 if: github.event.release.prerelease == false
12 runs-on: windows-latest # Action can only run on Windows
13 steps:
14 - name: Publish WSL
15 run: |
16
17 Set-StrictMode -Version Latest
18 $ErrorActionPreference = "Stop"
19
20 $assets = '${{ toJSON(github.event.release.assets) }}' | ConvertFrom-Json
21 $wingetRelevantAssetx64 = $assets | Where-Object { $_.name -like '*x64.msi' } | Select-Object -First 1
22 $wingetRelevantAssetARM64 = $assets | Where-Object { $_.name -like '*arm64.msi' } | Select-Object -First 1
23
24 $version = "${{ github.event.release.tag_name }}"
25
26 $wingetx64URL = $wingetRelevantAssetx64.browser_download_url
27 $wingetARM64URL = $wingetRelevantAssetARM64.browser_download_url
28
29 $wingetPackageId = "Microsoft.WSL"
30
31 & curl.exe -JLO https://aka.ms/wingetcreate/latest
32 & .\wingetcreate.exe update $wingetPackageId -s -v $version -u "$wingetx64URL|x64" "$wingetARM64URL|arm64" -t "${{ secrets.WINGET_TOKEN }}"