1name: Update Winget Package
2
3on:
4 workflow_dispatch: # allows manual triggering
5 schedule:
6 - cron: '28 5 * * *' # Update every day at 5:28 UTC
7
8jobs:
9 update:
10 name: Update Winget Package
11 runs-on: ubuntu-latest
12 if: github.repository_owner == 'ggml-org'
13
14 steps:
15 - name: Install cargo binstall
16 uses: cargo-bins/cargo-binstall@268643a6b5ea099f5718ee5cd3ff7dc89a5eb49b
17
18 - name: Install komac
19 run: |
20 cargo binstall komac@2.11.2 -y
21
22 - name: Find latest release
23 id: find_latest_release
24 uses: actions/github-script@v8
25 with:
26 script: |
27 const { data: releases } = await github.rest.repos.listReleases({
28 owner: context.repo.owner,
29 repo: context.repo.repo,
30 });
31 const { tag_name: version, assets: assets } = releases.find(({assets}) => assets.find(asset => asset.name.includes('win-vulkan')));
32 const { browser_download_url: asset_url } = assets.find(asset => asset.name.includes('win-vulkan'));
33 console.log("Latest release:", version);
34 core.setOutput('VERSION', version);
35 core.setOutput('ASSETURL', asset_url);
36
37 - name: Update manifest
38 run: |
39 echo "Updating manifest..."
40 komac update --version ${{ steps.find_latest_release.outputs.VERSION }} \
41 --urls "${{ steps.find_latest_release.outputs.ASSETURL }}" \
42 --token ${{ secrets.WINGET_GITHUB_TOKEN }} \
43 --submit \
44 ggml.llamacpp