Conversation
There was a problem hiding this comment.
Pull request overview
Updates the Homebrew Docker image defaults so the canonical ghcr.io/homebrew/brew tags track Ubuntu 24.04, aligning the published “brew” image with the ongoing Ubuntu 24.04 migration work.
Changes:
- Switch the Dockerfile default base image version from Ubuntu 22.04 to 24.04.
- Update the Docker publishing workflow so
ghcr.io/homebrew/brew:{latest,<version>,main}tags are generated only for the 24.04 build.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| Dockerfile | Changes the default ARG version to 24.04 so local/default builds use Ubuntu 24.04. |
| .github/workflows/docker.yml | Moves the ghcr.io/homebrew/brew:* tagging conditions from 22.04 to 24.04 for release and main pushes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
MikeMcQuaid
left a comment
There was a problem hiding this comment.
As long as this doesn't change the default homebrew/core image: seems fine!
| "ghcr.io/homebrew/ubuntu${version}:latest" | ||
| ) | ||
| if [[ "${version}" == "22.04" ]]; then | ||
| if [[ "${version}" == "24.04" ]]; then |
There was a problem hiding this comment.
Does this change the Homebrew/homebrew-core default CI image?
There was a problem hiding this comment.
No, this only impacts container label ghcr.io/homebrew/brew which we currently don't use in Homebrew/homebrew-core.
As far as I'm aware, bottling runners is a mix of:
- https://github.com/Homebrew/homebrew-core/blob/main/.github/workflows/tests.yml
- https://github.com/Homebrew/homebrew-core/blob/main/.github/workflows/dispatch-build-bottle.yml#L85-L88
- https://github.com/Homebrew/homebrew-core/blob/main/cmd/determine-rebottle-runners.rb#L24-L30
- https://github.com/Homebrew/brew/blob/main/Library/Homebrew/github_runner_matrix.rb#L101-L104
A bit messy as we currently have to update multiple locations. Maybe we should be using a dedicated/unversioned container label for bottling so we don't have to worry about these being updated in-sync.
There was a problem hiding this comment.
Maybe we should be using a dedicated/unversioned container label for bottling so we don't have to worry about these being updated in-sync.
If we want to use ghcr.io/homebrew/brew:main for this, then can close this PR and handle as part of Ubuntu migration PR.
|
Actually I prefer the idea of switching workflows to use this container label/tag as the maintenance is a pain trying to modify a couple dozen files. |
brew lgtm(style, typechecking and tests) with your changes locally?Part of #21761.
Dockerfile default should be no/low impact change as we don't use the default
ARG version.Searching Homebrew org for
ghcr.io/homebrew/brewusage: https://github.com/search?q=org%3AHomebrew+ghcr.io%2Fhomebrew%2Fbrew&type=code, seems to only impact:formula-audit, seems safe to run on Ubuntu 24.04:brew/.github/workflows/tests.yml
Lines 115 to 137 in 4b1bc6b