feat(brew): fetch Homebrew directly from upstream#164
feat(brew): fetch Homebrew directly from upstream#164dylanmtaylor wants to merge 1 commit intoprojectbluefin:mainfrom
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors the Homebrew tarball creation process by switching from a stack-based approach using pre-downloaded binaries to a manual build that clones the Homebrew repository directly. The changes define a specific directory structure and package it into a compressed tarball. Feedback was provided regarding a logic error in the installation script where recursive copying would occur, as well as recommendations to ensure the output directory exists and to clean up staging files to avoid artifact bloat.
8d43296 to
66488cc
Compare
Replace the ublue-os/packages tarball dependency with a direct fetch from Homebrew/brew. This removes the third-party middleman and makes the brew version trackable via renovate. The element clones Homebrew/brew, sets up the expected directory layout, and tars it for the first-boot brew-setup service.
66488cc to
8dd7511
Compare
|
Does it make sense to build this here at all? We could just use ublue-os/brew like all the other bluefins? |
|
#12 makes a case for it, and I think renovate will pull in the latest forcing new builds fairly frequently |
|
Reopening. The ublue-os/packages tarball generation was intentionally removed in ublue-os/packages#1182 on March 11. The existing tarball in Dakota is frozen at March 10 and will never update. This PR fetches directly from Homebrew/brew. The version display issue (brew --version shows 'shallow or no git repository') is cosmetic -- brew update on first run fixes it. The alternative is a stale tarball that never updates. |
|
Can we adjust this to pull from ublue-os/brew? We need it to be consistent with the other Bluefins since it also has PATH fixes in there and stuff. We don't want to have 2 different brew experiences. |
@castrojo I think that would require ublue-os/brew#14 be merged in, which adds a workflow to publish release tarballs that dakota can consume. Without it, there's no tarball to fetch from ublue-os/brew. The old ublue-os/packages tarballs stopped being generated in March so the current ones are frozen. |
Replace the ublue-os/packages tarball with a direct fetch from Homebrew/brew v5.1.4.
This removes the third-party dependency on ublue-os/packages weekly releases. The element clones Homebrew/brew, sets up the expected directory layout, and tars it for the existing brew-setup.service to unpack on first boot.
No longer needs per-arch elements since brew is Ruby scripts.
Ref #12