-
-
Notifications
You must be signed in to change notification settings - Fork 10.1k
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
Update LINUX_CI_OS_VERSION to Ubuntu 22.04 #13733
Conversation
Review period will end on 2022-08-23 at 06:15:58 UTC. |
40c1273
to
79965b7
Compare
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.
Looks good so far! Any docs that need updated?
Review period ended. |
Wanting this to land for 3.6.0. |
79965b7
to
15a3de7
Compare
15a3de7
to
d255285
Compare
https://github.com/Homebrew/brew/runs/8023876296?check_suite_focus=true#step:5:8 |
Bumping Bump
|
@sjackman Going to need you to dig in a bit harder on these sorts of issues, please. I don't even really have a Linux machine to test these on. If the value for that variable needs changed: consider changing it as part of this PR. |
d255285
to
8cb9492
Compare
https://docs.docker.com/desktop/install/mac-install/ The circular dependencies in Homebrew/core were resolved by (I believe)…
Thank you @Bo98 and @danielnachun! |
@sjackman This was not a request for you to tell me how to obtain a Linux machine (which runs incredibly slowly/buggily on all my ARM macOS machines) but instead a request for you as a maintainer to be able to attempt to resolve issues like that you reported yourself if they are blocking your PRs in future, thanks ❤️ |
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.
Blocked on:
- figuring out what to do with
homebrew/ubuntu16.04:master
vs.homebrew/ubuntu16.04:latest
- legitimate
brew tests
failures
8cb9492
to
0923271
Compare
Commit 60c3b18: Use |
The datestamps in the tags there are 2019 and 2021 and ESM usually requires login and attaching a device with a token ( Seems quite vague. Their page on Docker images suggests 10 year support requires contacting them: https://ubuntu.com/security/docker-images |
I believe this PR is ready to be merged and Homebrew 3.6.0 tagged! |
@sjackman Could this be made part of this PR instead? If not, presumably this needs to happen before 3.6.0 is merged rather than after? Ideally I think it'd be done in a PR merged before this one. |
#13733 (comment) Tasks
|
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.
I was planning on pushing this retired-message Docker image from the interactive command line using
docker login && docker push homebrew/ubuntu16.04:master
after we'd successfully built the Docker imagehomebrew/ubuntu22.04:master
by merging this PR, and merged PR Homebrew/homebrew-core#108590, and successfully used it to build at least one bottle.
@sjackman Could this be done by a/the GitHub Action in a new PR instead of by you manually through the CLI? I think that'd be preferable.
This does not need to block this PR but would be good to be open before the tag.
FYI that we've landed some fairly major other PRs today that I want to be merged for ~24h before we tag 3.6.0 to surface any issues.
Note that these need to be addressed, sorry!
Sorry, the specific question here: do we need to tag ASAP after merging this and/or Homebrew/homebrew-core#108590? |
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.
Thanks @sjackman!
After merging PR Homebrew/homebrew-core#108590, we need to tag Homebrew 3.6.0 ASAP before merging any bottle PRs in Homebrew/core. |
31e8945
to
301ae8f
Compare
My most recent commit 301ae8f Other than that retired image commit, any time frame is fine for merging this PR. Merging this PR and giving it ~24h to burn in before tagging 3.6.0 is a good idea. I'll separate that commit from this PR and push it to its own PR. |
It seems like we should tag 3.6.0 before merging Homebrew/homebrew-core#108590, but the merge should be done quickly after the tag in order to avoid having to install Edit: But, having seen the checklist at #13733 (comment), the reverse order makes sense too. |
|
301ae8f
to
4adb638
Compare
it "is correctly detected" do | ||
expect(UnpackStrategy.detect(path)).to(be_a(described_class).or(be_a(UnpackStrategy::Tar))) | ||
end |
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.
Why doesn't UnpackStrategy::detect
work here?
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.
brew/Library/Homebrew/unpack_strategy/tar.rb
Lines 28 to 36 in 9cfa3d9
def self.can_extract?(path) | |
return true if path.magic_number.match?(/\A.{257}ustar/n) | |
return false unless [Bzip2, Gzip, Lzip, Xz, Zstd].any? { |s| s.can_extract?(path) } | |
# Check if `tar` can list the contents, then it can also extract it. | |
stdout, _, status = system_command("tar", args: ["--list", "--file", path], print_stderr: false) | |
status.success? && !stdout.empty? | |
end |
UnpackStrategy.detect(path)
for a .tar.XXX
file returns either UnpackStrategy::Tar
if the host's tar
is able to extract that compressed file or UnpackStrategy::XXX
otherwise (such as UnpackStrategy::Zstd
). On macOS UnpackStrategy.detect("container.tar.zst")
returns UnpackStrategy::Zstd
, and on ubuntu-22.04
it returns UnpackStrategy::Tar
, because the host's version of tar
is recent enough and zstd
is installed.
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.
This seems worth documenting in a comment, if not adjusted in shared_examples.rb
.
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.
Done!
4adb638
to
a3cacc6
Compare
$ brew tests --only=cask/audit
…
Failed examples:
[160](https://github.com/Homebrew/brew/runs/8196408355?check_suite_focus=true#step:14:161)
[161](https://github.com/Homebrew/brew/runs/8196408355?check_suite_focus=true#step:14:162)
rspec ./test/cask/audit_spec.rb[1:3:1:2:1] # Cask::Audit#run! required stanzas when missing sha256 is expected to fail with /sha256 stanza is required/
[162](https://github.com/Homebrew/brew/runs/8196408355?check_suite_focus=true#step:14:163)
rspec ./test/cask/audit_spec.rb[1:3:1:4:1] # Cask::Audit#run! required stanzas when missing name is expected to fail with /name stanza is required/
[163](https://github.com/Homebrew/brew/runs/8196408355?check_suite_focus=true#step:14:164)
rspec ./test/cask/audit_spec.rb[1:3:1:5:1] # Cask::Audit#run! required stanzas when missing homepage is expected to fail with /homepage stanza is required/
[164](https://github.com/Homebrew/brew/runs/8196408355?check_suite_focus=true#step:14:165)
rspec ./test/cask/audit_spec.rb[1:3:1:3:1] # Cask::Audit#run! required stanzas when missing url is expected to fail with /url stanza is required/
[165](https://github.com/Homebrew/brew/runs/8196408355?check_suite_focus=true#step:14:166)
rspec ./test/cask/audit_spec.rb:1122 # Cask::Audit#run! checking verified when there is no homepage is expected to fail with /a homepage stanza is required/
[166](https://github.com/Homebrew/brew/runs/8196408355?check_suite_focus=true#step:14:167) https://github.com/Homebrew/brew/runs/8196408355?check_suite_focus=true#step:14:160 I'm going to need some help troubleshooting these tests that are failing now. |
Failures likely fixed by #13813. |
- Change `LINUX_CI_OS_VERSION` from `Ubuntu 16.04` to `Ubuntu 22.04` - Change `LINUX_GLIBC_CI_VERSION` from `2.23` to `2.35` - Change `LINUX_GCC_CI_VERSION` from `5.0` to `11.0` - Change `LINUX_PREFERRED_GCC_FORMULA` from `gcc@5` to `gcc@11` - Build the Docker image `ghcr.io/homebrew/ubuntu22.04:master`
Use ubuntu-22.04 for the CI tests rather than ubuntu-latest, which is currently ubuntu-20.04.
a3cacc6
to
aa5f6a7
Compare
LINUX_CI_OS_VERSION
fromUbuntu 16.04
toUbuntu 22.04
LINUX_GLIBC_CI_VERSION
from2.23
to2.35
LINUX_GCC_CI_VERSION
from5.0
to11.0
LINUX_PREFERRED_GCC_FORMULA
fromgcc@5
togcc@11
ghcr.io/homebrew/ubuntu22.04:master
brew style
with your changes locally?brew typecheck
with your changes locally?brew tests
with your changes locally?