CmdPal0.1.3 #7
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # To use this template for a new extension: | |
| # 1. Copy this file to a new workflow file (e.g., update-winget.yml) | |
| # 2. Update Environmental variables with your data: | |
| # - GITHUB_REPO with your GitHub repo name | |
| # - GITHUB_REPO with your github user name (e.g., chatasweetie) | |
| # - EXTENSION_NAME with your extension name (e.g., CmdPalMyExtension) | |
| # - YOUR_PACKAGE_IDENTITY_NAME_HERE with the AppxPackageIdentityName located in the <ExtensionName>.csproj | |
| name: Update WinGet - WebSearchShortcut Extension | |
| on: | |
| release: | |
| types: [published] | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Version number (e.g., 0.0.2.0)' | |
| required: false | |
| type: string | |
| release_tag: | |
| description: 'Release tag (e.g., EXTENSION_NAME-v0.0.2.0)' | |
| required: false | |
| type: string | |
| # Global constants: UPDATE THESE, example; EXTENSION_NAME: ${{ vars.EXTENSION_NAME || 'CmdPalMyExtension' }} | |
| env: | |
| EXTENSION_NAME: WebSearchShortcut | |
| GITHUB_USER_NAME: Daydreamer-riri | |
| GITHUB_REPO: CmdPal-WebSearchShortcut | |
| YOUR_PACKAGE_IDENTITY_NAME_HERE: Riri.WebSearchShortcut | |
| jobs: | |
| update-winget: | |
| environment: PT_WINGET | |
| # Only run if this is a matching extension release | |
| if: github.event_name == 'workflow_dispatch' || startsWith(github.event.release.name, 'WebSearchShortcut Extension') | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Get release info | |
| id: release | |
| run: | | |
| if ("${{ github.event_name }}" -eq "workflow_dispatch" -and "${{ inputs.version }}" -ne "") { | |
| # Use provided inputs for manual trigger | |
| echo "VERSION=${{ inputs.version }}" >> $env:GITHUB_OUTPUT | |
| echo "TAG=${{ inputs.release_tag }}" >> $env:GITHUB_OUTPUT | |
| } elseif ("${{ github.event_name }}" -eq "release") { | |
| # Extract from release event | |
| $version = "${{ github.event.release.tag_name }}" -replace "${{ env.EXTENSION_NAME }}-v", "" | |
| echo "VERSION=$version" >> $env:GITHUB_OUTPUT | |
| echo "TAG=${{ github.event.release.tag_name }}" >> $env:GITHUB_OUTPUT | |
| } else { | |
| # Get latest release | |
| $latestRelease = gh release list --limit 1 --json tagName,name | ConvertFrom-Json | Where-Object { $_.name -like "${{ env.EXTENSION_NAME }} Extension*" } | |
| $version = $latestRelease.tagName -replace "${{ env.EXTENSION_NAME }}-v", "" | |
| echo "VERSION=$version" >> $env:GITHUB_OUTPUT | |
| echo "TAG=$($latestRelease.tagName)" >> $env:GITHUB_OUTPUT | |
| } | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Install wingetcreate | |
| run: | | |
| iwr https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe | |
| - name: Update WinGet manifest | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.WINGET_CREATE_GITHUB_TOKEN }} | |
| run: | | |
| $version = "${{ steps.release.outputs.VERSION }}" | |
| $tag = "${{ steps.release.outputs.TAG }}" | |
| # URLs for both installers | |
| $x64Url = "https://github.com/${{ env.GITHUB_USER_NAME }}/${{ env.GITHUB_REPO }}/releases/download/$tag/Riri.WebSearchShortcut_${{ steps.release.outputs.VERSION }}_x64.msix" | |
| $arm64Url = "https://github.com/${{ env.GITHUB_USER_NAME }}/${{ env.GITHUB_REPO }}/releases/download/$tag/Riri.WebSearchShortcut_${{ steps.release.outputs.VERSION }}_arm64.msix" | |
| Write-Host "Updating WinGet manifest for version $version" | |
| Write-Host "x64 URL: $x64Url" | |
| Write-Host "ARM64 URL: $arm64Url" | |
| # Update the manifest with both architecture installers | |
| .\wingetcreate.exe update ${{ env.YOUR_PACKAGE_IDENTITY_NAME_HERE }} ` | |
| --version $version ` | |
| --urls "$x64Url|x64" "$arm64Url|arm64" ` | |
| --token $env:GITHUB_TOKEN ` | |
| --submit |