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" $headers = @{ Authorization = "Bearer ${{ secrets.GITHUB_TOKEN }}" } $github = Invoke-RestMethod -uri "https://api.github.com/repos/SteamRE/DepotDownloader/releases" -Headers $headers $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 }}"