Context
#297 adds automated WinGet updates using vedantmgoyal9/winget-releaser. The supported authentication path currently requires a classic GitHub PAT with the public_repo scope stored as WINGET_TOKEN.
Microsoft is tracking an OIDC trusted-publishing proposal in microsoft/winget-pkgs#413785. Once WinGet supports external verified publishers through that flow, SecretSpec should stop using the long-lived PAT.
Done when
This migration must retain WinGet's existing manifest validation and release-tag filtering.
Context
#297 adds automated WinGet updates using
vedantmgoyal9/winget-releaser. The supported authentication path currently requires a classic GitHub PAT with thepublic_reposcope stored asWINGET_TOKEN.Microsoft is tracking an OIDC trusted-publishing proposal in microsoft/winget-pkgs#413785. Once WinGet supports external verified publishers through that flow, SecretSpec should stop using the long-lived PAT.
Done when
cachix/secretspecas a trusted publisher forCachix.SecretSpec, restricted to the release workflow and appropriate refs/environment..github/workflows/winget.ymlto request only the required permissions, includingid-token: write.secrets.WINGET_TOKEN/ classic-PAT path with the supported OIDC submission flow.microsoft/winget-pkgsmanifest PR.WINGET_TOKENsetup instructions fromRELEASE.md.WINGET_TOKENrepository secret after the OIDC flow has been verified.This migration must retain WinGet's existing manifest validation and release-tag filtering.