Using Homebrew to Distribute Early Access Binaries from Private Github Repositories
16 points by jeezy
16 points by jeezy
After falling into the trap of Microsoft’s 10x price gouging for macOS runners on GitHub Actions
I was gonna ask “then why not switch hosting?”…
In any case, my GitHub Sponsors (thank you, all 52 of you!)
Ah. Not that getting sponsorship/donations is bad (on the contrary), but this is how Microsoft locks users in. The more of their products/offerings you buy into, the harder it is to leave—even when they do things that should motivate you to say “I’m out” instead of spending time coding subpar solutions that leave one feeling…
In my opinion, there is a lot more friction in this process than there should be. The systems we use do not encourage the use case of independent developers trying to sustain themselves financially.
2025 was the year of getting out of the Amazon ecosystem (AWS, Prime, Kindle) and I'm looking to keep the ball rolling in 2026, so I'm open to any suggestions of alternatives that fit the bill
See also https://andre.arko.net/2023/11/24/homebrew-cask-formula-for-private-github-repo-releases/, which doesn’t require updating the SHA (which may be a good or a bad thing to you).
I tried this too but it seems like sha256 :no_check is only supported for Casks and not Formulas :(
I solved the exact same problem in exactly the same way about a month ago with an internal tool I'm building. Using macOS runners as well. Also had the thought of using a Mac mini for running the actions locally, so glad to see that actually working well.
I'm using dist aka cargo-dist to manage releases. It's nice because it handles Homebrew releases as well. The problem with that is, and I might be missing something, but there doesn't seem to be a way out of the box to override the formula dist is building for my package. So, I'm having to come behind it every time and re-add the GitHub API stuff to the formula after each release. I'm sure there's a way to fix/patch this, but haven't had time to look at it deeper.