fix(release): unblock homebrew Linux smoke test on untrusted-tap gate#475
fix(release): unblock homebrew Linux smoke test on untrusted-tap gate#475Matovidlo wants to merge 1 commit into
Conversation
|
@claude review |
There was a problem hiding this comment.
Pull request overview
Updates the release/tagging GitHub Actions workflow to unblock two failing release legs: pushing the rendered Homebrew formula to a (previously empty) tap repository, and correctly parsing the Chocolatey checksum fetched from a .sha256 sidecar served as octet-stream.
Changes:
- Enable automatic creation of the Homebrew tap target branch on first push (
create-target-branch-if-needed). - Decode Chocolatey
.sha256content when returned as bytes before extracting the checksum field.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
cf97547 to
7a813ab
Compare
7a813ab to
95c3300
Compare
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>
95c3300 to
9166f95
Compare
The test-install Homebrew (Linux) leg failed on the v0.66.1 release run with "Refusing to load formula keboola/keboola-cli2/keboola-cli2 from untrusted tap". Root cause: Homebrew 6.0.0 (released 2026-06-11) introduced tap trust as a default-on security mechanism -- third-party taps must be explicitly trusted with the new `brew trust` command before their formulae load (official taps stay trusted by default). See https://brew.sh/2026/06/11/homebrew-6.0.0/ Add `brew trust keboola/keboola-cli2` right after `brew tap`, matching the remedy brew itself prints. This also mirrors what real end users must now do on Homebrew 6, so the smoke test exercises the genuine install path instead of bypassing the gate. Chosen over #475 (unset HOMEBREW_REQUIRE_TAP_TRUST): that approach was based on a stale 4.6.20 image where `brew trust` did not exist yet, and unsetting the var would hide the step end users actually hit. #475 closed with an explanation. Author verified the fixed sequence locally against the real tap in an arm64 linuxbrew container (brew install completes; the kbagent binary check failure there is an arm64-bottle/glibc mismatch specific to the local container, not ubuntu-latest).
|
Closing in favor of #483 (merged) -- the two PRs fixed the same untrusted-tap failure with contradictory approaches, and the contradiction turned out to have a simple explanation: Homebrew 6.0.0 (released 2026-06-11) introduced tap trust as a default-on security mechanism, together with the new
Thanks for the rebase and the careful scoping of this PR -- the winget and homebrew-tap-push pieces you split out earlier (#476, #485) were the right call. Follow-up noted separately: the install docs should mention the |
Summary
The
test-installHomebrew (Linux) leg fails with:Some
homebrew/brewimage builds shipHOMEBREW_REQUIRE_TAP_TRUSTset, which blocks loading formulae from a third-party tap. Thisunsets it in the smoke-test container.Chosen over the
brew trustcommand the error message suggests, becausebrew trustdoes not exist in current Homebrew (4.6.20) — verified directly in the image (Unknown command: brew trust). Unsetting the gating env var is version-independent and mirrors the default end-user environment, where the var is unset (so realbrew installusers are unaffected either way).Scope
.github/workflows/release-kbagent.yml, theHomebrew (Linux)smoke-test step only. One line + comment.target-directory.→Formula/) + chocolatey checksum byte[] — fix(release): unbreak homebrew + chocolatey publish jobs #476 (merged).main; the redundant homebrew/chocolatey/winget changes this branch previously had were dropped.Impact analysis
IS_PRERELEASE == 'false'); takes effect on the next stable tag.Test plan / verification notes
test-installHomebrew (Linux) leg taps + installskeboola-cli2and greps the version.brew installpath could not be run locally — the sandbox Docker has no outbound network (Could not resolve host: formulae.brew.sh). The fix rests on two network-independent facts confirmed in the image:brew trustis not a command in 4.6.20, and the untrusted-tap refusal is gated byHOMEBREW_REQUIRE_TAP_TRUST(perman brew/brew trusthelp text).