mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-15 19:27:56 +01:00
Few updates to the WinGet publish workflow action - Use GitHub release event instead of manually making an API call to GitHub API and then fetching the target release. The target release is directly accessible via the event. The refactor is similar to the GitHub action of [microsoft/edit](https://github.com/microsoft/edit/blob/main/.github/workflows/winget.yml) repo's workflow - With the latest winget-create release, the preferred method for providing the GitHub token in CI/CD environment is via the environment variable `WINGET_CREATE_GITHUB_TOKEN`. Removed use of `--token` and switched to environment variable. See https://aka.ms/winget-create-token for details.
39 lines
1.8 KiB
YAML
39 lines
1.8 KiB
YAML
name: WinGet submission on release
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
release:
|
|
types: [published]
|
|
|
|
jobs:
|
|
winget:
|
|
name: Publish winget package
|
|
|
|
# winget-create is only supported on Windows
|
|
runs-on: windows-latest
|
|
|
|
# winget-create will read the following environment variable to access the GitHub token needed for submitting a PR
|
|
# See https://aka.ms/winget-create-token
|
|
env:
|
|
WINGET_CREATE_GITHUB_TOKEN: ${{ secrets.PT_WINGET }}
|
|
|
|
# Only submit stable releases
|
|
if: ${{ !github.event.release.prerelease }}
|
|
steps:
|
|
- name: Submit Microsoft.PowerToys package to Windows Package Manager Community Repository
|
|
run: |
|
|
# Get installer info from GitHub release event
|
|
$assets = '${{ toJSON(github.event.release.assets) }}' | ConvertFrom-Json
|
|
$x64UserInstallerUrl = $assets | Where-Object -Property name -match 'PowerToysUserSetup.*x64' | Select -ExpandProperty browser_download_url
|
|
$x64MachineInstallerUrl = $assets | Where-Object -Property name -match 'PowerToysSetup.*x64' | Select -ExpandProperty browser_download_url
|
|
$arm64UserInstallerUrl = $assets | Where-Object -Property name -match 'PowerToysUserSetup.*arm64' | Select -ExpandProperty browser_download_url
|
|
$arm64MachineInstallerUrl = $assets | Where-Object -Property name -match 'PowerToysSetup.*arm64' | Select -ExpandProperty browser_download_url
|
|
$packageVersion = (${{ toJSON(github.event.release.tag_name) }}).Trim('v')
|
|
|
|
# Update package using wingetcreate
|
|
curl.exe -JLO https://aka.ms/wingetcreate/latest
|
|
.\wingetcreate.exe update Microsoft.PowerToys `
|
|
--version $packageVersion `
|
|
--urls "$x64UserInstallerUrl|user" "$x64MachineInstallerUrl|machine" "$arm64UserInstallerUrl|user" "$arm64MachineInstallerUrl|machine" `
|
|
--submit
|