Skip to content
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

Default download to GitHub Packages #11070

Merged
merged 1 commit into from
Apr 8, 2021
Merged

Default download to GitHub Packages #11070

merged 1 commit into from
Apr 8, 2021

Conversation

MikeMcQuaid
Copy link
Member

Now that all bottles (without existing sha256 mismatches) have been uploaded to GitHub Packages make it the default download location.

Will give this a few days testing before we make a tag and make this default for everyone.

No migration has been done for Linuxbrew packages yet; those will be done after we have fully migrated over Homebrew.

@BrewTestBot
Copy link
Member

Review period will end on 2021-04-09 at 09:03:44 UTC.

@BrewTestBot BrewTestBot added the waiting for feedback Merging is blocked until sufficient time has passed for review label Apr 8, 2021
@MikeMcQuaid MikeMcQuaid added the critical Critical change which should be shipped as soon as possible. label Apr 8, 2021
@BrewTestBot BrewTestBot removed the waiting for feedback Merging is blocked until sufficient time has passed for review label Apr 8, 2021
@BrewTestBot
Copy link
Member

Review period skipped due to critical label.

BrewTestBot
BrewTestBot previously approved these changes Apr 8, 2021
@SMillerDev
Copy link
Member

No comment, but I think this release should have a tweet associated so people update and don't stay on the bintray version.

@MikeMcQuaid
Copy link
Member Author

No comment, but I think this release should have a tweet associated so people update and don't stay on the bintray version.

@SMillerDev Yeh, agreed. Will probably wait for Homebrew on Linux to be fully migrated too and then make a new minor version.

@issyl0
Copy link
Member

issyl0 commented Apr 8, 2021

Will probably wait for Homebrew on Linux to be fully migrated too and then make a new minor version.

Maybe this new release when we switch over should be a major version? It's a major change to how things work, and Bintray going away on May 1st will lead to "people who don't upgrade will have broken bottle downloads" - and I suspect there are a fair few people who set and forget HOMEBREW_NO_AUTO_UPDATE? A major version would more incentivise people to upgrade explicitly - and we could blog/tweet about it too for more engagement?

@SMillerDev
Copy link
Member

Maybe this new release when we switch over should be a major version? It's a major change to how things work

Not for users though.

and I suspect there are a fair few people who set and forget HOMEBREW_NO_AUTO_UPDATE?

We can't fix stupid, there's a reason brew auto-updates,

@MikeMcQuaid
Copy link
Member Author

Maybe this new release when we switch over should be a major version?

Yes, perhaps (or at least before/shortly after Bintray goes away).

Now that all bottles (without existing `sha256` mismatches) have been
uploaded to GitHub Packages make it the default download location.

Will give this a few days testing before we make a tag and make this
default for everyone.

No migration has been done for Linuxbrew packages yet; those will be
done after we have fully migrated over Homebrew.
@MikeMcQuaid MikeMcQuaid merged commit dc2d367 into Homebrew:master Apr 8, 2021
@MikeMcQuaid MikeMcQuaid deleted the github_packages_default_domain branch April 8, 2021 10:56
@carlocab
Copy link
Member

carlocab commented Apr 8, 2021

Fetched 300 randomly chosen bottles from GitHub packages. Works great. 👏

gaoyifan added a commit to ustclug/ustcmirror-images that referenced this pull request Apr 9, 2021
@rawlins
Copy link

rawlins commented Apr 12, 2021

Yes, perhaps (or at least before/shortly after Bintray goes away).

FYI bintray just started giving 502 errors (to a 10.15 mac github actions runner in its default state) for https://homebrew.bintray.com/ -- not sure if this is a transient thing but given this it may be at least semi-broken well in advance of May 1.

@Bo98
Copy link
Member

Bo98 commented Apr 12, 2021

It's a scheduled Bintray brownout session that will last a few hours.

Homebrew 3.1.0 has already been released which migrates away from Bintray.

@carlocab
Copy link
Member

https://twitter.com/bintray/status/1380244628151037953?s=21

@tupui
Copy link

tupui commented Apr 12, 2021

@Bo98 so you don't advice to switch the config of any CI right? At SciPy this is breaking our CI currently too.

@Bo98
Copy link
Member

Bo98 commented Apr 12, 2021

Switch what exactly? I'm not sure I understand.

Updating Homebrew is all that's needed to stop using Bintray.

GitHub Actions' macos-latest image might ship an older version (which will probably be updated soon), but it can still be updated manually.

@tupui
Copy link

tupui commented Apr 12, 2021

Switch what exactly on our side? I'm not sure I understand.

Updating Homebrew is all that's needed to stop using Bintray.

GitHub Actions' macos-latest image might ship an older version (which will probably be updated soon), but it scan still be updated manually.

What I mean is do we (SciPy or any other repo) update our CI or just wait for macos-latest to be updated? Or can we just add a version specifier in the config? I am not sure I understand correctly how long it will keep breaking. Just today during the maintenance, or is it broken until the macos image is updated which can take some time? Thanks for your help.

@scpeters
Copy link
Member

Switch what exactly on our side? I'm not sure I understand.
Updating Homebrew is all that's needed to stop using Bintray.
GitHub Actions' macos-latest image might ship an older version (which will probably be updated soon), but it scan still be updated manually.

What I mean is do we (SciPy or any other repo) update our CI or just wait for macos-latest to be updated? Or can we just add a version specifier in the config? I am not sure I understand correctly how long it will keep breaking. Just today during the maintenance, or is it broken until the macos image is updated which can take some time? Thanks for your help.

you may consider using the setup-homebrew workflow in your github workflow to use the latest homebrew code

@Bo98
Copy link
Member

Bo98 commented Apr 12, 2021

We generally recommend updating to the latest Homebrew version. We do so by default for new taps.

Just today during the maintenance, or is it broken until the macos image is updated which can take some time?

Old versions will only be broken for another four and a half hours.

@carlocab
Copy link
Member

Old versions will only be broken for another four and a half hours.

And again at the start of May, indefinitely.

@rawlins
Copy link

rawlins commented Apr 12, 2021

Sorry, I should have posted a link, but I followed up with a better description and an actual solution (use the setup action) here: Homebrew/discussions#691. Edit: also, yeah, macos-latest is definitely on a homebrew version prior to this change, 3.0.10.

(Only realized after posting the first time that I was reviving a merged PR thread, sorry about that.)

@ddarren
Copy link

ddarren commented Apr 12, 2021

I'm having issues with brew 3.1.1 using ghcr.io in downloading Node 10.

+ brew update
Already up-to-date.
+ brew --version
Homebrew 3.1.1
Homebrew/homebrew-core (git revision 8950942127; last commit 2021-03-11)
Homebrew/homebrew-cask (git revision c6777fb3c2; last commit 2021-03-11)
+ brew install node@10
==> Downloading https://ghcr.io/v2/homebrew/core/node/10/manifests/10.24.0_1
curl: (22) The requested URL returned error: 404 
Error: Failed to download resource "node@10_bottle_manifest"
Download failed: https://ghcr.io/v2/homebrew/core/node/10/manifests/10.24.0_1
```

brendongo added a commit to semgrep/semgrep that referenced this pull request Apr 12, 2021
homebrew uses Github package to distribute package instead of bintray but the github action
isnt updated yet. Workaround is to update homebrew before calling install

Relevant links:
Homebrew/discussions#691
actions/runner-images#3165
Homebrew/brew#11070
brendongo added a commit to semgrep/semgrep that referenced this pull request Apr 12, 2021
homebrew uses Github package to distribute package instead of bintray but the github action
isnt updated yet. Workaround is to update homebrew before calling install

Relevant links:
Homebrew/discussions#691
actions/runner-images#3165
Homebrew/brew#11070
@carlocab
Copy link
Member

Please make a post at https://github.com/Homebrew/discussions, and include the output of brew config and brew doctor.

@Bo98
Copy link
Member

Bo98 commented Apr 12, 2021

Your homebrew-core is outdated:

last commit 2021-03-11

We have not migrated old versions of formulae to GitHub Packages.

@ddarren
Copy link

ddarren commented Apr 12, 2021

Your homebrew-core is outdated:

last commit 2021-03-11

We have not migrated old versions of formulae to GitHub Packages.

Thanks, that was the issue, homebrew-core (my brew installation).

jonsimantov pushed a commit to firebase/firebase-cpp-sdk that referenced this pull request Apr 12, 2021
Fix for errors observed while installing packages with homebrew. Until Github runners are updated to use latest hombrew versions, manually updating homebrew in Github workflows.

Homebrew/brew#11070
Homebrew/discussions#691
@glensc
Copy link
Contributor

glensc commented Apr 14, 2021

I'm having issues with brew 3.1.1 using ghcr.io in downloading Node 10.

@ddarren this seems to be a one-time error. likely happens because brew in memory is old code. abort brew and retry, then things started to work. at least for me.

@davasquezg
Copy link

Any idea to resolve this error
Homebrew on 11,3 on M1

davasquezg@Air-de-Dario ~ % brew upgrade
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
Updated 5 formulae.

==> Upgrading 3 outdated packages:
ffmpeg 4.4 -> 4.4_1
srt 1.4.2 -> 1.4.3
guile 3.0.5 -> 3.0.6
==> Upgrading ffmpeg 4.4 -> 4.4_1
==> Downloading https://ghcr.io/v2/homebrew/core/guile/manifests/3.0.6
##O#- #
curl: (35) error:1400443E:SSL routines:CONNECT_CR_SRVR_HELLO:tlsv1 alert inappropriate fallback
Error: Failed to download resource "guile_bottle_manifest"
Download failed: https://ghcr.io/v2/homebrew/core/guile/manifests/3.0.6
==> Upgrading srt 1.4.2 -> 1.4.3
==> Downloading https://ghcr.io/v2/homebrew/core/srt/manifests/1.4.3
##O#- #
curl: (35) error:1400443E:SSL routines:CONNECT_CR_SRVR_HELLO:tlsv1 alert inappropriate fallback
Error: Failed to download resource "srt_bottle_manifest"
Download failed: https://ghcr.io/v2/homebrew/core/srt/manifests/1.4.3
==> Upgrading guile 3.0.5 -> 3.0.6
==> Downloading https://ghcr.io/v2/homebrew/core/guile/manifests/3.0.6
##O#- #
curl: (35) error:1400443E:SSL routines:CONNECT_CR_SRVR_HELLO:tlsv1 alert inappropriate fallback
Error: Failed to download resource "guile_bottle_manifest"
Download failed: https://ghcr.io/v2/homebrew/core/guile/manifests/3.0.6

@Bo98
Copy link
Member

Bo98 commented Apr 30, 2021

There's likely some security software or something network-related that's blocking connections to ghcr.io.

@Jehreg
Copy link

Jehreg commented Apr 30, 2021

I've been trying all day:

➜  ~ brew upgrade curl
==> Upgrading 1 outdated package:
curl 7.75.0 -> 7.76.1
==> Upgrading curl 7.75.0 -> 7.76.1
==> Downloading https://ghcr.io/v2/homebrew/core/zstd/manifests/1.4.9_1

curl: (7) Failed to connect to ghcr.io port 443: Bad file descriptor
Error: Failed to download resource "zstd_bottle_manifest"
Download failed: https://ghcr.io/v2/homebrew/core/zstd/manifests/1.4.9_1

When I go to that link, I get unauthorized.

Here's my config:

➜  ~ brew config
HOMEBREW_VERSION: 3.1.5-6-g6350294
ORIGIN: https://github.com/Homebrew/brew.git
HEAD: 635029407bccc686f314a88f248753b4871b6060
Last commit: 7 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 3bed6c820569eb047724d9d6b778882ed4a234a6
Core tap last commit: 80 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.prHNfesGS2/org.macosforge.xquartz:0
HOMEBREW_MAKE_JOBS: 16
Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: 16-core 64-bit kabylake
Clang: 12.0 build 1205
Git: 2.31.1 => /usr/local/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 11.3-x86_64
CLT: 12.5.0.22.9
Xcode: 12.5
XQuartz: 2.7.11 => /opt/X11

And this is after a brew doctor and many brew update/upgrade

@carlocab
Copy link
Member

When I go to that link, I get unauthorized.

Your ISP is probably blocking access to ghcr.io.

@Jehreg
Copy link

Jehreg commented Apr 30, 2021

When I go to that link, I get unauthorized.

Your ISP is probably blocking access to ghcr.io.

Nope, I tried 3 different ISPs, this is coming from Github. I do support IPv6 and IPv4 on this machine, so that might be it. I will check.

@Jehreg
Copy link

Jehreg commented Apr 30, 2021

When I go to that link, I get unauthorized.

Your ISP is probably blocking access to ghcr.io.

Nope, I tried 3 different ISPs, this is coming from Github. I do support IPv6 and IPv4 on this machine, so that might be it. I will check.

That's not it either. Even when I force IPv4, I get the following:

https://ghcr.io/v2/homebrew/core/icu4c/manifests/69.1

{"errors":[{"code":"UNAUTHORIZED","message":"authentication required"}]}

@Bo98
Copy link
Member

Bo98 commented Apr 30, 2021

The authentication error is expected when using a browser. You must pass a Authorization header but the value of it can be anything:

meta[:headers] << ["Authorization: Bearer QQ=="]

@Jehreg
Copy link

Jehreg commented Apr 30, 2021

Eh, you were right, Little Snitch got in the way.

@ipstone
Copy link

ipstone commented May 18, 2021

hi folks, I have been encountering brew upgrade errors from the downloading issue, still don't know how to resolve it:
brew upgrade =>
it complains that I need to install snv; when brew install snv;
it complains installing java needed; when brew install openjdk:
==> Downloading https://ghcr.io/v2/homebrew/core/openjdk/manifests/13.0.2.8
#=#=#
curl: (22) The requested URL returned error: 404
Error: Failed to download resource "openjdk_bottle_manifest"
Download failed: https://ghcr.io/v2/homebrew/core/openjdk/manifests/13.0.2.8

HOMEBREW_VERSION: 3.1.7-84-ge0bfcda
ORIGIN: https://github.com/Homebrew/brew
HEAD: e0bfcda
Last commit: 2 hours ago
Corlang: 12.0.0 build 1200
Git: 2.24.3 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 10.15.7-x86_64
CLT: 12.0.0.32.29
Xcode: 12.4
XQuartz: 2.7.11 => /opt/X11

@carlocab
Copy link
Member

Your core tap looks out of date, but it's hard to say for sure since the middle part of brew config is missing.

@github-actions github-actions bot added the outdated PR was locked due to age label Jun 18, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 18, 2021
@MikeMcQuaid MikeMcQuaid removed the outdated PR was locked due to age label Jun 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
critical Critical change which should be shipped as soon as possible.
Projects
None yet
Development

Successfully merging this pull request may close these issues.