Skip to content

[Regression] Installation fails for local formula with the setup-homebrew action #20448

@shreyas-goenka

Description

@shreyas-goenka

brew doctor output

from CI:

Run brew doctor
  brew doctor
  shell: /bin/bash -e {0}
  env:
    HOMEBREW_NO_INSTALL_FROM_API: 
    HOMEBREW_GITHUB_API_TOKEN: ***
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Some installed formulae are deprecated or disabled.
You should find replacements for the following formulae:
  openssl@1.1


Warning: The following formulae have the same name as core formulae:
  aws/tap/eksctl
  hashicorp/tap/consul-template
  hashicorp/tap/levant
  hashicorp/tap/nomad
  hashicorp/tap/packer
  hashicorp/tap/terraform
  hashicorp/tap/terraform-ls
  hashicorp/tap/vault
  hashicorp/tap/waypoint
Some of these can be resolved with:
  brew untap aws/tap


Warning: You have an unnecessary local Cask tap.
This can cause problems installing up-to-date casks.
Please remove it by running:
  brew untap homebrew/cask


Warning: You have an unnecessary local Core tap!
This can cause problems installing up-to-date formulae.
Please remove it by running:
 brew untap homebrew/core


Warning: You have uncommitted modifications to Homebrew/homebrew-core.
If this is a surprise to you, then you should stash these modifications.
Stashing returns Homebrew to a pristine state but can be undone
should you later need to do so for some reason.
  git -C "/opt/homebrew/Library/Taps/homebrew/homebrew-core" stash -u && git -C "${path}" clean -d -f

Uncommitted files:
   M Formula/o/openssl@1.1.rb

Error: Process completed with exit code 1.

Verification

  • I ran brew update twice and am still able to reproduce my issue.
  • My "brew doctor output" above says Your system is ready to brew or a definitely unrelated Tier message.
  • This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output

from CI:

Run brew config
HOMEBREW_VERSION: 4.6.3-48-g211b749
ORIGIN: https://github.com/Homebrew/brew
HEAD: 211b7494628de92465fefcf80d89ab2b01b13df5
Last commit: 16 minutes ago
Branch: main
Core tap HEAD: 6ceda9193dd835c42761ec5eb3be84f7d858e6f5
Core tap last commit: 3 weeks ago
Core tap JSON: 13 Aug 16:07 UTC
Core cask tap HEAD: ecb46265bc9284ccc976007c53bbc0c18af89594
Core cask tap last commit: 3 weeks ago
Core cask tap JSON: 13 Aug 16:07 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: ["--no-quarantine"]
HOMEBREW_COLOR: set
HOMEBREW_FORBID_PACKAGES_FROM_PATHS: set
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_MAKE_JOBS: 3
HOMEBREW_NO_AUTO_UPDATE: set
HOMEBREW_NO_INSTALL_CLEANUP: set
Homebrew Ruby: 3.4.5 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.4.5/bin/ruby
CPU: 3-core 64-bit dunno
Clang: 16.0.0 build 1600
Git: 2.50.1 => /opt/homebrew/bin/git
Curl: 8.7.1 => /usr/bin/curl
macOS: 15.5-arm64
CLT: 16.4.0.0.1.1747106510
Xcode: 16.0 => /Applications/Xcode_16.app/Contents/Developer
Rosetta 2: false

What were you trying to do (and why)?

Even though this is an issue with the setup-homebrew GitHub action, I'm reporting this here because it seems to be a regression in the brew CLI itself and not the GitHub Action.

We have a CI job for our formula (for the Databricks CLI) that uses the setup-homebrew github action. Recently, it started failing with the following error:

Error: An exception occurred within a child process:
  FormulaUnavailableError: No available formula with the name "databricks".

We use the official GitHub action:
https://github.com/Homebrew/actions/tree/main/setup-homebrew

This week our CI job started failing. Given that no changes were made to the github action itself, we concluded that there is a regression in the latest main version of brew.

The failures were observed in 4.6.3-48-g211b749. The regression went away as soon as we pinned to a stable version (v4.6.3) here: databricks/homebrew-tap#126

We are hoping that by reporting this regression, it does not ship to a release version of Homebrew.

What happened (include all command output)?

Run URL: https://github.com/databricks/homebrew-tap/actions/runs/16939692187/job/48014605388

from CI:

Run brew install databricks
  brew install databricks
  shell: /bin/bash -e {0}
  env:
    HOMEBREW_NO_INSTALL_FROM_API: 
    HOMEBREW_GITHUB_API_TOKEN: ***
==> Fetching downloads for: databricks
==> Fetching databricks/tap/databricks
==> Downloading https://github.com/databricks/cli/releases/download/v0.264.0/databricks_cli_0.264.0_darwin_arm64.zip
==> Downloading from https://release-assets.githubusercontent.com/github-production-release-asset/491883713/18efaacc-8c11-48e2-a1ac-eee27866b5cc?sp=r&sv=2018-11-09&sr=b&spr=https&se=2025-08-13T16%3A23%3A16Z&rscd=attachment%3B+filename%3Ddatabricks_cli_0.264.0_darwin_arm64.zip&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2025-08-13T15%3A23%3A03Z&ske=2025-08-13T16%3A23%3A16Z&sks=b&skv=2018-11-09&sig=tQKp091bc5VCOVhOQiOMglY%2FYon2%2B7n0WWdA66RtN8I%3D&jwt=***
==> Installing databricks from databricks/tap
Error: An exception occurred within a child process:
  FormulaUnavailableError: No available formula with the name "databricks".

Error: Process completed with exit code 1.

What did you expect to happen?

Run URL: https://github.com/databricks/homebrew-tap/actions/runs/16942484793/job/48014956099

I expect the installation to succeed

from CI:

Run brew install databricks
==> Fetching downloads for: databricks
==> Fetching databricks/tap/databricks
==> Downloading https://github.com/databricks/cli/releases/download/v0.264.0/databricks_cli_0.264.0_linux_amd64.zip
==> Downloading from https://release-assets.githubusercontent.com/github-production-release-asset/491883713/e7c7040b-b7f1-41a8-83c5-a00de20588ad?sp=r&sv=2018-11-09&sr=b&spr=https&se=2025-08-13T16%3A52%3A22Z&rscd=attachment%3B+filename%3Ddatabricks_cli_0.264.0_linux_amd64.zip&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2025-08-13T15%3A52%3A20Z&ske=2025-08-13T16%3A52%3A22Z&sks=b&skv=2018-11-09&sig=D3E01%2FVbekT%2BXCh%2B5vWNRA7Tf2rrFirrM4rWU6QyJTI%3D&jwt=***
==> Installing databricks from databricks/tap
==> Installation complete! Check if 🧱 🧱 🧱 completions do work.
To ensure Databricks <TAB> completion works in zsh, you can add the directory
$(brew --prefix)/share/zsh/site-functions to your $fpath. You can do this by
adding it to your ~/.zshrc file:

    echo fpath+=$(brew --prefix)/share/zsh/site-functions >> ~/.zshrc

Most likely you'll also have to rebuild the completion index:

    echo 'autoload -Uz compinit && compinit' >> ~/.zshrc

... and open new terminal window.

See https://docs.brew.sh/Shell-Completion
🍺  /home/linuxbrew/.linuxbrew/Cellar/databricks/0.264.0: 10 files, 33.2MB, built in 2 seconds
==> Running `brew cleanup databricks`...
Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
==> No outdated dependents to upgrade!
==> Caveats
Bash completion has been installed to:
  /home/linuxbrew/.linuxbrew/etc/bash_completion.d

Step-by-step reproduction instructions (by running brew commands)

Create a github action with the following configuration:

jobs:
  install:
    runs-on: macos-latest

    steps:
      - uses: actions/checkout@v4

      - name: Configure Git
        uses: Homebrew/actions/git-user-config@master

      # This action automatically installs the locally checked out tap.
      - name: Set up Homebrew
        uses: Homebrew/actions/setup-homebrew@master

      - name: Install CLI
        run: |
          brew install <some-local-formula>

You should see an installation failure. Our version of this Github Action: https://github.com/databricks/homebrew-tap/blob/main/.github/workflows/test.yml

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions