diff --git a/.github/workflows/winget.yml b/.github/workflows/winget.yml new file mode 100644 index 00000000..0241c1cc --- /dev/null +++ b/.github/workflows/winget.yml @@ -0,0 +1,29 @@ +name: WinGet submission on release + +on: + workflow_dispatch: + release: + types: [published] + +jobs: + winget: + name: Publish winget package + runs-on: windows-latest + steps: + - name: Submit package to Windows Package Manager Community Repository + run: | + $wingetPackage = "SteamRE.DepotDownloader" + + $github = Invoke-RestMethod -uri "https://api.github.com/repos/SteamRE/DepotDownloader/releases" + + $targetRelease = $github | Where-Object -Property name -match '^DepotDownloader' | Select -First 1 + $assets = $targetRelease | Select -ExpandProperty assets -First 1 + $zipX64Url = $assets | Where-Object -Property name -match 'DepotDownloader-windows-x64.zip' | Select -ExpandProperty browser_download_url + $zipArm64Url = $assets | Where-Object -Property name -match 'DepotDownloader-windows-arm64.zip' | Select -ExpandProperty browser_download_url + $ver = $targetRelease.tag_name -ireplace '^(DepotDownloader[ _])?v?' + + # getting latest wingetcreate file + iwr https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe + + # how to create a token: https://github.com/microsoft/winget-create?tab=readme-ov-file#github-personal-access-token-classic-permissions + .\wingetcreate.exe update $wingetPackage --submit --version $ver --urls "$zipX64Url" "$zipArm64Url" --token "${{ secrets.PT_WINGET }}"