45 lines
1.5 KiB
YAML
45 lines
1.5 KiB
YAML
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
|