mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 03:37:59 +01:00
Updates to WinGet publish script (#40002)
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.
This commit is contained in:
1
.github/actions/spell-check/expect.txt
vendored
1
.github/actions/spell-check/expect.txt
vendored
@@ -752,6 +752,7 @@ iwr
|
|||||||
jfif
|
jfif
|
||||||
jgeosdfsdsgmkedfgdfgdfgbkmhcgcflmi
|
jgeosdfsdsgmkedfgdfgdfgbkmhcgcflmi
|
||||||
jjw
|
jjw
|
||||||
|
JLO
|
||||||
jobject
|
jobject
|
||||||
jpe
|
jpe
|
||||||
jpnime
|
jpnime
|
||||||
|
|||||||
39
.github/workflows/package-submissions.yml
vendored
39
.github/workflows/package-submissions.yml
vendored
@@ -1,5 +1,4 @@
|
|||||||
name: WinGet submission on release
|
name: WinGet submission on release
|
||||||
# based off of https://github.com/nushell/nushell/blob/main/.github/workflows/winget-submission.yml
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
@@ -9,23 +8,31 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
winget:
|
winget:
|
||||||
name: Publish winget package
|
name: Publish winget package
|
||||||
|
|
||||||
|
# winget-create is only supported on Windows
|
||||||
runs-on: windows-latest
|
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:
|
steps:
|
||||||
- name: Submit Microsoft.PowerToys package to Windows Package Manager Community Repository
|
- name: Submit Microsoft.PowerToys package to Windows Package Manager Community Repository
|
||||||
run: |
|
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')
|
||||||
|
|
||||||
$wingetPackage = "Microsoft.PowerToys"
|
# Update package using wingetcreate
|
||||||
$gitToken = "${{ secrets.PT_WINGET }}"
|
curl.exe -JLO https://aka.ms/wingetcreate/latest
|
||||||
|
.\wingetcreate.exe update Microsoft.PowerToys `
|
||||||
$github = Invoke-RestMethod -uri "https://api.github.com/repos/Microsoft/PowerToys/releases"
|
--version $packageVersion `
|
||||||
|
--urls "$x64UserInstallerUrl|user" "$x64MachineInstallerUrl|machine" "$arm64UserInstallerUrl|user" "$arm64MachineInstallerUrl|machine" `
|
||||||
$targetRelease = $github | Where-Object -Property name -match 'Release'| Select -First 1
|
--submit
|
||||||
$installerUserX64Url = $targetRelease | Select -ExpandProperty assets -First 1 | Where-Object -Property name -match 'PowerToysUserSetup.*x64' | Select -ExpandProperty browser_download_url
|
|
||||||
$installerMachineX64Url = $targetRelease | Select -ExpandProperty assets -First 1 | Where-Object -Property name -match 'PowerToysSetup.*x64' | Select -ExpandProperty browser_download_url
|
|
||||||
$installerUserArmUrl = $targetRelease | Select -ExpandProperty assets -First 1 | Where-Object -Property name -match 'PowerToysUserSetup.*arm64' | Select -ExpandProperty browser_download_url
|
|
||||||
$installerMachineArmUrl = $targetRelease | Select -ExpandProperty assets -First 1 | Where-Object -Property name -match 'PowerToysSetup.*arm64' | Select -ExpandProperty browser_download_url
|
|
||||||
$ver = $targetRelease.tag_name -ireplace '^v'
|
|
||||||
|
|
||||||
# getting latest wingetcreate file
|
|
||||||
iwr https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe
|
|
||||||
.\wingetcreate.exe update $wingetPackage -s -v $ver -u "$installerUserX64Url|user" "$installerMachineX64Url|machine" "$installerUserArmUrl|user" "$installerMachineArmUrl|machine" -t $gitToken
|
|
||||||
|
|||||||
Reference in New Issue
Block a user