Skip to content

winget: first-ever release run fails — package was never bootstrapped in microsoft/winget-pkgs #484

Description

@ZdenekSrotyr

Summary

The v0.66.1 release run (https://github.com/keboola/cli/actions/runs/29430278032) is the first release ever to reach the winget job — on every prior tag it was skipped because its needs: [chocolatey, ...] dependency was failing (fixed in #476). Now that chocolatey succeeds, winget runs for the first time and fails:

Retrieving latest manifest for Keboola.KeboolaCLI2
ERROR: repos/microsoft/winget-pkgs/contents/manifests/k/Keboola/KeboolaCLI2 was not found.
Please check if the provided package arguments are correct.

.github/workflows/release-kbagent.yml's winget job runs wingetcreate.exe update -v "$VERSION" -u "$url" -t "$WINGET_TOKEN" Keboola.KeboolaCLI2 -s. wingetcreate update only works against an existing manifest — and Keboola.KeboolaCLI2 has apparently never actually been submitted to microsoft/winget-pkgs.

Why this isn't a quick CI fix

This needs a one-time initial submission (wingetcreate new, not update) to a third-party, Microsoft-governed repo (microsoft/winget-pkgs) that goes through their own PR review/validation bot. That's not something to script blind in CI:

  • wingetcreate new needs manifest fields (license, short description, publisher URL, etc.) that aren't all auto-derivable from the installer — running it unattended in CI risks hanging on a prompt or submitting an incomplete/low-quality first manifest under Keboola's name.
  • The first submission is reviewed by Microsoft/community moderators, so it's a one-off with feedback loops, not a repeatable CI step.

Suggested path

  1. Someone with WINGET_TOKEN access runs wingetcreate new locally/interactively once (can point at the v0.66.1 Windows asset: https://cli-dist.keboola.com/keboola-cli2/v0.66.1/keboola-cli2_0.66.1_windows_amd64.zip), fills in the missing manifest fields, and submits the initial PR to microsoft/winget-pkgs.
  2. Once that initial manifest is merged upstream, the existing winget job's wingetcreate update call will work for every subsequent release — no workflow change needed.
  3. Optional follow-up: make the winget job's failure clearer when the manifest doesn't exist yet (e.g. detect the "was not found" case and print a pointer to this issue) so a future first-run-after-a-long-gap doesn't look like a silent regression.

Current impact

v0.66.1 is otherwise fully published (PyPI, S3, GitHub Release, Homebrew, Chocolatey all succeeded). Only the WinGet channel is missing, same as every version before it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions