-
-
Notifications
You must be signed in to change notification settings - Fork 9.7k
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
workflows/tests: use the container and macos-14
for some jobs
#18395
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work @ZhongRuoyu! Makes sense to me. Have suggested tweaks to defaults for a few containers where we don't explicitly mention the version to avoid needing updates in future and potentially catch issues quicker on the default container.
We don't have brew/.github/workflows/docker.yml Lines 78 to 85 in cee2287
Perhaps we can publish |
Ooo, my bad.
Yeh, I think it'd be ideal to have a That doesn't need to block this PR, though! |
When we don't care about which specific Ubuntu version to use, `homebrew/brew:master` is better than `homebrew/ubuntu22.04:master` as it allows us to implicitly rely on the default Ubuntu version. See discussion at #18395.
Agreed. Here we go: #18396 |
The codecov action failed because it's trying to download a binary to the action's directory:
Is it possible/desirable to set up ACL for the actions directory in setup-homebrew, @Bo98? Though there doesn't seem to be an environment variable for that. |
Maybe - I'll need to investigate to see. Quick initial question though: do we get any speedup from using the containers for RSpec tests? Homebrew/core shouldn't be required there. |
Is #15634 (comment) no longer the case? |
Ah there's two remaining tests that still use Homebrew/core: https://github.com/search?q=repo%3AHomebrew%2Fbrew%20needs_homebrew_core&type=code. Though maybe the macOS coverage is good enough for them. With proper stubbing to remove the need of Homebrew/core for |
c51f627
to
536826b
Compare
The containers have `homebrew/core` tapped so we don't need to wait forever for the tap repo to be cloned. Co-authored-by: Mike McQuaid <[email protected]>
Unlike the Ubuntu images [^1], `macos-14` has both core and cask tapped [^2] so setting up Homebrew should be faster there. [^1]: https://github.com/actions/runner-images/blob/ubuntu24/20240922.1/images/ubuntu/scripts/build/install-homebrew.sh [^2]: https://github.com/actions/runner-images/blob/macos-14/20240923.101/images/macos/scripts/build/install-homebrew.sh#L23-L24
It's expensive to tap `homebrew/core` on GitHub-hosted Ubuntu runners, and using the container requires tricks to make Codecov work. So, we rely on macOS to provide coverage for the needs_homebrew_core RSpec tests.
536826b
to
64ddb6e
Compare
Thanks @ZhongRuoyu! |
brew style
with your changes locally?brew typecheck
with your changes locally?brew tests
with your changes locally?The containers have
homebrew/core
tapped so we don't need to wait forever for the core repo to be cloned.The tap syntax job requires all official taps. Unlike the Ubuntu images 1,
macos-14
has both core and cask tapped 2 so setting up Homebrew should be faster there. We don't use the containers because the cask tap is not available by default.Footnotes
https://github.com/actions/runner-images/blob/ubuntu24/20240922.1/images/ubuntu/scripts/build/install-homebrew.sh ↩
https://github.com/actions/runner-images/blob/macos-14/20240923.101/images/macos/scripts/build/install-homebrew.sh#L23-L24 ↩