diff --git a/.github/workflows/winget-submission.yml b/.github/workflows/winget-submission.yml new file mode 100644 index 0000000..1eb9e55 --- /dev/null +++ b/.github/workflows/winget-submission.yml @@ -0,0 +1,27 @@ +name: Submit DLSS Swapper package to Windows Package Manager Community Repository + +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: | + + $packageId = "beeradmoore.dlss-swapper" + $gitToken = "${{ secrets.WINGET_PAT }}" + + # Fetching latest release from GitHub + $github = Invoke-RestMethod -uri "https://api.github.com/repos/beeradmoore/dlss-swapper/releases" + $targetRelease = $github | Where-Object -Property draft -match 'False' | Select-Object -First 1 + $installerUrl = $targetRelease | Select-Object -ExpandProperty assets -First 1 | Where-Object -Property name -match 'DLSS.Swapper-(.*?)-installer.exe' | Select-Object -ExpandProperty browser_download_url + $packageVersion = $targetRelease.tag_name.Trim("v") + + # Update package using wingetcreate + Invoke-WebRequest https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe + .\wingetcreate.exe update $packageId --version $packageVersion --urls "$installerUrl|x64" --submit --token $gitToken \ No newline at end of file