summaryrefslogtreecommitdiff
path: root/llama.cpp/.github/workflows/winget.yml
diff options
context:
space:
mode:
Diffstat (limited to 'llama.cpp/.github/workflows/winget.yml')
-rw-r--r--llama.cpp/.github/workflows/winget.yml44
1 files changed, 44 insertions, 0 deletions
diff --git a/llama.cpp/.github/workflows/winget.yml b/llama.cpp/.github/workflows/winget.yml
new file mode 100644
index 0000000..2047c27
--- /dev/null
+++ b/llama.cpp/.github/workflows/winget.yml
@@ -0,0 +1,44 @@
+name: Update Winget Package
+
+on:
+ workflow_dispatch: # allows manual triggering
+ schedule:
+ - cron: '28 5 * * *' # Update every day at 5:28 UTC
+
+jobs:
+ update:
+ name: Update Winget Package
+ runs-on: ubuntu-latest
+ if: github.repository_owner == 'ggml-org'
+
+ steps:
+ - name: Install cargo binstall
+ uses: cargo-bins/cargo-binstall@268643a6b5ea099f5718ee5cd3ff7dc89a5eb49b
+
+ - name: Install komac
+ run: |
+ cargo binstall komac@2.11.2 -y
+
+ - name: Find latest release
+ id: find_latest_release
+ uses: actions/github-script@v8
+ with:
+ script: |
+ const { data: releases } = await github.rest.repos.listReleases({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ });
+ const { tag_name: version, assets: assets } = releases.find(({assets}) => assets.find(asset => asset.name.includes('win-vulkan')));
+ const { browser_download_url: asset_url } = assets.find(asset => asset.name.includes('win-vulkan'));
+ console.log("Latest release:", version);
+ core.setOutput('VERSION', version);
+ core.setOutput('ASSETURL', asset_url);
+
+ - name: Update manifest
+ run: |
+ echo "Updating manifest..."
+ komac update --version ${{ steps.find_latest_release.outputs.VERSION }} \
+ --urls "${{ steps.find_latest_release.outputs.ASSETURL }}" \
+ --token ${{ secrets.WINGET_GITHUB_TOKEN }} \
+ --submit \
+ ggml.llamacpp