Skip to content

fix: publish the Homebrew cask - #74

Merged
jferrl merged 1 commit into
mainfrom
fix/cask-token-template
Sep 19, 2026
Merged

jferrl merged 1 commit into
mainfrom
fix/cask-token-template

Conversation

@jferrl

@jferrl jferrl commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Description

The v1.9.0 release uploaded its archives and checksums, then failed:

homebrew cask: expected {{ .Env.VAR_NAME }} only (no plain-text or other interpolation)

GoReleaser accepts exactly that form for a tap token and rejects any other, including
{{ index .Env "VAR" }}, which is what the config used.

Why nothing caught it

The rule is enforced when publishing. Both local checks passed the broken config:

Check Broken config Fixed config
goreleaser check passes passes
goreleaser release --snapshot passes passes
Real release fails to be confirmed

So this PR cannot be verified locally. The only proof is the next tagged release, and the
run log now reports whether the cask published.

What v1.9.0 did and did not ship

Published and valid — nothing needs re-releasing:

githubauth_1.9.0_{darwin,linux}_{amd64,arm64}.tar.gz
githubauth_1.9.0_windows_{amd64,arm64}.zip
checksums.txt

Not published: the Homebrew cask. jferrl/homebrew-tap still contains only its README, so
brew install jferrl/tap/githubauth does not work yet.

The tap token itself was never the problem. The release log confirms it:
HOMEBREW_TAP_GITHUB_TOKEN is present.

Note on skip_upload

skip_upload keeps the index form. It is not subject to this rule and, unlike
.Env.VAR, does not fail when the variable is unset. The token reference resolves
because the workflow always sets the variable, to the empty string when the secret is
missing, and skip_upload stops the upload before the token is used.

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)

Testing

  • New and existing unit tests pass locally with my changes

goreleaser check passes and a snapshot build generates the cask — neither of which
distinguishes this from the broken version, as above. Tag v1.9.1 to confirm.

Documentation

  • I have updated the CHANGELOG.md file

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes generate no new warnings
  • I have checked my code and corrected any misspellings

The v1.9.0 release uploaded its archives and checksums, then failed:

  homebrew cask: expected {{ .Env.VAR_NAME }} only
  (no plain-text or other interpolation)

GoReleaser accepts exactly that form for a tap token and rejects any
other, including {{ index .Env "VAR" }}, which is what the config used.
The check runs when publishing, so goreleaser check and a snapshot
build both accepted the wrong form -- neither local check could have
caught this, and only a real release can confirm the fix.

skip_upload keeps the index form, which is not subject to the rule and
does not fail when the variable is unset. The token resolves because
the workflow always sets the variable, to the empty string when the
secret is missing, and skip_upload stops the upload before the token
is used.
@codecov

codecov Bot commented Sep 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.96%. Comparing base (8761b3f) to head (5500ebe).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #74   +/-   ##
=======================================
  Coverage   96.96%   96.96%           
=======================================
  Files           5        5           
  Lines         462      462           
=======================================
  Hits          448      448           
  Misses         14       14           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jferrl
jferrl merged commit 50b8e00 into main Sep 19, 2026
10 checks passed
@jferrl
jferrl deleted the fix/cask-token-template branch September 19, 2026 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant