@splitfireai / agent / commits / cadd26a

Rename the winget package to SplitFireAI.Agent

SplitFireAI.splitfire-agent repeated the publisher in the package segment. SplitFireAI.Agent follows winget's Publisher.Product convention. Nothing is merged under the old ID, so no users are affected. The exe name, command alias, moniker and zip asset name stay as they are, since those describe the binary and not the package. The release workflow also now checks for an open "New package" PR before submitting. Until the first one merges, the folder check is always false, so each dispatch opened another PR and Package Request issue for the same package. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Seto committed Oct 20, 2026 at 22:09 UTC cadd26ab994de3a1dbb97132fe0c38a34aa652fa
4 files changed +25 -8
.github/workflows/release-winget.yml
+22 -5
@@ -36,7 +36,7 @@ permissions:
36
37 env:
38 REPO: SplitFireAI/splitfire-agent
39 - PACKAGE_IDENTIFIER: SplitFireAI.splitfire-agent
39 + PACKAGE_IDENTIFIER: SplitFireAI.Agent
40
41 jobs:
42 submit-winget-manifest:
@@ -92,7 +92,7 @@ jobs:
92 GH_TOKEN: ${{ github.token }}
93 run: |
94 # Manifests are filed under the lowercased first letter of the
95 - # publisher, e.g. manifests/s/SplitFireAI/splitfire-agent.
95 + # publisher, e.g. manifests/s/SplitFireAI/Agent.
96 PUBLISHER="${PACKAGE_IDENTIFIER%%.*}"
97 NAME="${PACKAGE_IDENTIFIER#*.}"
98 FIRST=$(echo "${PUBLISHER:0:1}" | tr '[:upper:]' '[:lower:]')
@@ -101,13 +101,29 @@ jobs:
101 if gh api "repos/microsoft/winget-pkgs/contents/${PATH_IN_REPO}" >/dev/null 2>&1; then
102 echo "Found ${PACKAGE_IDENTIFIER} at ${PATH_IN_REPO}; submitting an update."
103 echo "found=true" >> "$GITHUB_OUTPUT"
104 + echo "pending=false" >> "$GITHUB_OUTPUT"
105 + exit 0
106 + fi
107 +
108 + echo "found=false" >> "$GITHUB_OUTPUT"
109 +
110 + # Until the first New-package PR merges the folder check above is
111 + # always false, so without this every release would open another
112 + # PR and Package Request issue for the same package.
113 + OPEN_PR=$(gh pr list --repo microsoft/winget-pkgs --state open \
114 + --search "New package: ${PACKAGE_IDENTIFIER} in:title" \
115 + --json number,url --jq '.[0].url // empty')
116 +
117 + if [ -n "$OPEN_PR" ]; then
118 + echo "No ${PACKAGE_IDENTIFIER} at ${PATH_IN_REPO}, but ${OPEN_PR} is already open; not submitting again."
119 + echo "pending=true" >> "$GITHUB_OUTPUT"
120 else
121 echo "No ${PACKAGE_IDENTIFIER} at ${PATH_IN_REPO}; submitting it as a new package."
106 - echo "found=false" >> "$GITHUB_OUTPUT"
122 + echo "pending=false" >> "$GITHUB_OUTPUT"
123 fi
124
125 - name: Render manifests for a first submission
110 - if: steps.exists.outputs.found == 'false'
126 + if: steps.exists.outputs.found == 'false' && steps.exists.outputs.pending != 'true'
127 shell: bash
128 run: |
129 TAG="${{ steps.release.outputs.tag }}"
@@ -150,6 +166,7 @@ jobs:
166 # scope error without them.
167 - name: File the winget Package Request issue
168 id: issue
169 + if: steps.exists.outputs.pending != 'true'
170 shell: bash
171 env:
172 GH_TOKEN: ${{ secrets.WINGET_ISSUE_TOKEN }}
@@ -197,7 +214,7 @@ jobs:
214
215 - name: Submit new package
216 id: submit_new
200 - if: steps.exists.outputs.found == 'false'
217 + if: steps.exists.outputs.found == 'false' && steps.exists.outputs.pending != 'true'
218 shell: pwsh
219 env:
220 WINGET_CREATE_GITHUB_TOKEN: ${{ secrets.WINGET_PR_TOKEN }}
packaging/winget/SplitFireAI.Agent.installer.yaml.in renamed
+1 -1
@@ -1,5 +1,5 @@
1 # yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.12.0.schema.json
2 -PackageIdentifier: SplitFireAI.splitfire-agent
2 +PackageIdentifier: SplitFireAI.Agent
3 PackageVersion: @VERSION@
4 InstallerType: zip
5 # `NestedInstallerType` and `NestedInstallerFiles` tell winget where to find
packaging/winget/SplitFireAI.Agent.locale.en-US.yaml.in renamed
+1 -1
@@ -1,5 +1,5 @@
1 # yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.12.0.schema.json
2 -PackageIdentifier: SplitFireAI.splitfire-agent
2 +PackageIdentifier: SplitFireAI.Agent
3 PackageVersion: @VERSION@
4 PackageLocale: en-US
5 Publisher: SplitFireAI
packaging/winget/SplitFireAI.Agent.yaml.in renamed
+1 -1
@@ -1,5 +1,5 @@
1 # yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.12.0.schema.json
2 -PackageIdentifier: SplitFireAI.splitfire-agent
2 +PackageIdentifier: SplitFireAI.Agent
3 PackageVersion: @VERSION@
4 DefaultLocale: en-US
5 ManifestType: version