Homebrew Auto Update for version 2.5.0 Incident - September 8th

#1

The new version of brew will not allow users to do pinning by providing a specific URL for a formula, like:

brew install “https://raw.githubusercontent.com/Homebrew/homebrew-core/$commit-id/Formula/$package.rb

The above is used to pin tools on specific versions which also emits the warning on previous versions, but it is completely failing on the newer versions.

A short term fix is to disable brew from upgrading to 2.5.0 from the version we ship our stacks with, 2.4.16.

The long term fix would be to use the latest version of the packages or use brew extract and custom taps to have specific versions of packages.

This requires replacing every brew-install bitrise step with a script step, that has HOMEBREW_NO_AUTO_UPDATE environment variable exported and set to the value 1, which will disable auto-updating.

In bash or zsh, this is simply export HOMEBREW_NO_AUTO_UPDATE=1, but this can also be achieved by issuing envman add --key HOMEBREW_NO_AUTO_UPDATE --value '1' (this will only make it available in the next step, or when issuing envman run bash -c 'brew install <URL>').

This short term fix will only work for this week, as we are going to include the newest brew version on our stacks from next week by default.

0 Likes