1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# winget distribution for the `forgedb` CLI — epic #181 / Windows extras.
#
# cargo-dist has NO winget publisher, so this is a standalone channel that runs
# AFTER a GitHub Release is published (release.yml creates it) and opens a PR
# against microsoft/winget-pkgs with an updated manifest pointing at the freshly
# released `forgedb-x86_64-pc-windows-msvc.zip`.
#
# FIRST SUBMISSION IS MANUAL. winget-releaser only *updates* an existing package;
# the initial `ForgeDB.ForgeDB` manifest must be submitted once by hand (e.g. with
# `wingetcreate new`) and merged into winget-pkgs. After that, every release auto-
# opens an update PR here.
#
# Go-live is user-gated: needs the `WINGET_TOKEN` secret — a PAT (classic `public_repo`
# or a fine-grained token with PR access) on a fork of microsoft/winget-pkgs that the
# bot pushes the manifest branch to.
#
# DORMANT until Windows support lands. v0.2.0 ships no Windows binary (the `forgedb`
# binary is currently Unix-only — storage-native positional I/O + coordinator Unix
# sockets), so there is no `-x86_64-pc-windows-msvc.zip` for this to submit. The
# `release` trigger is removed so it can only be run manually once a Windows target
# is reintroduced. See #209.
name: winget
on:
workflow_dispatch:
inputs:
tag:
description: Release tag to submit (e.g. v0.2.0) — requires a published Windows zip
required: true
permissions:
contents: read
jobs:
publish:
name: submit winget manifest
runs-on: windows-latest
# Skip prereleases; winget ships stable versions only.
if: ${{ github.event_name == 'workflow_dispatch' || !github.event.release.prerelease }}
steps:
- name: Submit to winget-pkgs
uses: vedantmgoyal9/winget-releaser@v2
with:
identifier: ForgeDB.ForgeDB
# Pull the version + zip URL from the release tag (strip a leading `v`).
version: ${{ github.event.release.tag_name || github.event.inputs.tag }}
installers-regex: '-x86_64-pc-windows-msvc\.zip$'
token: ${{ secrets.WINGET_TOKEN }}