-
-
Notifications
You must be signed in to change notification settings - Fork 782
ci(release): update homebrew formula on release #12673
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci(release): update homebrew formula on release #12673
Conversation
|
This is great! Thanks for the PR. There is a homebrew command for bumping versions which might be more reliable and easier to use. It's called We also have a "meta" packages called |
the version needs to be the same as |
I'll have to test this, but i'm pretty sure this won't work |
as i said, this results in an error Error: inreplace failed
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/siderolabs/homebrew-tap/Formula/talosctl.rb:
expected replacement of /https:\/\/github\.com\/siderolabs\/talos\/releases\/download\/v1\.12\.1\/talosctl\-linux\-amd64/ with "https://github.com/siderolabs/talos/releases/download/v1.12.2/talosctl-linux-amd64"this is due to the file having the version as a variable: url "https://github.com/siderolabs/talos/releases/download/v#{version}/talosctl-darwin-arm64"and not plain text, i.e. url "https://github.com/siderolabs/talos/releases/download/v1.12.1/talosctl-darwin-arm64",This is 1 of the issues. Also, I am not sure it would keep on going to replace for every architecture and OS |
The version was just bumped arbitrarily to force clients to upgrade. It doesn't currently track any specific version because it includes talos and omni binaries which have different versions
Thanks for trying it, I wasn't sure if there would be problems |
@rothgar i still don't get this. this downloads nothing, except for kube and the |
|
added a check for the "latest" version, i.e. > gh release view --repo git@github.com:siderolabs/omni --json tagName -q '.tagName'
v1.4.7 |
When you first install the meta package via That wasn't intended behavior (and maybe it has changed). Ideally we could install the meta package once and all tools will be kept up to date without updating |
Hm, well, when i install, it automatically uses the latest versions of formulas brew install siderolabs/tap/sidero-tools
==> Fetching downloads for: sidero-tools
✔︎ Bottle Manifest kubelogin (1.35.2) Downloaded 7.5KB/ 7.5KB
✔︎ Bottle Manifest kubernetes-cli (1.35.0) Downloaded 7.5KB/ 7.5KB
✔︎ Formula sidero-tools (1.1.0)
✔︎ Bottle kubernetes-cli (1.35.0) Downloaded 17.5MB/ 17.5MB
✔︎ Bottle kubelogin (1.35.2) Downloaded 5.9MB/ 5.9MB
✔︎ Formula talosctl (1.12.1) Verified 97.6MB/ 97.6MB
✔︎ Formula omnictl (1.4.7) Verified 44.7MB/ 44.7MB(the latest bump of It also, just adds the new dependencies to the Cellar, so they will be updated with There is no auto-upgrade, sadly, though
this is weird though, it should, as it adds the new formulas the same way as |
This is easy to check though, i installed only via the sidero-tools and opened a PR at siderolabs/homebrew-tap#160 with a bump. I can check if the |
|
pr got merged (thx, noel), will check when i get home |
|
@rothgar it does update it without having to bump brew update
==> Updating Homebrew...
==> Updated Homebrew from 948c9bc856 to 024ad4fe06.
Updated 3 taps (siderolabs/tap, homebrew/core and homebrew/cask).
==> New Formulae
clawdbot-cli: Your own personal AI assistant
codex-acp: Use Codex from ACP-compatible clients such as Zed!
litra: Control Logitech Litra lights from the command-line
tpix: Simple terminal image viewer using the Kitty graphics protocol
==> Outdated Formulae
talosctlnot sure if the problem was fixed, or ever there, but it works, without having to install |
Is it talosctl from the tap?
|
it is talosctl ✔: stable 1.12.2 (bottled), HEAD
CLI for out-of-band management of Kubernetes nodes created by Talos
https://www.talos.dev/
Installed
/home/linuxbrew/.linuxbrew/Cellar/talosctl/1.12.2 (7 files, 97.8MB) *
Built from source on 2026-01-30 at 17:38:45
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/t/talosctl.rb
License: MPL-2.0
==> Dependencies
Build: go ✘
==> Options
--HEAD
Install HEAD version
==> Downloading https://formulae.brew.sh/api/formula/talosctl.json
==> Analytics
install: 2,259 (30 days), 5,975 (90 days), 23,500 (365 days)
install-on-request: 2,259 (30 days), 5,826 (90 days), 22,635 (365 days)
build-error: 1 (30 days) |
seems it's from homebrew not the tap: |
yes, just noticed this was the log from brew upgrade
==> Upgrading 1 outdated package:
siderolabs/tap/talosctl 1.12.1 -> 1.12.2
==> Fetching downloads for: talosctl
✔︎ Formula talosctl (1.12.2) Verified 97.6MB/ 97.6MB
==> Upgrading siderolabs/tap/talosctl
1.12.1 -> 1.12.2
🍺 /home/linuxbrew/.linuxbrew/Cellar/talosctl/1.12.2: 7 files, 97.8MB, built in 2 seconds
==> Running `brew cleanup talosctl`...
Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
Removing: /home/linuxbrew/.linuxbrew/Cellar/talosctl/1.12.1... (7 files, 97.8MB)
Removing: /home/andrinoff/.cache/Homebrew/talosctl--1.12.1... (97.6MB)Also, full log (ran those 2 in the span of 2 minutes) andrinoff ~ ♥ 23:52 brew update
==> Updating Homebrew...
==> Updated Homebrew from 948c9bc856 to 024ad4fe06.
Updated 3 taps (siderolabs/tap, homebrew/core and homebrew/cask).
==> New Formulae
clawdbot-cli: Your own personal AI assistant
codex-acp: Use Codex from ACP-compatible clients such as Zed!
litra: Control Logitech Litra lights from the command-line
tpix: Simple terminal image viewer using the Kitty graphics protocol
==> Outdated Formulae
talosctl
You have 1 outdated formula installed.
You can upgrade it with brew upgrade
or list it with brew outdated.
andrinoff ~ ♥ 17:37 brew upgrade
==> Upgrading 1 outdated package:
siderolabs/tap/talosctl 1.12.1 -> 1.12.2
==> Fetching downloads for: talosctl
✔︎ Formula talosctl (1.12.2) Verified 97.6MB/ 97.6MB
==> Upgrading siderolabs/tap/talosctl
1.12.1 -> 1.12.2
🍺 /home/linuxbrew/.linuxbrew/Cellar/talosctl/1.12.2: 7 files, 97.8MB, built in 2 seconds
==> Running `brew cleanup talosctl`...
Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
Removing: /home/linuxbrew/.linuxbrew/Cellar/talosctl/1.12.1... (7 files, 97.8MB)
Removing: /home/andrinoff/.cache/Homebrew/talosctl--1.12.1... (97.6MB) |
brew formula talosctl
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/siderolabs/homebrew-tap/Formula/talosctl.rb🤷♂ |
|
@frezbo found the issue, |
|
Great to hear and thanks a ton for testing/verifying. Just so I understand correctly, the fact that We've debating putting everything in the upstream repo, but we were unsure if |
yes, if you dont install the Homebrew/core/talosctl, the package will be updated from the sidero tap.
well, this would be one way to solve the problem of having the workflow. but, omni got rejected a while back for unknown reasons (Homebrew/homebrew-core#201182). IMO i'd re-try to open a pr to the homebrew core repo, and, for now at least, get |
|
Edit:
Brew Core formulae is not updated automatically, and requires the Managing Sidero's own tap would be better in a sense of fast and up-to-date updates, along with complete control of versions (in a case of the need to lower the brew version) |
|
@andrinoff can you please add DCO ( |
b3cf0c9 to
cc4199b
Compare
Trigger an automatic PR to Homebrew on a release. Signed-off-by: drew <me@andrinoff.com> Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
cc4199b to
6995bc1
Compare
|
/m |
Pull Request
What? (description)
This pull requests includes a new workflow, which will do everything
update.shdid, just automatically, while also creating a pull request to the repository.Why? (reasoning)
This simplifies the process of maintaining the Sidero Labs tap, and was requested in #2148, #12063.
Acceptance
Please use the following checklist:
make conformance)make fmt)make lint)make docs)make unit-tests)Additional notes
This workflow requires a new secret
HOMEBREW_TAP_TOKEN, which is a GitHub PAT of any user with permissions to create commits in the siderolabs/homebrew-tap repository.This workflow can also be used in the siderolabs/omni with small changes required.