ci(release): make winget job bootstrap-aware for un-submitted manifest (#484)#485
Draft
padak wants to merge 1 commit into
Draft
ci(release): make winget job bootstrap-aware for un-submitted manifest (#484)#485padak wants to merge 1 commit into
padak wants to merge 1 commit into
Conversation
#484) wingetcreate update only patches an existing manifest in microsoft/winget-pkgs. Until Keboola.KeboolaCLI2 is bootstrapped there via a one-time interactive wingetcreate new submission, every run 404s with "was not found" and fails the job, making a first-run-after-a-gap look like a silent regression. Distinguish that known, expected not-found state (skip with a loud pointer to issue #484 in the step summary) from a genuine winget failure (still hard-fails).
Matovidlo
added a commit
that referenced
this pull request
Jul 16, 2026
The `test-install` Homebrew (Linux) leg failed with "Refusing to load formula ... from untrusted tap". Some homebrew/brew image builds ship HOMEBREW_REQUIRE_TAP_TRUST set, which blocks loading formulae from a third-party tap. Unset it in the smoke test. Version-independent (the `brew trust` command the error suggests does not exist in current Homebrew 4.6.20) and mirrors the default end-user environment, where the var is unset. Homebrew tap push, chocolatey checksum, and winget bootstrap are handled separately by #476 (merged) and #485. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Make the
wingetjob inrelease-kbagent.ymlbootstrap-aware: distinguish the known, expected "package not yet submitted tomicrosoft/winget-pkgs" state from a genuinewingetcreatefailure."was not found"result (the package has no initial manifest yet), the job now skips with a loud::warning::and a$GITHUB_STEP_SUMMARYentry pointing to winget: first-ever release run fails — package was never bootstrapped in microsoft/winget-pkgs #484, and exits 0.::error::+ original exit code).Why
Per #484,
v0.66.1was the first release ever to actually reach thewingetjob (previously skipped because itsneeds:chain failed until #476).wingetcreate updateonly patches an existing manifest — andKeboola.KeboolaCLI2has never been bootstrapped inmicrosoft/winget-pkgs. So the job 404s withwas not foundand fails, even though the WinGet channel being absent is the same expected state as every prior version.This change stops that expected, un-bootstrapped state from masquerading as a silent regression in the release run, while keeping real winget errors fatal.
Scope / what this does NOT do
This is only issue #484's optional follow-up (point 3). It does not perform the actual first-time submission — that still requires a human with
WINGET_TOKENaccess to runwingetcreate newlocally/interactively once against the Windows asset and shepherd the initial PR through Microsoft's review, as described in the issue. Once that initial manifest is merged upstream,wingetcreate updatesucceeds normally and this skip branch is never taken.Testing
python3 -c "import yaml; yaml.safe_load(...)"— workflow YAML parses.set +e/ captured$status/set -e, case-insensitivegrep -qi "was not found"for the skip path, hard-fail preserved for every other exit code.make changelog-checkpasses), no silent-drift command surfaces affected.Note for review: this deliberately makes the un-bootstrapped winget state non-fatal. If the release pipeline should instead keep hard-failing until bootstrap, that's a one-line change (drop the
exit 0).Fixes #484