Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 22 additions & 5 deletions .github/workflows/release-winget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ permissions:

env:
REPO: SplitFireAI/splitfire-agent
PACKAGE_IDENTIFIER: SplitFireAI.splitfire-agent
PACKAGE_IDENTIFIER: SplitFireAI.Agent

jobs:
submit-winget-manifest:
Expand Down Expand Up @@ -92,7 +92,7 @@ jobs:
GH_TOKEN: ${{ github.token }}
run: |
# Manifests are filed under the lowercased first letter of the
# publisher, e.g. manifests/s/SplitFireAI/splitfire-agent.
# publisher, e.g. manifests/s/SplitFireAI/Agent.
PUBLISHER="${PACKAGE_IDENTIFIER%%.*}"
NAME="${PACKAGE_IDENTIFIER#*.}"
FIRST=$(echo "${PUBLISHER:0:1}" | tr '[:upper:]' '[:lower:]')
Expand All @@ -101,13 +101,29 @@ jobs:
if gh api "repos/microsoft/winget-pkgs/contents/${PATH_IN_REPO}" >/dev/null 2>&1; then
echo "Found ${PACKAGE_IDENTIFIER} at ${PATH_IN_REPO}; submitting an update."
echo "found=true" >> "$GITHUB_OUTPUT"
echo "pending=false" >> "$GITHUB_OUTPUT"
exit 0
fi

echo "found=false" >> "$GITHUB_OUTPUT"

# Until the first New-package PR merges the folder check above is
# always false, so without this every release would open another
# PR and Package Request issue for the same package.
OPEN_PR=$(gh pr list --repo microsoft/winget-pkgs --state open \
--search "New package: ${PACKAGE_IDENTIFIER} in:title" \
--json number,url --jq '.[0].url // empty')

if [ -n "$OPEN_PR" ]; then
echo "No ${PACKAGE_IDENTIFIER} at ${PATH_IN_REPO}, but ${OPEN_PR} is already open; not submitting again."
echo "pending=true" >> "$GITHUB_OUTPUT"
else
echo "No ${PACKAGE_IDENTIFIER} at ${PATH_IN_REPO}; submitting it as a new package."
echo "found=false" >> "$GITHUB_OUTPUT"
echo "pending=false" >> "$GITHUB_OUTPUT"
fi

- name: Render manifests for a first submission
if: steps.exists.outputs.found == 'false'
if: steps.exists.outputs.found == 'false' && steps.exists.outputs.pending != 'true'
shell: bash
run: |
TAG="${{ steps.release.outputs.tag }}"
Expand Down Expand Up @@ -150,6 +166,7 @@ jobs:
# scope error without them.
- name: File the winget Package Request issue
id: issue
if: steps.exists.outputs.pending != 'true'
shell: bash
env:
GH_TOKEN: ${{ secrets.WINGET_ISSUE_TOKEN }}
Expand Down Expand Up @@ -197,7 +214,7 @@ jobs:

- name: Submit new package
id: submit_new
if: steps.exists.outputs.found == 'false'
if: steps.exists.outputs.found == 'false' && steps.exists.outputs.pending != 'true'
shell: pwsh
env:
WINGET_CREATE_GITHUB_TOKEN: ${{ secrets.WINGET_PR_TOKEN }}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.12.0.schema.json
PackageIdentifier: SplitFireAI.splitfire-agent
PackageIdentifier: SplitFireAI.Agent
PackageVersion: @VERSION@
InstallerType: zip
# `NestedInstallerType` and `NestedInstallerFiles` tell winget where to find
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.12.0.schema.json
PackageIdentifier: SplitFireAI.splitfire-agent
PackageIdentifier: SplitFireAI.Agent
PackageVersion: @VERSION@
PackageLocale: en-US
Publisher: SplitFireAI
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.12.0.schema.json
PackageIdentifier: SplitFireAI.splitfire-agent
PackageIdentifier: SplitFireAI.Agent
PackageVersion: @VERSION@
DefaultLocale: en-US
ManifestType: version
Expand Down
Loading