From f04364539718737933cf4748b8796dcfd5a4fbf7 Mon Sep 17 00:00:00 2001 From: Merrick Zhang Date: Sun, 1 Dec 2024 14:29:10 +0800 Subject: [PATCH] Create winget-publish.yml (#6014) * Create winget-publish.yml Publish to winget after release * Update winget-publish.yml change to released trigger * Create winget-pre-release-publish.yml publish pre-release versions. --- .../workflows/winget-pre-release-publish.yml | 31 +++++++++++++++++++ .github/workflows/winget-publish.yml | 31 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 .github/workflows/winget-pre-release-publish.yml create mode 100644 .github/workflows/winget-publish.yml diff --git a/.github/workflows/winget-pre-release-publish.yml b/.github/workflows/winget-pre-release-publish.yml new file mode 100644 index 00000000..84738f1e --- /dev/null +++ b/.github/workflows/winget-pre-release-publish.yml @@ -0,0 +1,31 @@ +name: WinGet submission on pre-release +# based off of https://github.com/nushell/nushell/blob/main/.github/workflows/winget-submission.yml +# inspired by https://github.com/microsoft/PowerToys/blob/main/.github/workflows/package-submissions.yml +# Modified by @MerrickZ https://github.com/anpho + +on: + workflow_dispatch: + release: + types: [prereleased] + +jobs: + winget: + name: Publish winget package + runs-on: windows-latest + steps: + - name: Submit v2ray package to Windows Package Manager Community Repository + run: | + + $wingetPackage = "2dust.v2rayN.Pre-release" + $gitToken = "${{ secrets.PT_WINGET }}" + + $github = Invoke-RestMethod -uri "https://api.github.com/repos/2dust/v2rayN/releases" + + $targetRelease = $github | Where-Object -Property prerelease -match 'True' | Select -First 1 + $installerUrl = $targetRelease | Select -ExpandProperty assets -First 1 | Where-Object -Property name -match 'v2rayN-windows-64-With-Core\.zip' | Select -ExpandProperty browser_download_url + + $ver = $targetRelease.tag_name + + # getting latest wingetcreate file + iwr https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe + .\wingetcreate.exe update $wingetPackage -s -v $ver -u "$installerUrl|x64" -t $gitToken diff --git a/.github/workflows/winget-publish.yml b/.github/workflows/winget-publish.yml new file mode 100644 index 00000000..50519bbf --- /dev/null +++ b/.github/workflows/winget-publish.yml @@ -0,0 +1,31 @@ +name: WinGet submission on release +# based off of https://github.com/nushell/nushell/blob/main/.github/workflows/winget-submission.yml +# inspired by https://github.com/microsoft/PowerToys/blob/main/.github/workflows/package-submissions.yml +# Modified by @MerrickZ https://github.com/anpho + +on: + workflow_dispatch: + release: + types: [released] + +jobs: + winget: + name: Publish winget package + runs-on: windows-latest + steps: + - name: Submit v2ray package to Windows Package Manager Community Repository + run: | + + $wingetPackage = "2dust.v2rayN" + $gitToken = "${{ secrets.PT_WINGET }}" + + $github = Invoke-RestMethod -uri "https://api.github.com/repos/2dust/v2rayN/releases" + + $targetRelease = $github | Where-Object -Property prerelease -match 'False' | Select -First 1 + $installerUrl = $targetRelease | Select -ExpandProperty assets -First 1 | Where-Object -Property name -match 'v2rayN-With-Core\.zip*' | Select -ExpandProperty browser_download_url + + $ver = $targetRelease.tag_name + + # getting latest wingetcreate file + iwr https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe + .\wingetcreate.exe update $wingetPackage -s -v $ver -u "$installerUrl|x64" -t $gitToken