Skip to content

GH-50253: [CI] Force brew bundle installations to use a single cpu via --jobs 1 flag#50254

Open
raulcd wants to merge 2 commits into
apache:mainfrom
raulcd:GH-50253
Open

GH-50253: [CI] Force brew bundle installations to use a single cpu via --jobs 1 flag#50254
raulcd wants to merge 2 commits into
apache:mainfrom
raulcd:GH-50253

Conversation

@raulcd

@raulcd raulcd commented Jun 25, 2026

Copy link
Copy Markdown
Member

Rationale for this change

A change of behavior on the default number of threads used when installing via brew bundle is causing some CI jobs to fail.

What changes are included in this PR?

Revert to the old behavior by using the --jobs 1 flag.

Are these changes tested?

Yes via CI and archery jobs that were failing.

Are there any user-facing changes?

No, I've updated documentation so some users use the same command we are using but not really changes coming from our side.

@github-actions github-actions Bot added the awaiting committer review Awaiting committer review label Jun 25, 2026
@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #50253 has been automatically assigned in GitHub to PR creator.

@raulcd

raulcd commented Jun 25, 2026

Copy link
Copy Markdown
Member Author

@kou based on: https://docs.brew.sh/Manpage the --jobs flag:

--jobs

Run up to this many formula installations in parallel. Defaults to 1 (sequential). Use auto for the number of CPU cores (max 4).

That documentation seems outdated and it seems to fail related to this change of default behavior on brew:

Applying --jobs 1 seems to fix the issue, what do you think, should I apply this on the other places where we do brew bundle --file...?

@raulcd

raulcd commented Jun 25, 2026

Copy link
Copy Markdown
Member Author

@github-actions crossbow submit preview-docs verify-rc-source-*-macos-amd64

@github-actions

Copy link
Copy Markdown

Revision: 9e3445c

Submitted crossbow builds: ursacomputing/crossbow @ actions-1c3ad8af77

Task Status
preview-docs GitHub Actions
verify-rc-source-cpp-macos-amd64 GitHub Actions
verify-rc-source-integration-macos-amd64 GitHub Actions
verify-rc-source-python-macos-amd64 GitHub Actions
verify-rc-source-ruby-macos-amd64 GitHub Actions

@raulcd raulcd changed the title GH-50253: [CI] Serialize installations from brew bundle to avoid race conditions GH-50253: [CI] Force brew bundle installations to use a single cpu via --jobs 1 flag Jun 25, 2026
@raulcd

raulcd commented Jun 25, 2026

Copy link
Copy Markdown
Member Author

The Doc CI related failures are currently failing on main too, I've opened:

@raulcd raulcd marked this pull request as ready for review June 25, 2026 12:01
@raulcd raulcd requested review from assignUser and kou as code owners June 25, 2026 12:01
Copilot AI review requested due to automatic review settings June 25, 2026 12:01
@raulcd raulcd requested a review from jonkeane as a code owner June 25, 2026 12:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses recent macOS CI failures caused by Homebrew Bundle running installations in parallel, leading to Homebrew cellar lock conflicts. It restores serialized installs by explicitly setting brew bundle to run with a single job (--jobs 1) across CI and the corresponding developer documentation.

Changes:

  • Update GitHub Actions macOS workflows to run brew bundle ... --jobs 1.
  • Update the verify-rc macOS task to run brew bundle ... --jobs 1.
  • Update developer docs and the GLib README to recommend brew bundle ... --jobs 1 to match CI behavior.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
docs/source/developers/release_verification.rst Aligns release verification steps with serialized Homebrew Bundle installs.
docs/source/developers/python/building.rst Updates macOS dependency install instructions to use --jobs 1.
docs/source/developers/java/building.rst Updates macOS dependency install instructions to use --jobs 1.
docs/source/developers/cpp/building.rst Updates macOS dependency install instructions to use --jobs 1.
dev/tasks/verify-rc/github.macos.yml Forces serialized Homebrew Bundle installs in verify-rc macOS runs.
c_glib/README.md Updates GLib macOS setup instructions to use --jobs 1.
.github/workflows/ruby.yml Forces serialized Homebrew Bundle installs in Ruby CI on macOS.
.github/workflows/python.yml Forces serialized Homebrew Bundle installs in Python CI on macOS.
.github/workflows/cpp.yml Forces serialized Homebrew Bundle installs in C++ CI on macOS.
.github/workflows/cpp_extra.yml Forces serialized Homebrew Bundle installs in extra C++ macOS workflows.

@raulcd

raulcd commented Jun 25, 2026

Copy link
Copy Markdown
Member Author

@tadeja , the llvm issue seems to have been magically fixed here, see the crossbow report above 🤔

@kou kou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

It makes sense that this is a workaround but can we try the following (install aws-sdk-cpp manually before we run brew bundle`) before we merge this?

brew install aws-sdk-cpp
brew bundle --file=cpp/Brewfile # no --jobs 1

And can we report this to Homebrew? I feel that this is not an expected behavior.

@github-actions github-actions Bot added awaiting merge Awaiting merge and removed awaiting committer review Awaiting committer review labels Jun 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants