Skip to content

Commit bbae6de

Browse files
committed
Add CI action for publishing package to WinGet
1 parent 458b787 commit bbae6de

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Submit published release to WinGet community repository
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
publish-winget:
9+
name: Submit to WinGet repository
10+
runs-on: windows-latest
11+
if: ${{ !github.event.release.prerelease }}
12+
steps:
13+
# Sometimes wingetcreate may fail to sync fork automatically, so we do it manually here.
14+
# Ref: https://github.com/microsoft/winget-create/issues/502
15+
- name: Sync winget-pkgs fork
16+
# TODO: Replace <repo-owner> with the owner of the fork
17+
run: gh repo sync <repo-owner>/winget-pkgs -b master
18+
env:
19+
GH_TOKEN: ${{ secrets.WINGET_GITHUB_TOKEN }}
20+
- name: Submit package using wingetcreate
21+
run: |
22+
# Get installer info from release event
23+
$assets = '${{ toJSON(github.event.release.assets) }}' | ConvertFrom-Json
24+
$x64InstallerUrl = $assets | Where-Object -Property name -eq 'sqlcmd-amd64.msi' | Select-Object -ExpandProperty browser_download_url
25+
$armInstallerUrl = $assets | Where-Object -Property name -eq 'sqlcmd-arm.msi' | Select-Object -ExpandProperty browser_download_url
26+
$arm64InstallerUrl = $assets | Where-Object -Property name -eq 'sqlcmd-arm64.msi' | Select-Object -ExpandProperty browser_download_url
27+
$packageVersion = (${{ toJSON(github.event.release.tag_name) }}).Trim('v')
28+
29+
# Update package using wingetcreate
30+
Invoke-WebRequest https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe
31+
.\wingetcreate.exe update Microsoft.Sqlcmd --version $packageVersion --urls "$x64InstallerUrl|x64" "$armInstallerUrl|arm" "$arm64InstallerUrl|arm64" --submit --token "${{ secrets.WINGET_GITHUB_TOKEN }}"

0 commit comments

Comments
 (0)