ci: add tarball release workflow triggered by BREW_VERSION changes#14
ci: add tarball release workflow triggered by BREW_VERSION changes#14dylanmtaylor wants to merge 1 commit intoublue-os:mainfrom
Conversation
b1b1744 to
ebf344e
Compare
|
Can we have it monitor the brew github repo so we can run it on demand when brew updates instead of daily? |
ebf344e to
000ab07
Compare
000ab07 to
fdceae3
Compare
Updated to run on new brew version instead of daily |
fdceae3 to
50f6534
Compare
There was a problem hiding this comment.
Pull request overview
Adds a GitHub Actions workflow to build the Homebrew tarball from the existing Containerfile, then publish architecture-specific tarballs plus SHA256 checksums to a GitHub Release.
Changes:
- Build container images on
amd64andarm64runners and extracthomebrew.tar.zstinto per-arch artifacts. - Aggregate artifacts, generate
SHA256SUMS, and publish them as a GitHub Release tagged byBREW_VERSION.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
50f6534 to
29e56fc
Compare
29e56fc to
b85de72
Compare
b85de72 to
b185ef2
Compare
|
@renner0e updated with new action versions |
There was a problem hiding this comment.
this doesn't seem to work as is
https://github.com/renner0e/brew/actions/runs/24103626385/job/70321171440
Also I feel like this should be integrated in the other workflow so things can be shared and don't have to be reinvented here.
57d2ff1 to
26790db
Compare
|
Fixed the build failure -- the scratch image has no entrypoint so On integrating with the existing workflow -- happy to do that if you'd prefer. The existing build.yml pushes a container image to GHCR, so we could add a job there that extracts the tarball and publishes a release after the manifest step. Want me to rework it that way? I think this was intentionally disabled though, as brew used to have releases in the past via the packages repo. |
Depends on ublue-os/brew#14 to publish tarballs. Refs are placeholders until the first release is cut.
26790db to
d2f4050
Compare
Depends on ublue-os/brew#14 to publish tarballs. Refs are placeholders until the first release is cut.
|
The tarball produced by this workflow is already present in the OCI image that the current workflow publishes to ghcr.io/ublue-os/brew, so we would be duplicating these bits potentially unnecessarily. Is it possible to make a change on the Dakota side: update |
|
This is what is being done in zirconium |
Looking at elements/cli/brew-tarball.bst, they seem to suffer from the same problem as Dakota: they are stuck with the last published brew tarball from March because we killed that workflow. |
I'm not sure we can easily pull files out of the image via BuildStream like that. It might be possible, I'm just not sure how to do it. From my perspective, producing the bits twice probably isn't a big deal, as it should build very quickly and the artifact size is small. |
Yeah, I'm not sure if there's an easy fix. If someone can suggest something better, I'm happy to close this PR in favor of that one. I know my solution isn't perfect here. |
Add a workflow that builds homebrew tarballs and publishes them as GitHub releases for x86_64 and aarch64. Triggered when BREW_VERSION changes (e.g. via renovate) or manually via workflow_dispatch.
Releases are tagged with the brew version from BREW_VERSION so downstream consumers like projectbluefin/dakota can track them with renovate.
Context: the tarball generation was removed from ublue-os/packages in ublue-os/packages#1182, leaving downstream consumers with a frozen March 10 tarball. This restores release publishing in this repo where the container build already happens.