Compare commits

...

2958 Commits
4.4.20 ... main

Author SHA1 Message Date
24055498d7 Update bin/brew 2025-09-16 21:56:21 +00:00
71c842d2ed Update bin/brew 2025-09-16 18:35:40 +00:00
779dcd65bb Update bin/brew 2025-09-15 12:11:08 +00:00
f698ac0247 Update bin/brew 2025-09-15 11:57:00 +00:00
adbdc580ee Update bin/brew 2025-09-15 09:40:47 +00:00
d6e4dfda55 Update bin/brew 2025-09-15 09:34:21 +00:00
Patrick Linnane
6c44d1a8f1
Merge pull request #20681 from Homebrew/support-tahoe-drop-mojave
Support Tahoe, drop Mojave and older
2025-09-14 19:55:06 +00:00
Ruoyu Zhong
5f1241b953
Merge pull request #20685 from Homebrew/tahoe-runner
github_runner_matrix: deploy Tahoe runner in CI
2025-09-14 08:29:06 +00:00
Patrick Linnane
6cb3473e9e
Merge pull request #20686 from branchvincent/github-typecheck
utils/github: fix type error for `pull_request`
2025-09-13 19:44:05 +00:00
Branch Vincent
263ca54e7a
utils/github: fix type error for pull_request 2025-09-13 10:59:28 -07:00
Ruoyu Zhong
41198d866f
Merge pull request #20684 from Homebrew/update-report-desc
cmd/update-report: fix formula description display
2025-09-13 16:06:18 +00:00
Mike McQuaid
8304edbf2c
Merge pull request #20675 from Homebrew/shellenv_echo_path_helper
cmd/shellenv: echo path helper command rather than run it.
2025-09-13 15:56:32 +00:00
Ruoyu Zhong
96048f0a5a
cmd/update-report: fix cask desc display too 2025-09-13 23:48:15 +08:00
Ruoyu Zhong
a9cc3c49f5
github_runner_matrix: deploy Tahoe runner in CI 2025-09-13 23:28:41 +08:00
Ruoyu Zhong
c834a862ab
cmd/update-report: fix formula description display
When on a non-default branch (for e.g., testing), `Formula[formula]` can
return an error. In that case let's silently ignore it.
2025-09-13 23:27:25 +08:00
Carlo Cabrera
57578cf91a
Fix path_helper usage
The output of `path_helper` needs to be `eval`ed for it to work.
2025-09-13 13:32:16 +08:00
Mike McQuaid
47b7bf378e
Merge pull request #20682 from Homebrew/libstdcxx
Check host libstdc++ for brew `gcc` dependency
2025-09-12 19:14:54 +00:00
Mike McQuaid
d7c0052e78
Merge pull request #20680 from Homebrew/optlink-when-cask-installed
formula_installer: optlink even with cask installed
2025-09-12 19:14:22 +00:00
Michael Cho
f5c11fa342
Check host libstdc++ for brew gcc dependency
For most formulae, the bottles need a minimum libstdc++ rather than a
minimum GCC version. This is particularly important when building on
Ubuntu where the default compiler version is older than libstdc++.

So, checking the host libstdc++ version is a more accurate way to
determine whether brew GCC is needed at runtime. This can be improved in
the future to check symbol versions (e.g. GLIBCXX, CXXABI, GLIBC) which
can allow some bottles to be installed even with older glibc/libstdc++.
2025-09-12 14:15:56 -04:00
Patrick Linnane
f1aa78993c
workflows/pkg-installer: drop Ventura runner
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-09-12 10:44:00 -07:00
Patrick Linnane
e63c885033
Support Tahoe, drop Mojave and older
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-09-12 10:40:19 -07:00
Patrick Linnane
d3e7e6bde5
Merge pull request #20679 from Homebrew/docs-archive-formats
docs: clarify listed archive formats aren't exclusive
2025-09-12 16:45:19 +00:00
Michael Cho
c35fe04c91
formula_installer: optlink even with cask installed 2025-09-12 12:24:14 -04:00
Patrick Linnane
8567e8bcd3
docs: clarify listed archive formats aren't exclusive
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-09-12 09:15:47 -07:00
Michael Cho
eda9e78529
Merge pull request #20633 from Homebrew/ld-system
os/linux/ld: add support for using system ld.so
2025-09-12 13:19:40 +00:00
Mike McQuaid
5f4e42a2c8
Merge pull request #20656 from Homebrew/copilot/fix-cask-rename-issue-linux
Fix Cask artifact rename operation on Linux by making xattr metadata no-op
2025-09-12 08:49:14 +00:00
Ruoyu Zhong
852574dedf
Merge pull request #20676 from Homebrew/dependabot/all-3d8734bf05
Bump the "all" group with 2 updates across multiple ecosystems
2025-09-12 08:42:40 +00:00
copilot-swe-agent[bot]
3e413b4521
Fix Cask artifact rename operation on Linux by making xattr metadata no-op
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-09-12 09:30:17 +01:00
Mike McQuaid
2d9e9ce5d1
Merge pull request #20655 from Homebrew/copilot/fix-brew-fetch-tap-repo-issue
Fix brew fetch failure with symlinked taps and refactor path validation logic
2025-09-12 08:26:15 +00:00
BrewTestBot
2fe1076281
brew vendor-gems: commit updates. 2025-09-12 08:21:55 +00:00
dependabot[bot]
05985fabc3
build(deps): bump the all group across 1 directory with 8 updates
Bumps the all group with 3 updates in the /Library/Homebrew directory: [rubocop-performance](https://github.com/rubocop/rubocop-performance), [sorbet-static-and-runtime](https://github.com/sorbet/sorbet) and [rexml](https://github.com/ruby/rexml).


Updates `rubocop-performance` from 1.25.0 to 1.26.0
- [Release notes](https://github.com/rubocop/rubocop-performance/releases)
- [Changelog](https://github.com/rubocop/rubocop-performance/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-performance/compare/v1.25.0...v1.26.0)

Updates `sorbet-static-and-runtime` from 0.6.12479 to 0.6.12521
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `rexml` from 3.4.2 to 3.4.4
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.4.2...v3.4.4)

Updates `sorbet-runtime` from 0.6.12479 to 0.6.12521
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.6.12479 to 0.6.12521
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.6.12479 to 0.6.12521
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `unicode-display_width` from 3.1.5 to 3.2.0
- [Changelog](https://github.com/janlelis/unicode-display_width/blob/main/CHANGELOG.md)
- [Commits](https://github.com/janlelis/unicode-display_width/compare/v3.1.5...v3.2.0)

Updates `unicode-emoji` from 4.0.4 to 4.1.0
- [Changelog](https://github.com/janlelis/unicode-emoji/blob/main/CHANGELOG.md)
- [Commits](https://github.com/janlelis/unicode-emoji/compare/v4.0.4...v4.1.0)
build(deps): bump github/codeql-action in the all group

Bumps the all group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).


Updates `github/codeql-action` from 3.30.0 to 3.30.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](2d92b76c45...192325c861)

---
updated-dependencies:
- dependency-name: rubocop-performance
  dependency-version: 1.26.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.6.12521
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: rexml
  dependency-version: 3.4.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-runtime
  dependency-version: 0.6.12521
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet
  dependency-version: 0.6.12521
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-static
  dependency-version: 0.6.12521
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: unicode-display_width
  dependency-version: 3.2.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: unicode-emoji
  dependency-version: 4.1.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: github/codeql-action
  dependency-version: 3.30.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-12 08:08:51 +00:00
copilot-swe-agent[bot]
6297f98d06
Fix symlinked tap loading issue in cask loader
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-09-12 09:02:43 +01:00
Mike McQuaid
07091cfbea
Simplify pluralisation of common words
Formulae, dependencies, tries are all used in multiple places so let's
simplify them
2025-09-12 09:02:43 +01:00
Mike McQuaid
00a49bf8e1
cmd/shellenv: echo path helper command rather than run it.
This is faster at both execution and `eval`ing than the existing version
and aids caching.
2025-09-12 08:30:12 +01:00
Mike McQuaid
1019f9ef21
Merge pull request #20673 from Homebrew/add-unreachable-cask-reason
deprecate_disable: add `unreachable` reason
2025-09-12 07:09:34 +00:00
Patrick Linnane
e88ceb8178
deprecate_disable: add unreachable reason
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-09-11 21:12:24 -07:00
Patrick Linnane
2d8ba1e209
Merge pull request #20672 from Homebrew/drop-ventura-ci
Drop macOS Ventura CI in Homebrew/core
2025-09-12 03:35:57 +00:00
Patrick Linnane
675a588f6c
Drop macOS Ventura CI in Homebrew/core
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-09-11 17:55:38 -07:00
Mike McQuaid
0a7a60f506
Merge pull request #20670 from bayandin/former-bayandin
Add @bayandin to former maintainers
2025-09-11 18:04:14 +00:00
Alexander Bayandin
9b364ad25b Add @bayandin to former maintainers 2025-09-11 17:32:40 +01:00
Mike McQuaid
613d6466a9
Merge pull request #20669 from Homebrew/sponsors-maintainers-man-completions
Update maintainers.
2025-09-11 11:36:46 +00:00
BrewTestBot
99456ee150
Update maintainers.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-09-11 11:17:02 +00:00
Mike McQuaid
29270a8858
Merge pull request #20666 from Homebrew/contributions_team
dev-cmd/contributions: add `--team` flag.
2025-09-11 10:53:21 +00:00
Mike McQuaid
3fb55a1577
Merge pull request #20668 from gibfahn/private_repo_fix
github: handle user opting out of github API in private_repo check
2025-09-11 10:39:23 +00:00
Mike McQuaid
3d80dfadd1
dev-cmd/contributions: add --team flag.
This allows specifying an organisation team instead of an organisation
or individual users.
2025-09-11 11:36:48 +01:00
Gibson Fahnestock
f233244ab7
Update Library/Homebrew/utils/github.rb
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-09-11 11:23:23 +01:00
Gibson Fahnestock
e4ac3bfeed
github: handle user opting out of github API in private_repo check
Today we get a sorbet error when the user opts out, because `json` is
`{}`, so `json["private"]` is `nil`.

Given this function is used to check whether to send analytics, I assume
we should default to treating the repo as a private repo.

Refs: 8ef7a9dbd4/Library/Homebrew/utils/github/api.rb (L276)
2025-09-11 10:31:46 +01:00
Mike McQuaid
610c67b715
Merge pull request #20650 from botantony/build-typecheck
build build_environment build_options: enable `typed: strict`
2025-09-11 07:25:51 +00:00
botantony
6d548f784b
build: suggestions from @MikeMcQuaid
Signed-off-by: botantony <antonsm21@gmail.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-09-11 06:26:01 +02:00
botantony
b2539d37fe
build_options: typed: strict
Signed-off-by: botantony <antonsm21@gmail.com>
2025-09-11 06:26:01 +02:00
botantony
1cc4d0bc25
build_environment: typed: strict
Signed-off-by: botantony <antonsm21@gmail.com>
2025-09-11 06:26:01 +02:00
botantony
89d36e0dd5
build: typed: strict
Signed-off-by: botantony <antonsm21@gmail.com>
2025-09-11 06:26:00 +02:00
Bo Anderson
deb6666f32
Merge pull request #20665 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-09-11 01:07:49 +00:00
BrewTestBot
66f8afa734
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-09-11 00:27:48 +00:00
Ruoyu Zhong
34be1486e2
Merge pull request #20664 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-09-10 17:40:18 +00:00
BrewTestBot
ccda7a5de1
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-09-10 17:22:49 +00:00
Mike McQuaid
0d8da983d8
Merge pull request #20663 from Homebrew/contributions_tweaks
Add additional `brew contributions` functionality.
2025-09-10 17:06:48 +00:00
Mike McQuaid
3023e6dcad
Merge pull request #20660 from botantony/os/mac-typed
os/mac/*: `typed: strict`
2025-09-10 15:36:23 +00:00
botantony
843fc7c97a
os/mac/*: more style corrections
Signed-off-by: botantony <antonsm21@gmail.com>
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-09-10 16:59:51 +02:00
Mike McQuaid
a31fb2a6c2
Add additional brew contributions functionality.
- Add an `--organisation` flag to search a specific organisation.
- Wait for the GitHub API rate limit to reset before automatically
  retrying.
- Use (much) fewer API calls by using organisation-wide API PR searches
  rather than per-repository. This makes the rate limit easier to avoid
  and also makes things much faster (with the trade-off of showing a max
  PR count per-user rather than per-repository).
- Improve output to clarify when the max PR/commit count is reached.
- Move more logic and add more Sorbet signatures to the `GitHub` and
  `Utils::Git` modules.
- Rename a few GitHub API methods.
- Remove a lot of (now unused) `GitHub` module methods.
- Add, use a `Tap#full_repository` method.
- Add `formula-analytics` as a deprecated tap.
2025-09-10 15:32:06 +01:00
Mike McQuaid
8ef7a9dbd4
Merge pull request #20662 from Homebrew/tap-syntax-cache-fix
workflows/tests: fix tap-syntax caching
2025-09-10 07:36:34 +00:00
Bo Anderson
67f4be419b
workflows/tests: fix tap-syntax caching 2025-09-10 04:41:24 +01:00
Bo Anderson
51a98eb950
Merge pull request #20661 from Homebrew/macos-26-rc
os/mac: updates for Xcode/macOS 26 RC
2025-09-10 02:58:02 +00:00
Bo Anderson
055c87e47e
os/mac: updates for Xcode/macOS 26 RC 2025-09-10 03:39:46 +01:00
botantony
bc2c12c742
os/mac/*: style corrections
Signed-off-by: botantony <antonsm21@gmail.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-09-09 18:13:19 +02:00
botantony
0adf85970d
os/mac/xcode: typed: strict
Signed-off-by: botantony <antonsm21@gmail.com>
2025-09-09 15:28:53 +02:00
botantony
28761d8756
os/mac/sdk: typed: strict
Signed-off-by: botantony <antonsm21@gmail.com>
2025-09-09 15:28:53 +02:00
botantony
289fed93b4
os/mac/mach: typed: strict
Signed-off-by: botantony <antonsm21@gmail.com>
2025-09-09 15:28:53 +02:00
botantony
744e2452d8
os/mac/keg: typed: strict
Signed-off-by: botantony <antonsm21@gmail.com>
2025-09-09 15:07:35 +02:00
Bo Anderson
80f9e6714f
Merge pull request #20654 from Homebrew/system_command_parameter
system_command: add missing `must_succeed`
2025-09-09 05:06:42 +00:00
Bevan Kay
971ca17180
system_command: add missing must_succeed 2025-09-09 10:49:21 +08:00
Michael Cho
4d36861ad0
Merge pull request #20647 from Homebrew/jemalloc-sys-page-size
ENV/super: set `JEMALLOC_SYS_WITH_LG_PAGE`
2025-09-08 20:24:52 +00:00
Michael Cho
14d7942c95
ENV/super: set JEMALLOC_SYS_WITH_LG_PAGE
AArch64 Linux supports up to 64KB page size

Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-09-08 15:58:48 -04:00
Mike McQuaid
5453c0a74c
Merge pull request #20649 from Homebrew/more_tap_docs_tweaks
docs/How-to-Create-and-Maintain-a-Tap: more improvements.
2025-09-08 18:33:10 +00:00
Douglas Eichelberger
6e6c06f5a9
Merge pull request #20643 from Homebrew/dug/typed-utils-bottles
Enable strict typing in Utils::Bottles
2025-09-08 18:03:39 +00:00
Sam Ford
b54695d6e5
Merge pull request #20652 from Homebrew/bump-use-explicit-true-comparison
bump: compare newer_than_upstream values to true
2025-09-08 17:56:26 +00:00
Douglas Eichelberger
b827a1337a
Enable strict typing in Utils::Bottles 2025-09-08 10:48:23 -07:00
Sam Ford
2f827242aa
bump: compare newer_than_upstream values to true
When `Enumerable#all?` is called without an argument, it should check
whether values are truthy but it doesn't appear to work as expected
for the `newer_than_upstream` hash. In this case,
`{ general: false }.all?` returns `true` when it seemingly should
return `false`. This is preventing autobump from opening PRs for new
versions, so I've updated related `all?` calls to use a block with an
explicit comparison to `true` as a workaround to fix autobump in the
immediate term.
2025-09-08 13:00:32 -04:00
Mike McQuaid
f68908d492
Merge pull request #20651 from Homebrew/bump-use-livecheck_version-for-comparison
bump: use LivecheckVersion for comparison
2025-09-08 15:21:42 +00:00
Sam Ford
3541b4989f
bump: use LivecheckVersion for comparison
I recently modified `bump` to show the upstream version even when the
formula/cask version is newer (instead of an opaque `Unable to get
versions` error) but I noticed an issue while reviewing output from
a recent autobump run in homebrew/cask. This change works as expected
for versions with only one part (e.g., 1.2.3) but some multipart cask
versions (e.g., 1.5,15039) aren't being handled like they should
(where we split on commas and compare the version parts separately).
As a result, a cask version like 1.5,15039 is incorrectly seen as
newer than an upstream version like 1.5.1,15145 because 15039 from
the cask version is being compared to 1 in the upstream version.

This addresses the issue by using `LivecheckVersion` objects in the
related comparison, so versions will be handled as expected. This was
an oversight on my part but it only affects one cask at the moment
(`ia-presenter`), so it wasn't a widespread issue.
2025-09-08 10:30:57 -04:00
Mike McQuaid
afcaae3be8
docs/How-to-Create-and-Maintain-a-Tap: more improvements. 2025-09-08 08:58:16 +01:00
Mike McQuaid
c5b8cc906e
Merge pull request #20640 from Homebrew/bump-output-lower-livecheck-version
bump: output lower upstream version
2025-09-08 07:40:43 +00:00
Mike McQuaid
78d34b45af
Merge pull request #20631 from Homebrew/cc-rpath-link-glibc
shims/super/cc: rpath-link `glibc` if indirect dep
2025-09-08 07:36:12 +00:00
Mike McQuaid
efc036f75a
Merge pull request #20613 from Homebrew/dug/typed-system-command
Enable strict typing in SystemCommand
2025-09-08 07:32:58 +00:00
Douglas Eichelberger
31fb2adc84
Merge pull request #20648 from Homebrew/dug/type-safe-blocks
Use type-safe blocks
2025-09-07 20:49:32 +00:00
Douglas Eichelberger
bbca610601
Use type-safe blocks 2025-09-07 12:13:36 -07:00
Rylan Polster
3f11702fb1
Merge pull request #20642 from Homebrew/third-party-head-only-allowlist
Allow head-only formulae in third party taps
2025-09-06 06:13:12 +00:00
Rylan Polster
e2f02bcfbf
Allow head-only formulae in third party taps 2025-09-06 00:13:07 -04:00
Sam Ford
b22d2328b7
bump: output lower upstream version
Currently `brew bump` will output `unable to get versions` for the
livecheck (or Repology) version if it's lower than the current
package version. This makes it impossible to distinguish between a
failing livecheck and one where the livecheck version is lower. We can
detect when the package version is newer than the upstream version but
`bump` doesn't do anything to handle the situation.

This addresses the issue by updating `bump` to display the lower
upstream version and flag the current version with a trailing "(newer
than upstream)" parenthetical to make the situation apparent (and so
we can easily search for this text in the output).
2025-09-05 16:24:59 -04:00
Mike McQuaid
1da17b8fde
Merge pull request #20639 from Homebrew/improve_new_tap_docs
How-to-Create-and-Maintain-a-Tap: improve docs.
2025-09-05 18:05:24 +00:00
Mike McQuaid
83c1ed68f3
Apply suggestion from @samford
Co-authored-by: Sam Ford <1584702+samford@users.noreply.github.com>
2025-09-05 18:47:03 +01:00
Mike McQuaid
62a3b5e43e
How-to-Create-and-Maintain-a-Tap: improve docs.
We don't really tell people actually how to create a tap here so let's
provide more commands and output to help them.

While we're here, also fix some bad references to `repo` that weren't
updated when they should have been and let VSCode autoformat the
Markdown.
2025-09-05 17:42:34 +01:00
Michael Cho
896edb4451
os/linux/ld: add support for using system ld.so 2025-09-05 09:04:21 -04:00
Mike McQuaid
5b003154e5
Merge pull request #20638 from cprecioso/cprecioso/fix-docs
Remove docs saying that installing from a file is allowed
2025-09-05 11:18:00 +00:00
Ruoyu Zhong
74095ab480
Merge pull request #20637 from Homebrew/dependabot/all-c2f971b171
Bump the "all" group with 2 updates across multiple ecosystems
2025-09-05 11:10:14 +00:00
Carlos Precioso
0e81158e3a
Remove docs saying that installing from a file is allowed 2025-09-05 10:58:33 +02:00
BrewTestBot
ffc3c4bd6a
Update RBI files for all.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-09-05 08:31:07 +00:00
BrewTestBot
f26e296cbb
brew vendor-gems: commit updates. 2025-09-05 08:30:35 +00:00
Mike McQuaid
0264a1e2ee
Merge pull request #20634 from Homebrew/cmd-dev-options
command options: various `--eval-all` fixes
2025-09-05 08:28:20 +00:00
dependabot[bot]
faf936a589
build(deps): bump the all group across 1 directory with 7 updates
Bumps the all group with 4 updates in the /Library/Homebrew directory: [rubocop](https://github.com/rubocop/rubocop), [rubocop-rspec](https://github.com/rubocop/rubocop-rspec), [sorbet-static-and-runtime](https://github.com/sorbet/sorbet) and [bigdecimal](https://github.com/ruby/bigdecimal).


Updates `rubocop` from 1.80.1 to 1.80.2
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.80.1...v1.80.2)

Updates `rubocop-rspec` from 3.6.0 to 3.7.0
- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rspec/compare/v3.6.0...v3.7.0)

Updates `sorbet-static-and-runtime` from 0.6.12466 to 0.6.12479
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.6.12466 to 0.6.12479
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `bigdecimal` from 3.2.2 to 3.2.3
- [Release notes](https://github.com/ruby/bigdecimal/releases)
- [Changelog](https://github.com/ruby/bigdecimal/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/bigdecimal/compare/v3.2.2...v3.2.3)

Updates `sorbet` from 0.6.12466 to 0.6.12479
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.6.12466 to 0.6.12479
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)
build(deps): bump the all group with 5 updates

Bumps the all group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [github/codeql-action](https://github.com/github/codeql-action) | `3.29.11` | `3.30.0` |
| [ruby/setup-ruby](https://github.com/ruby/setup-ruby) | `1.256.0` | `1.257.0` |
| [actions/stale](https://github.com/actions/stale) | `9.1.0` | `10.0.0` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.5.0` | `5.5.1` |
| [actions/setup-python](https://github.com/actions/setup-python) | `5.6.0` | `6.0.0` |


Updates `github/codeql-action` from 3.29.11 to 3.30.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](3c3833e0f8...2d92b76c45)

Updates `ruby/setup-ruby` from 1.256.0 to 1.257.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](efbf473cab...4451173596)

Updates `actions/stale` from 9.1.0 to 10.0.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](5bef64f19d...3a9db7e6a4)

Updates `codecov/codecov-action` from 5.5.0 to 5.5.1
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](fdcc847654...5a1091511a)

Updates `actions/setup-python` from 5.6.0 to 6.0.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](a26af69be9...e797f83bcb)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-version: 1.80.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: rubocop-rspec
  dependency-version: 3.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.6.12479
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-runtime
  dependency-version: 0.6.12479
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: bigdecimal
  dependency-version: 3.2.3
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet
  dependency-version: 0.6.12479
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-static
  dependency-version: 0.6.12479
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github/codeql-action
  dependency-version: 3.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: ruby/setup-ruby
  dependency-version: 1.257.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/stale
  dependency-version: 10.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: codecov/codecov-action
  dependency-version: 5.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: actions/setup-python
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-05 08:06:01 +00:00
Eric Knibbe
1c4cb6936e
command options: various --eval-all fixes 2025-09-05 08:53:44 +01:00
Mike McQuaid
09452ed3c7
Merge pull request #20636 from Homebrew/add-more-relocations
keg_relocate: add more relocation paths
2025-09-05 07:27:45 +00:00
Daeho Ro
cba6e40e77
keg_relocate: add more relocation paths 2025-09-05 14:48:12 +09:00
Rylan Polster
24e7d8f0e0
Merge pull request #20635 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-09-05 00:24:50 +00:00
BrewTestBot
32a5e9f779
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-09-05 00:08:21 +00:00
Mike McQuaid
6e9da0ba4c
Merge pull request #20632 from Homebrew/gcc_version
development_tools: make gcc_version public api
2025-09-04 07:47:18 +00:00
Mike McQuaid
c73538ac03
Merge pull request #20619 from Homebrew/single-api-fetch-per-run
Download new API files once per Homebrew instance
2025-09-04 07:44:49 +00:00
Michael Cho
5fb96d9d8a
shims/super/cc: rpath-link glibc if indirect dep
This helps ld.bfd find the correct `glibc` dependency. Needed when using
host toolchain which will only search for /etc/ld.so.conf.

Also can help unsupported systems that force poured non-relocatable
`binutils` bottle.
2025-09-03 22:08:10 -04:00
Michael Cho
08181692f3
development_tools: make gcc_version public api 2025-09-03 20:35:20 -04:00
Bo Anderson
1c959c22ce
Merge pull request #20630 from Homebrew/pid_path-libSystem
utils/pid_path: use libSystem
2025-09-03 21:26:12 +00:00
Rylan Polster
00f960174f
Download new API files once per Homebrew instance 2025-09-03 15:30:31 -04:00
Mike McQuaid
bd57ad891d
Merge pull request #20629 from Homebrew/cask/audit-fix-key-not-found-error
Cask::Audit: fix `key not found: :latest` error
2025-09-03 18:07:17 +00:00
Bo Anderson
f23b84897c
utils/pid_path: use libSystem 2025-09-03 18:02:28 +01:00
Sam Ford
dce220e518
Cask::Audit: fix key not found: :latest error
`Cask::Audit.audit_livecheck_version` can raise a `key not found:
:latest` error when a hash from livecheck's `latest_version` method
doesn't have a `:latest` value. This error means that livecheck was
unable to identify the latest upstream version but it can only be
understood if the reader knows how this audit is implemented (and it
may also depend on knowing the structure of livecheck's
`latest_version` hash). Without that knowledge, the error doesn't
make it clear which audit is failing and why.

This addresses the issue by using `nil` as the default value for this
`fetch` call and accounting for a `nil` `latest_version` value. This
allows the audit to surface the usual "Version '1.2.3' differs from
'' retrieved by livecheck" failure, which makes it more clear that
livecheck isn't returning a version.
2025-09-03 12:34:06 -04:00
Mike McQuaid
4343324468
Merge pull request #20623 from Homebrew/livecheck/support-trailing-comments-in-watchlist
livecheck: support trailing comments in watchlist
2025-09-03 15:35:15 +00:00
Sam Ford
31cf8b43a9
livecheck: support trailing comments in watchlist
I ran `brew livecheck` today to check the packages in my watchlist
and realized that it wasn't checking one package because I had added
a trailing comment after the name (and `package # Comment` isn't a
valid package name). I thought we had added support for trailing
comments when we originally added comment support years back but I
must have been mistaken.

This adds support for trailing comments in livecheck watchlist files
as part of refactoring the watchlist line parsing logic to only use
one pass (instead of multiple `#map` and `#reject` calls). This
maintains the existing behavior, where blank lines and lines starting
with `#` are skipped, but does so in a more flexible manner. For
example, the existing logic wouldn't skip a comment line that has one
or more spaces before the `#` character but this new logic will
correctly skip it.
2025-09-03 09:10:58 -04:00
Mike McQuaid
6c98d2bf1b
Merge pull request #20625 from osalbahr/config-prioritize-pretty-name
config: Remove use of `/etc/redhat-release`
2025-09-03 11:07:03 +00:00
Osama Albahrani
de8ff312e6 config: Remove use of /etc/redhat-release 2025-09-02 23:24:07 +03:00
Osama Albahrani
ce8ae46054 config: prioritize ::OS_VERSION
On the [beta Bluefin LTS](https://docs.projectbluefin.io/lts), `brew config` reports:

```console
OS: CentOS Stream release 10 (Coughlan)
```

This is due to the `/etc/redhat-release` file being prioritized over `::OS_VERSION` (`PRETTY_NAME` from `/etc/os-release`).

On Bluefin LTS, `PRETTY_NAME` is `Bluefin LTS`.

This commit reverses the order so `brew config` has better detection:

```
OS: Bluefin LTS
```

I tested on RHEL 10 and the OS line only changed in that the word
"release" was omitted:

```
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 10.0 (Coughlan)
$ grep PRETTY_NAME /etc/os-release
PRETTY_NAME="Red Hat Enterprise Linux 10.0 (Coughlan)"
```

- This is an improvement on my previous PR https://github.com/Homebrew/brew/pull/15788
2025-09-02 22:50:36 +03:00
Douglas Eichelberger
fb6c51da07
Enable strict typing in SystemCommand 2025-09-02 10:26:40 -07:00
Mike McQuaid
ab980dc3b7
Merge pull request #20624 from Homebrew/later_pathname_prepend
Make `Pathname.prepend WriteMkpathExtension` as late as possible.
2025-09-02 16:19:44 +00:00
Mike McQuaid
89f3c76cd7
Merge pull request #20622 from Homebrew/livecheck/SkipConditions-check-disabled-before-deprecated
SkipConditions: check disabled before deprecated
2025-09-02 16:02:40 +00:00
Mike McQuaid
e28fe444a5
Make Pathname.prepend WriteMkpathExtension as late as possible.
Let's avoid weirdness in other parts of Homebrew by moving this prepend
to be as late as possible.
2025-09-02 17:00:34 +01:00
Sam Ford
45a642c363
SkipConditions: check disabled before deprecated
We have some formulae and casks that contain both `deprecate!` and
`disable!` calls, presumably as a way of controlling the deprecation
behavior before the disable date is reached. However, once the disable
date has been reached, `Livecheck::SkipConditions` continues to skip
the package as deprecated instead of disabled. This isn't a functional
issue as the package is still skipped but it isn't accurate because
it's not being skipped as disabled.

This reorders `FORMULA_CHECKS` and `CASK_CHECKS` to run the disabled
check before the deprecated check, so the disable date will take
precedence when it's been reached.
2025-09-02 11:32:22 -04:00
Sam Ford
75350b48a3
Merge pull request #20615 from Homebrew/remove-lsr-special-case
Remove temporary audit exception for lsr
2025-09-02 14:23:48 +00:00
Mike McQuaid
bfb0a55347
Merge pull request #20621 from Homebrew/audit-container-deps
cask/audit: fix install of container deps
2025-09-02 13:09:17 +00:00
Bevan Kay
9da27e1ac2
Merge pull request #20620 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-09-02 08:50:23 +00:00
BrewTestBot
aa40480c46
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-09-02 08:34:29 +00:00
Bevan Kay
dc28719c8e
cask/audit: fix install of container deps 2025-09-02 16:33:04 +08:00
Patrick Linnane
48170b8957
Merge pull request #20601 from Homebrew/copilot/fix-20600
Add cask support to `brew unpack` command
2025-09-02 08:13:29 +00:00
Bevan Kay
25ed81f14b
test/dev-cmd/unpack_spec: fix test 2025-09-02 15:55:09 +08:00
Bevan Kay
12ea343c9f
fix brew typecheck 2025-09-02 15:55:09 +08:00
Patrick Linnane
a8b4d115f2
brew style --fix
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-09-02 15:55:08 +08:00
copilot-swe-agent[bot]
f973bea35c
Remove obvious comments as requested in review
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-09-02 15:55:08 +08:00
copilot-swe-agent[bot]
ac6f770cdc
Address review feedback: fix description, use if/else, enable quarantine, improve fetch efficiency, and use local test cask
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-09-02 15:55:08 +08:00
Patrick Linnane
45a2ef9159
unpack_spec: final newlines are hard for AI 2025-09-02 15:55:08 +08:00
copilot-swe-agent[bot]
6be546a5bc
Skip git logic for casks as they don't need it for patch creation
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-09-02 15:55:08 +08:00
copilot-swe-agent[bot]
88b7d2900a
Address fetching consistency concern and fix cask path handling
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-09-02 15:55:07 +08:00
copilot-swe-agent[bot]
a9cd0c4b5d
Add cask support to brew unpack command
Co-authored-by: p-linnane <105994585+p-linnane@users.noreply.github.com>
2025-09-02 15:55:07 +08:00
copilot-swe-agent[bot]
63fee348f7
Initial plan 2025-09-02 15:55:07 +08:00
Rylan Polster
e6711c5b5f
Merge pull request #20618 from Homebrew/unlink-old-names-and-aliases-files
Unlink old `*_names.txt` and `*_aliases.txt` files before overwriting
2025-09-01 20:48:31 +00:00
Rylan Polster
244c3e0e71
Don't remove files unless they exist 2025-09-01 16:32:48 -04:00
Rylan Polster
58e1f13842
Unlink old *_names.txt and *_aliases.txt files before overwriting 2025-09-01 14:49:21 -04:00
Mike McQuaid
47e07fb269
Merge pull request #20607 from Homebrew/fortran-replace-ohai
Fix undefined method 'ohai'
2025-09-01 14:51:29 +00:00
Michael Cho
12920cf96c
Fix undefined method 'ohai' 2025-09-01 15:36:04 +01:00
Mike McQuaid
06f875c2a7
Merge pull request #20593 from ivy/ivy/mcp-server-docs
Document MCP server capabilities
2025-09-01 14:19:06 +00:00
Sam Ford
3eb57bc41d
Remove temporary audit exception for lsr
This removes the temporary `audit_download_strategy` exception for
the `lsr` formula. This was necessary to be able to merge support for
tangled.sh Git URLs, as it made the `using: :git` argument in the
`lsr` formula redundant and caused the "formula audit" check to fail
in brew CI.
2025-09-01 09:50:10 -04:00
Mike McQuaid
9903f0c1f2
Merge pull request #20608 from botantony/typed-strict
lock_file simulate_system: `typed: strict`
2025-09-01 13:18:24 +00:00
Mike McQuaid
d9718cec92
Merge pull request #20612 from Homebrew/dug/simplify-affix-checks
Avoid repeated calls to affix checks
2025-09-01 13:13:37 +00:00
botantony
5b854fa25a
lock_file/simulate_system: typed: strict
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-09-01 13:59:07 +01:00
Mike McQuaid
15f093c32b
Merge pull request #20599 from Homebrew/download_strategy-handle-tangled.sh-git
DownloadStrategyDetector: handle tangled.sh Git URLs
2025-09-01 12:41:37 +00:00
Sam Ford
46d4af6031
Temporarily skip audit_download_strategy for lsr
This is a temporary workaround to allow us to merge support for
tangled.sh Git URLs in `DownloadStrategyDetector`, as it makes the
`using: :git` argument in the `lsr` formula redundant and causes brew
CI to fail. We can't remove that argument from the formula until the
brew change is merged, so this allows us to do so. This should be
removed after the brew change is available in a release.

Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-09-01 08:22:40 -04:00
Sam Ford
d4b7cc14f1
DownloadStrategyDetector: handle tangled.sh Git URLs
We have one formula (`lsr`) that uses a tangled.sh URL but they don't
support a .git extension, so it isn't detected as a Git URL by
`DownloadStrategyDetector`. We can use `using: :git` with the `stable`
URL but livecheck can't use the `Git` strategy for tangled.sh URLs
because its `match` method depends on `DownloadStrategyDetector`
detecting the URL as a `GitDownloadStrategy`.

This adds support for tangled.sh URLs to `DownloadStrategyDetector`
to address this issue. This will also allow us to remove/omit the
`using: :git` argument from related URLs.
2025-09-01 08:12:37 -04:00
Mike McQuaid
0dfd80dd55
Merge pull request #20611 from Homebrew/private-taps
tap: actively check repo visibility
2025-09-01 10:43:01 +00:00
Douglas Eichelberger
240fd71e6f
Avoid repeated calls to affix checks 2025-08-31 11:11:41 -07:00
Ruoyu Zhong
78227dc924
tap: actively check repo visibility
We shouldn't assume that the visibility of a tap keeps unchanged by
storing it into `TapConfig`. Instead, let's actively check that to avoid
e.g. collecting unwanted analytics.

Also, speed up the check for known official public taps so that we don't
waste our GitHub API token limit in CI.
2025-08-31 22:59:21 +08:00
Ivy Evans
6f6af2347c remove trailing newline 2025-08-29 22:08:32 -07:00
Ivy Evans
d4cda43b71
Apply suggestion from @MikeMcQuaid
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-08-29 22:05:41 -07:00
Rylan Polster
9219495eb0
Merge pull request #20604 from Homebrew/revert-20535-use-rubocop-internal-formatter
Revert "Use `rubocop_internal` formatter for Ruby LSP"
2025-08-29 09:52:27 +00:00
Rylan Polster
0619fe3eb3
Revert "Use rubocop_internal formatter for Ruby LSP" 2025-08-29 05:32:27 -04:00
Ruoyu Zhong
e10038bcdb
Merge pull request #20602 from Homebrew/dependabot/all-b88d22238a
Bump the "all" group with 3 updates across multiple ecosystems
2025-08-29 08:51:40 +00:00
BrewTestBot
5256b2467c
Update RBI files for all.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-08-29 08:33:40 +00:00
BrewTestBot
143623a8f9
brew vendor-gems: commit updates. 2025-08-29 08:32:56 +00:00
dependabot[bot]
cf4e534d51
build(deps): bump actions/attest-build-provenance in the all group
Bumps the all group with 1 update: [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance).


Updates `actions/attest-build-provenance` from 2.4.0 to 3.0.0
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](e8998f9491...977bb373ed)
build(deps): bump the all group across 1 directory with 7 updates

Bumps the all group with 4 updates in the /Library/Homebrew directory: [rubocop](https://github.com/rubocop/rubocop), [simplecov-cobertura](https://github.com/jessebs/simplecov-cobertura), [sorbet-static-and-runtime](https://github.com/sorbet/sorbet) and [rexml](https://github.com/ruby/rexml).


Updates `rubocop` from 1.80.0 to 1.80.1
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.80.0...v1.80.1)

Updates `simplecov-cobertura` from 3.0.0 to 3.1.0
- [Release notes](https://github.com/jessebs/simplecov-cobertura/releases)
- [Commits](https://github.com/jessebs/simplecov-cobertura/compare/v3.0.0...v3.1.0)

Updates `sorbet-static-and-runtime` from 0.5.12434 to 0.6.12466
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `rexml` from 3.4.1 to 3.4.2
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.4.1...v3.4.2)

Updates `sorbet-runtime` from 0.5.12434 to 0.6.12466
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12434 to 0.6.12466
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12434 to 0.6.12466
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)
build(deps): bump typing-extensions

Bumps the all group with 1 update in the /Library/Homebrew/formula-analytics directory: [typing-extensions](https://github.com/python/typing_extensions).


Updates `typing-extensions` from 4.14.1 to 4.15.0
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.14.1...4.15.0)

---
updated-dependencies:
- dependency-name: actions/attest-build-provenance
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: rubocop
  dependency-version: 1.80.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: simplecov-cobertura
  dependency-version: 3.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.6.12466
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: rexml
  dependency-version: 3.4.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-runtime
  dependency-version: 0.6.12466
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: sorbet
  dependency-version: 0.6.12466
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: sorbet-static
  dependency-version: 0.6.12466
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: typing-extensions
  dependency-version: 4.15.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-29 08:18:14 +00:00
Mike McQuaid
5d1e474a57
Merge pull request #20598 from Homebrew/load-replacement-formula-cask
Load replacement formula/cask from formula API
2025-08-29 08:14:31 +00:00
Mike McQuaid
53952ecb1e
Merge pull request #20592 from botantony/typed-strict
keg_only_reason locale: `typed: strict`
2025-08-29 08:08:15 +00:00
Rylan Polster
dc39c12b39
Load replacement formula/cask from formula API 2025-08-28 16:48:32 -04:00
Ivy Evans
e91ee8fb85 docs: remove Oxford comma 😭 2025-08-28 12:43:51 -07:00
Ivy Evans
f4daecd3da docs: improve MCP server description
Removes tools table and expand on the first section with details about
what it can do.
2025-08-28 11:22:21 -07:00
Mike McQuaid
b95c3613bc
Merge pull request #20597 from Homebrew/allow-all-value-for-gnome_devel_allowlist
Allow "all" value for gnome_devel_allowlist
2025-08-28 17:59:54 +00:00
Mike McQuaid
affc65e55a
Merge pull request #20595 from Homebrew/cask/system_command-coerce-pathname-to-string
AbstractUninstall: coerce which argument to String
2025-08-28 17:37:34 +00:00
Sam Ford
d50c1faeed
Allow "all" value for gnome_devel_allowlist
The `gnome_devel_allowlist` for formulae requires a specific version
as a value (e.g., `"1.57"` to allow 1.57.x versions) and this requires
us to update the value when a new odd-numbered minor version appears.
For example, the newest `pango` version is 1.57.0 but autobump was
unable to update the formula because the `gnome_devel_allowlist`
value was `"1.55"`. `pango` doesn't use the "odd-numbered minor
versions are development releases" GNOME version scheme but we have
to manually update the allowlist because we don't have a
version-independent way of opting out of the GNOME version scheme.

This adds support for an alternative `"all"` value in
`gnome_devel_allowlist` (similar to `github_prerelease_allowlist`),
which essentially opts the formula out of the GNOME version scheme
restrictions regardless of the version.
2025-08-28 13:23:39 -04:00
Mike McQuaid
9aa286faa0
Merge pull request #20596 from Homebrew/tap_installer_force
bundle/tap_installer: add force flag for official taps for developers.
2025-08-28 16:28:04 +00:00
Mike McQuaid
b32296a7e0
bundle/tap_installer: add force flag for official taps for developers.
This avoids a `homebrew/core` in a `Brewfile` failing for Homebrew
developers who probably want it.
2025-08-28 16:41:50 +01:00
Sam Ford
ba0bc88b3d
AbstractUninstall: coerce which argument to String
`Cask::Artifact::AbstractUninstall.uninstall_script` contains a
`which` call that uses a `Pathname` argument instead of a `String` and
this leads to a type error (`Parameter 'cmd': Expected type String,
got type Pathname with value...`). This resolves the error by calling
`#to_s` on the `executable_path` argument.
2025-08-28 11:21:57 -04:00
botantony
6458a5ba43
locale: typed: strict
Signed-off-by: botantony <antonsm21@gmail.com>
2025-08-28 15:20:54 +02:00
botantony
d76fcd0edd
keg_only_reason: typed: strict
Signed-off-by: botantony <antonsm21@gmail.com>
2025-08-28 15:19:08 +02:00
Daeho Ro
f6ce120b40
Merge pull request #20594 from Homebrew/pod2man-improve
feat: update regex replace for pod2man
2025-08-28 12:46:35 +00:00
Daeho Ro
b940c63578
feat: update regex replace for pod2man 2025-08-28 21:01:19 +09:00
Mike McQuaid
e235466dee
Merge pull request #20589 from Homebrew/pod2man-improve
feat: update pod2man normalize
2025-08-28 08:25:02 +00:00
Daeho Ro
e0f1fb54a3
feat: update pod2man normalize 2025-08-28 14:01:22 +09:00
Ivy Evans
7358c96dbb Document available MCP server tools
I spotted this new feature on the Homebrew website but I didn't see any
details about what it could do! Very excited to try it out!

This commit documents each of the available tools, following the details
in `Library/Homebrew/mcp_server.rb`.
2025-08-27 10:51:17 -07:00
Rylan Polster
df73746291
Merge pull request #20586 from Homebrew/formula-stub-improvements
Include aliases and renames in `FormulaStub`
2025-08-27 07:33:37 +00:00
Rylan Polster
9c68b548e9
Include aliases and renames in FormulaStub 2025-08-26 17:02:57 -04:00
Patrick Linnane
81b79b93f3
Merge pull request #20584 from Homebrew/livecheck-rename
unversioned_cask_checker: process rename operations
2025-08-26 15:07:02 +00:00
Bevan Kay
9416ca1551
unversioned_cask_checker: process rename operations 2025-08-26 21:23:07 +08:00
Issy Long
fee0e1543f
Merge pull request #20583 from Homebrew/encourage-adding-to-head-branch-allowlist
Encourage using a default branch for HEAD core formulae
2025-08-26 13:02:02 +00:00
Issy Long
577aec3f60
Encourage using a default branch for HEAD core formulae
- We don't mind if third-party taps have non-default HEAD branches - they have their reasons.
- But we want -core to be consistent, hence why there's the allowlist file.
- https://github.com/Homebrew/brew/pull/20402#discussion_r2292366323
2025-08-26 14:26:11 +02:00
Mike McQuaid
12a31a1f6a
Merge pull request #20578 from Homebrew/dug/t-must-cleanup
Remove unnecessary use of `T.must`
2025-08-26 07:33:04 +00:00
Rylan Polster
1ebeb64196
Merge pull request #20580 from Homebrew/fix-write-mkpath-extension-tests
Fix `WriteMkpathExtension` tests
2025-08-26 07:32:53 +00:00
Mike McQuaid
29518275d1
Merge pull request #20569 from Homebrew/bump-handle-skipped
bump: respect livecheck skipped status
2025-08-26 07:32:12 +00:00
Rylan Polster
9a93b15a7a
Fix WriteMkpathExtension tests 2025-08-26 03:12:40 -04:00
Carlo Cabrera
97650da7ec
Merge pull request #20579 from Homebrew/test-WriteMkpathExtension
test, postinstall: use `WriteMkpathExtension`
2025-08-26 06:16:24 +00:00
Carlo Cabrera
515c4bd287
test, postinstall: use WriteMkpathExtension
See https://github.com/Homebrew/brew/pull/20566/files#r2299770459.
2025-08-26 13:10:04 +08:00
Rylan Polster
0bf165c121
Merge pull request #20577 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-08-26 04:11:10 +00:00
Douglas Eichelberger
4d11307d41
Refactor T.must called on .last 2025-08-25 20:30:31 -07:00
Douglas Eichelberger
d97933b38c
Refactor T.must called on .first 2025-08-25 20:27:47 -07:00
BrewTestBot
9e92b77360
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-08-26 03:14:55 +00:00
Ruoyu Zhong
1f55f0c01a
Merge pull request #20574 from Homebrew/pr-publish-main
dev-cmd/pr-publish: default to `main` branch
2025-08-26 02:55:16 +00:00
Douglas Eichelberger
af6f648f00
Merge pull request #20570 from Homebrew/dug/enable-refinement-cop
Enable Sorbet/Refinement
2025-08-25 18:48:53 +00:00
Rylan Polster
0e49c24705
Merge pull request #20573 from Homebrew/add-download-queue-helper
Create `DownloadQueue` helper to check concurrency and initialize
2025-08-25 18:10:49 +00:00
Michael Cho
8b3b832e03
dev-cmd/pr-publish: default to main branch 2025-08-25 14:01:58 -04:00
Rylan Polster
ab33c09687
Merge pull request #20572 from Homebrew/remove-redundant-tbind-pathname
Remove redundant `T.bind(self, Pathname)`
2025-08-25 17:52:25 +00:00
Rylan Polster
3dff8dfb62
Create DownloadQueue helper to check concurrency and initialize 2025-08-25 13:39:35 -04:00
Rylan Polster
7802a80613
Remove redundant T.bind(self, Pathname) 2025-08-25 12:57:48 -04:00
Carlo Cabrera
8b2209bc26
Merge pull request #20571 from Homebrew/formula_cellar_checks-avoid-changing-name
formula_cellar_checks: avoid changing name
2025-08-25 16:24:58 +00:00
Michael Cho
5adc8f75a8
formula_cellar_checks: avoid changing name 2025-08-25 12:00:33 -04:00
Douglas Eichelberger
5ed25c4329
Enable Sorbet/Refinement 2025-08-25 07:40:22 -07:00
Sam Ford
1d47038b12
bump: respect livecheck skipped status
`brew bump` understands that some formulae/casks are skipped by
livecheck but it doesn't use this information to avoid doing
unnecessary or inappropriate work. This modifies related logic to not
fetch PR information or try to open a version bump PR if livecheck is
skipped. livecheck is our only source of version information these
days, so we can't try to version bump a package if we don't have
upstream version information.

This has been leading to an "Invalid usage: `--version` must not be
empty" error and this _should_ fix the issue under these particular
circumstances. There's still plenty of room for improvement in how
all of this is handled in bump but this is just a quick bug fix.
2025-08-25 10:07:17 -04:00
Rylan Polster
dd7e3e0142
Merge pull request #20566 from Homebrew/extract-pathname-refinement
Extract `Pathname` refinement from `Formulary`
2025-08-25 10:02:06 +00:00
Rylan Polster
763531e821
Extract Pathname refinement from Formulary 2025-08-25 04:08:42 -04:00
Mike McQuaid
82fabab8aa
Merge pull request #20560 from Homebrew/dug/typed-kernel
Enable strict typing in Kernel extensions + utils.rb
2025-08-25 07:31:58 +00:00
Mike McQuaid
0eb0c11dc3
Merge pull request #20563 from Homebrew/dug/formula-support-rename
Rename formula_support to keg_only reason, refactor slightly
2025-08-25 07:31:51 +00:00
Mike McQuaid
a0b6d12d30
Merge pull request #20490 from Homebrew/parser-formula-stubs
Load formulae from stubs in argument parser
2025-08-25 07:28:29 +00:00
Rylan Polster
9153a22fc9
Fix utils/autoremove tests 2025-08-25 01:07:53 -04:00
Rylan Polster
f724e00830
Extract map_to_fully_loaded 2025-08-25 01:07:40 -04:00
Rylan Polster
a6031cb323
Set warn to false by default in named arg parsing 2025-08-25 00:34:09 -04:00
Rylan Polster
9ea567f561
Use formula stubs for some dependency checking 2025-08-25 00:34:09 -04:00
Rylan Polster
c0df920660
Parse named args from formula stubs 2025-08-25 00:34:09 -04:00
Douglas Eichelberger
6a25de5daf
Rename formula_support to keg_only reason, refactor slightly 2025-08-24 14:57:19 -07:00
Douglas Eichelberger
2dc4c7a4d2
Rename Volumes.which to avoid incompatible override 2025-08-24 14:34:31 -07:00
Rylan Polster
02947ea4ed
Merge pull request #20553 from Homebrew/formulary-types
Enable strict typing in `Formulary`
2025-08-24 18:23:35 +00:00
Rylan Polster
879b7a5dd8
Work around PathnameWriteMkpath refinement recursion error 2025-08-24 14:08:01 -04:00
Rylan Polster
9a7fdd988c
Handle false case for @factory_cache_enabled in Formulary 2025-08-24 14:07:17 -04:00
Rylan Polster
4410388043
Enable strict typing in Formulary 2025-08-24 12:58:48 -04:00
Douglas Eichelberger
566290dcbc
Merge pull request #20561 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-08-24 01:46:12 +00:00
Douglas Eichelberger
ceb2291be1
Enable strict typing in Kernel extensions + utils.rb 2025-08-23 18:44:36 -07:00
BrewTestBot
dc687d7160
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-08-24 00:32:31 +00:00
Rylan Polster
7434f3512b
Merge pull request #20559 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-08-23 20:18:23 +00:00
BrewTestBot
74249658b5
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-08-23 20:03:03 +00:00
Mike McQuaid
74ec33d3d2
Merge pull request #20547 from Homebrew/mcp_dev_cmds
Improve MCP server with development commands.
2025-08-23 19:57:46 +00:00
Mike McQuaid
a7b852014a
Merge pull request #20554 from branchvincent/setup_install_args
Deprecate `Language::Python.setup_install_args`
2025-08-23 19:48:50 +00:00
Mike McQuaid
a042699d33
Merge pull request #20551 from Homebrew/unsigned-to-fails-gatekeeper-rubocop
rubocop: replace `:unsigned` automatically
2025-08-23 19:47:23 +00:00
Mike McQuaid
bc3c3606a3
Merge pull request #20558 from Homebrew/remove-cask-url-block
Remove unused cask `url do` code
2025-08-23 19:46:27 +00:00
Mike McQuaid
22d67da642
Merge pull request #20552 from branchvincent/alpine
cmd/search: add `--alpine`
2025-08-23 19:44:30 +00:00
Mike McQuaid
faafc6636d
mcp_server: add missing style changed argument.
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2025-08-23 20:40:20 +01:00
Mike McQuaid
5e3a8d96c6
Merge pull request #20557 from Homebrew/dug/typed-yard
Enable strict typing in yard extensions
2025-08-23 19:39:23 +00:00
Branch Vincent
859dbb074c
Deprecate Language::Python.setup_install_args
This method predates Python's standardized `pyproject.toml` build system,
introduced in PEP 517 to allow for more build backends than just
`setuptools`: https://peps.python.org/pep-0517/. Directly executing
`setup.py` has since been deprecated in favor of using PEP 517 compliant
installers, such as `pip`: https://packaging.python.org/en/latest/discussions/setup-py-deprecated/

In homebrew/core, our last remaining use is a single disabled formula.
For third party taps, simply migrate to `std_pip_args`:

```ruby
# Old
system python3, *Language::Python.setup_install_args(libexec, python3)
# New
system python3, "-m", "pip", "install", *std_pip_args, "."
```
2025-08-23 12:33:53 -07:00
Rylan Polster
5d13ce9280
Remove unused cask url do code 2025-08-23 15:02:23 -04:00
Douglas Eichelberger
73bb781d1d
Enable strict typing in yard extensions 2025-08-23 09:23:30 -07:00
Rylan Polster
78beba5440
Merge pull request #20556 from Homebrew/diagnostic-ohai
diagnostic: fix undefined `ohai` method
2025-08-23 16:08:06 +00:00
Ruoyu Zhong
454fc6e745
diagnostic: fix undefined ohai method
Fixes #20555.
2025-08-23 20:52:31 +08:00
Branch Vincent
176720f75e
Merge pull request #20550 from branchvincent/doctor
diagnostic: fix missing string interpolation
2025-08-23 03:44:15 +00:00
Bevan Kay
2b151d30e7
rubocop: replace :unsigned automatically 2025-08-23 13:13:48 +10:00
Branch Vincent
680596b71a
cmd/search: add --alpine 2025-08-22 20:06:23 -07:00
Branch Vincent
c142a75eea
diagnostic: fix missing string interpolation 2025-08-22 19:39:31 -07:00
Mike McQuaid
b6976f3515
Merge pull request #20548 from Homebrew/bump_exit_code
dev-cmd/bump: adjust `system` call.
2025-08-22 15:33:43 +00:00
Mike McQuaid
c760afc66e
dev-cmd/bump: adjust system call.
Instead of immediately failing let's set `Homebrew.failed` to `true` to
set a non-zero exit code but continue with the rest of formulae/casks.
2025-08-22 15:54:51 +01:00
Mike McQuaid
addff82ff4
Improve MCP server with development commands.
Add these extra commands, better argument handling, progress reporting
(for long-running commands), some basic refactoring and mention these
commands and flags in the Copilot instructions.
2025-08-22 15:51:14 +01:00
Mike McQuaid
53494592e3
Merge pull request #20545 from Homebrew/brew_style_changed
Add `brew style --changed`
2025-08-22 13:51:56 +00:00
Mike McQuaid
7f57984eec
Merge pull request #20544 from Homebrew/fix_manpages
manpages: fix type.
2025-08-22 13:47:17 +00:00
Mike McQuaid
621114488e
Add brew style --changed
This emulates `brew tests --changed` but for style checks. Should make
things a bit quicker for the case of wanting to quickly fix up
local files.
2025-08-22 14:33:20 +01:00
Mike McQuaid
d7a5f061ab
manpages: fix type.
Otherwise `brew generate-man-completions` fails.
2025-08-22 14:31:59 +01:00
Mike McQuaid
7878c73b85
Merge pull request #20537 from Homebrew/dependabot/all-de17bcb037
Bump the "all" group with 2 updates across multiple ecosystems
2025-08-22 12:47:27 +00:00
Ruoyu Zhong
c1e02b6807
Merge pull request #20543 from Homebrew/bump_safe_system
dev-cmd/bump: fix `system` call.
2025-08-22 12:24:00 +00:00
Mike McQuaid
7bd0458c71
Merge pull request #20542 from Homebrew/upgrade_ofail_opoo
cmd/upgrade: fix ofail/opoo call.
2025-08-22 12:13:00 +00:00
Mike McQuaid
96230dc22b
dev-cmd/bump: fix system call.
This was using `system` instead of `safe_system` which ignores failures.
2025-08-22 13:06:31 +01:00
Mike McQuaid
5718e87e5e
cmd/upgrade: fix ofail/opoo call.
This method doesn't exist on `Kernel` any more. While we're here, let's
avoid `public_send` and use `if` instead for a bit more safety.
2025-08-22 12:54:26 +01:00
Mike McQuaid
eacbff25f3
Merge pull request #20539 from Homebrew/style_all_taps
workflows/tests: run `brew style` on all taps at once.
2025-08-22 10:58:35 +00:00
Carlo Cabrera
ed0011f40f
Merge pull request #20538 from Homebrew/unversioned-universal_binary_allowlist
formula_cellar_checks: check unversioned name in `universal_binary_allowlist`
2025-08-22 10:38:57 +00:00
Mike McQuaid
3998a4fe85
Merge pull request #20530 from Homebrew/typed-strict
bundle: some more `typed: strict`
2025-08-22 10:29:25 +00:00
Mike McQuaid
3a3572449a
workflows/tests: run brew style on all taps at once.
It's nicer and faster to not split these up and avoids needing to
repeatedly rerun this workflow in order to get all the results.
2025-08-22 10:55:50 +01:00
Carlo Cabrera
4a681717ce
formula_cellar_checks: check unversioned name in universal_binary_allowlist
This will allow us to avoid having to list multiple formula versions in
the universal binary allowlist (e.g. for `llvm`).
2025-08-22 17:55:21 +08:00
Mike McQuaid
02c2a348c4
brew style --fix 2025-08-22 10:41:43 +01:00
BrewTestBot
a881e4365a
Update RBI files for all.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-08-22 09:12:31 +00:00
BrewTestBot
1d518b6cb8
brew vendor-gems: commit updates. 2025-08-22 09:11:39 +00:00
Mike McQuaid
3bbff84ff1
Merge pull request #20525 from Homebrew/utils_output
Move `o*` output methods to `Utils::Output`
2025-08-22 09:10:29 +00:00
Mike McQuaid
4774f08862
Merge pull request #20535 from Homebrew/use-rubocop-internal-formatter
Use `rubocop_internal` formatter for Ruby LSP
2025-08-22 09:02:02 +00:00
dependabot[bot]
746be9bd73
build(deps): bump the all group with 3 updates
Bumps the all group with 3 updates: [github/codeql-action](https://github.com/github/codeql-action), [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [codecov/codecov-action](https://github.com/codecov/codecov-action).


Updates `github/codeql-action` from 3.29.9 to 3.29.11
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](df559355d5...3c3833e0f8)

Updates `ruby/setup-ruby` from 1.255.0 to 1.256.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](829114fc20...efbf473cab)

Updates `codecov/codecov-action` from 5.4.3 to 5.5.0
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](18283e04ce...fdcc847654)
build(deps): bump the all group across 1 directory with 8 updates

Bumps the all group with 4 updates in the /Library/Homebrew directory: [rubocop](https://github.com/rubocop/rubocop), [rubocop-md](https://github.com/rubocop/rubocop-md), [sorbet-static-and-runtime](https://github.com/sorbet/sorbet) and [rspec-support](https://github.com/rspec/rspec).


Updates `rubocop` from 1.79.2 to 1.80.0
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.79.2...v1.80.0)

Updates `rubocop-md` from 2.0.1 to 2.0.2
- [Release notes](https://github.com/rubocop/rubocop-md/releases)
- [Changelog](https://github.com/rubocop/rubocop-md/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-md/compare/v2.0.1...v2.0.2)

Updates `sorbet-static-and-runtime` from 0.5.12401 to 0.5.12434
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12401 to 0.5.12434
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `rspec-support` from 3.13.4 to 3.13.5
- [Changelog](https://github.com/rspec/rspec/blob/rspec-support-v3.13.5/rspec-support/Changelog.md)
- [Commits](https://github.com/rspec/rspec/compare/rspec-support-v3.13.4...rspec-support-v3.13.5)

Updates `sorbet` from 0.5.12401 to 0.5.12434
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12401 to 0.5.12434
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `unicode-display_width` from 3.1.4 to 3.1.5
- [Changelog](https://github.com/janlelis/unicode-display_width/blob/main/CHANGELOG.md)
- [Commits](https://github.com/janlelis/unicode-display_width/compare/v3.1.4...v3.1.5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: ruby/setup-ruby
  dependency-version: 1.256.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: codecov/codecov-action
  dependency-version: 5.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: rubocop
  dependency-version: 1.80.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: rubocop-md
  dependency-version: 2.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12434
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12434
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: rspec-support
  dependency-version: 3.13.5
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet
  dependency-version: 0.5.12434
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-static
  dependency-version: 0.5.12434
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: unicode-display_width
  dependency-version: 3.1.5
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 08:56:07 +00:00
Rylan Polster
604698c501
Use rubocop_internal formatter for Ruby LSP 2025-08-21 21:11:18 -04:00
Ruoyu Zhong
aeb42b2614
Merge pull request #20532 from Homebrew/cli-parser-switch-env
cli/parser: convert switch env values to boolean
2025-08-21 18:22:20 +00:00
Ruoyu Zhong
625a6c08eb
test/cli/parser: add one more test 2025-08-22 02:04:55 +08:00
Ruoyu Zhong
33a2f410af
cli/parser: convert switch env values to boolean
Since switch values are boolean, we should be returning the environment
variable's presence instead of its string value.

Fixes #20531.
2025-08-22 01:59:54 +08:00
Ruoyu Zhong
bcf3de5807
bundle/skipper: typed: strict 2025-08-21 22:41:17 +08:00
Ruoyu Zhong
13af517121
bundle/brewfile: typed: strict 2025-08-21 22:33:39 +08:00
Ruoyu Zhong
12366f9c5b
bundle/commands/install: typed: strict 2025-08-21 22:33:29 +08:00
Ruoyu Zhong
e910f91124
Merge pull request #20528 from Homebrew/more-typed-strict
More `typed: strict`
2025-08-21 12:45:01 +00:00
Ruoyu Zhong
6c663837c7
manpages: typed: strict
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-08-21 17:27:42 +08:00
Ruoyu Zhong
a03aaef339
bundle/dumper: typed: strict 2025-08-21 17:27:36 +08:00
Ruoyu Zhong
579c31f001
bundle/mac_app_store_dumper: typed: strict 2025-08-21 17:27:36 +08:00
Ruoyu Zhong
1a45660194
bundle/vscode_extension_dumper: typed: strict 2025-08-21 17:27:36 +08:00
Ruoyu Zhong
19d160bfc2
bundle/tap_dumper: typed: strict 2025-08-21 17:27:36 +08:00
Mike McQuaid
ae76de7859
Merge pull request #20526 from Homebrew/typed-strict
Miscellaneous `typed: strict`
2025-08-21 06:34:47 +00:00
Ruoyu Zhong
16bc592e08
settings: typed: strict 2025-08-21 14:19:34 +08:00
Mike McQuaid
a1f112f3fe
Move o* output methods to Utils::Output
This reduces the surface area of our `Kernel` monkeypatch and removes
the need to `include Kernel` in a bunch of modules.

While we're here, also move `Kernel#require?` to `Homebrew` and fully
scope the calls to it.
2025-08-20 19:20:19 +01:00
Ruoyu Zhong
dde6703237
services/formulae: typed strict
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-08-21 01:52:56 +08:00
Ruoyu Zhong
214a88e434
os/mac: typed: strict
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-08-21 01:52:51 +08:00
Ruoyu Zhong
c98505baf7
os/linux/glibc: typed: strict 2025-08-21 01:28:16 +08:00
Mike McQuaid
e4e6185272
Merge pull request #20524 from Homebrew/fetch_api_files_refactoring
Refactor Homebrew::API.fetch_api_files! to not take arguments.
2025-08-20 15:26:44 +00:00
Mike McQuaid
d2de1d5b7d
Refactor Homebrew::API.fetch_api_files! to not take arguments.
Was thinking about this a bit and feels a bit nicer to DRY this up.
2025-08-20 08:51:11 +01:00
Mike McQuaid
fc85e051aa
Merge pull request #20522 from Homebrew/merge-daily-linux-builds
formula-analytics: reduce noise from Linux builds
2025-08-20 07:23:39 +00:00
Justin Krehel
1f0ddcc791
formula-analytics: reduce noise from Linux builds
Frequent Linux builds add a number of low count unique OS variations to
analytics, so compress into a major version for displaying
2025-08-19 21:42:19 -04:00
Mike McQuaid
033138638f
Merge pull request #20520 from Homebrew/brew_tests_fetch_json_api_files_if_needed
dev-cmd/tests: fetch JSON API files if needed.
2025-08-19 18:34:32 +00:00
Mike McQuaid
88d2b74ee5
dev-cmd/tests: fetch JSON API files if needed.
If HOMEBREW_NO_INSTALL_FROM_API was set, we hadn't fetched JSON API
files so will need to fetch them for a valid test environment.
2025-08-19 19:18:31 +01:00
Bo Anderson
5decda29b8
Merge pull request #20518 from Homebrew/doctor-verbose-fix
diagnostic: fix error on verbose
2025-08-19 16:45:42 +00:00
Mike McQuaid
eae11bfe91
Merge pull request #20517 from Homebrew/copilot/fix-20516
Fix conflicts_with stanza odeprecated method call issue
2025-08-19 16:44:04 +00:00
Bo Anderson
1ae7394b2c
diagnostic: fix error on verbose 2025-08-19 17:29:44 +01:00
copilot-swe-agent[bot]
8b10231085
Fix conflicts_with stanza odeprecated method call issue
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-19 17:07:37 +01:00
Mike McQuaid
d82f30290e
Merge pull request #20504 from Homebrew/copilot/fix-20503
Add RuboCop rule to detect identical SHA256 values across architectures in casks
2025-08-19 14:00:44 +00:00
copilot-swe-agent[bot]
7f6b4bee93
Implement SHA256 architecture audit as RuboCop rule
Co-authored-by: p-linnane <105994585+p-linnane@users.noreply.github.com>
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-19 14:45:01 +01:00
Mike McQuaid
00c1ca2aac
Merge pull request #20515 from Homebrew/stable-dir-vars
Formula-Cookbook: document stable path variables
2025-08-19 13:27:17 +00:00
Eric Knibbe
b33443d655
Formula-Cookbook: document stable path variables 2025-08-19 09:04:12 -04:00
Mike McQuaid
b29076c577
Merge pull request #20513 from Homebrew/more_typed_strict
More Sorbet `typed: strict` files
2025-08-19 12:18:37 +00:00
Mike McQuaid
a71d5e835f
More Sorbet typed: strict files
Add the necessary changes for Sorbet `typed: strict` in more files.

Co-authored-by: Ruoyu Zhong <zhongruoyu@outlook.com>
2025-08-19 13:03:08 +01:00
Mike McQuaid
74efe54605
Merge pull request #20514 from Homebrew/diagnostic-fixes
diagnostic: miscellaneous fixes
2025-08-19 11:36:32 +00:00
Ruoyu Zhong
1eb070e257
diagnostic: don't expand tildes in cask env vars
We double quote them so they don't get expanded. Also, use `sh_quote` to
quote the variable values properly.
2025-08-19 16:42:06 +08:00
Ruoyu Zhong
31598ca8ef
diagnostic: improve tilde expansion logic
This is a bit pedantic, but the tilde expansion only occurs if the tilde
is at the beginning of the string (if we only take the current user into
account) [1].

[1]: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#tag_19_06_01
2025-08-19 16:42:06 +08:00
Ruoyu Zhong
b749cbcffd
diagnostic: fix cask env var output
With `each`, we don't actually output the processed values. We should
therefore be using `filter_map` instead.
2025-08-19 16:42:06 +08:00
Mike McQuaid
62c24bad68
Merge pull request #20512 from Homebrew/diagnostic_strict
**/diagnostic.rb: add Sorbet strict sigil.
2025-08-19 08:27:58 +00:00
Mike McQuaid
6db1f6a052
**/diagnostic.rb: add Sorbet strict sigil.
Making more files `typed: strict` slowly but surely.
2025-08-19 09:10:24 +01:00
Mike McQuaid
df589f47cb
Merge pull request #20511 from Homebrew/check_for_symlinked_home_doctor_only
os/linux/diagnostic: make check_for_symlinked_home doctor-only.
2025-08-19 07:45:58 +00:00
Mike McQuaid
dc8d920d37
Merge pull request #20510 from Homebrew/cask-env-var-diagnostic-fix
diagnostic: fix `check_cask_environment_variables` check
2025-08-19 07:42:27 +00:00
Mike McQuaid
b7d242a53f
Merge pull request #20497 from Homebrew/support_tiers_macos_future
Support Tiers: document future macOS support
2025-08-19 07:33:41 +00:00
Rylan Polster
f4445d2fba
Merge pull request #20509 from Homebrew/formula-analytics-os-names
Fix `formula-analytics` pretty OS name logic
2025-08-19 07:30:46 +00:00
Mike McQuaid
59f0197450
os/linux/diagnostic: make check_for_symlinked_home doctor-only.
This avoids printing it every time a `brew install` is run.
2025-08-19 08:30:06 +01:00
Mike McQuaid
e29749fcc2
Merge pull request #20496 from Homebrew/update-report-desc-non-api
cmd/update-report: show new formula/cask desc for non-API users too
2025-08-19 07:25:39 +00:00
Mike McQuaid
382d1f350f
Merge pull request #20489 from Homebrew/load-formula-stubs
Enable loading formulae from stubs
2025-08-19 07:24:54 +00:00
Ruoyu Zhong
10ec91cdeb
diagnostic: fix check_cask_environment_variables check
Fixes #20505.
2025-08-19 15:22:58 +08:00
Mike McQuaid
31e212b6f6
Support Tiers: document future macOS support
Let's provide a clear roadmap of what we plan to support, not and
when we plan to make these changes.

Co-authored-by: Sam Ford <1584702+samford@users.noreply.github.com>
Co-authored-by: Eric Knibbe <enk3@outlook.com>
2025-08-19 08:19:28 +01:00
Rylan Polster
4b4378943a
Fix formula-analytics pretty OS name logic 2025-08-19 03:12:32 -04:00
Ruoyu Zhong
b45f0ecd2e
test/cmd/update-report: fix test 2025-08-19 14:59:40 +08:00
Rylan Polster
b04b0971a1
Enable loading stubbed formulae 2025-08-19 02:47:07 -04:00
Ruoyu Zhong
c481e71092
cmd/update-report: rework 2025-08-19 14:27:05 +08:00
Bo Anderson
99cdd7d8c0
Merge pull request #20507 from Homebrew/api-source-forbid-fix
api/formula: use correct method for allowing source path loads
2025-08-19 05:48:01 +00:00
Carlo Cabrera
64e548fb80
Merge pull request #20508 from Homebrew/wrapper-source
utils/wrapper.sh: fix `source` calls
2025-08-19 04:50:40 +00:00
Carlo Cabrera
17435f583f
utils/wrapper.sh: fix source calls
We need to `source utils/helpers.sh` before calling `odie`. We also
don't need to `source utils/wrapper.sh` again here, because we are
already in `utils/wrapper.sh`.
2025-08-19 12:21:03 +08:00
Bo Anderson
1fa872f46b
api/formula: use correct method for allowing source path loads 2025-08-19 03:59:08 +01:00
Bo Anderson
60a75e87dd
Merge pull request #20506 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-08-19 02:54:23 +00:00
Bo Anderson
c7a255ffd1
Merge pull request #20491 from Homebrew/cask-rename-dsl-api
cask/dsl/rename: add api support
2025-08-19 02:53:49 +00:00
Bevan Kay
69145c911d
cask/dsl/rename: add api support 2025-08-19 11:47:15 +10:00
BrewTestBot
53659cbaa0
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-08-19 00:29:42 +00:00
Bo Anderson
a7e338d520
Merge pull request #20501 from Homebrew/formula-no-tab-fix
Fix formula installs without a tab
2025-08-18 20:23:33 +00:00
Bo Anderson
4d43063060
Fix formula installs without a tab 2025-08-18 20:23:19 +01:00
Mike McQuaid
3518983f42
Merge pull request #20499 from Homebrew/deprecate_conflicts_with_formula
Deprecate `conflicts_with formula:` in Cask DSL.
2025-08-18 18:48:42 +00:00
Ruoyu Zhong
7cec7586ff
cmd/update-report: remove unused methods 2025-08-19 02:39:26 +08:00
Ruoyu Zhong
ee515fd5e0
cmd/update-report: show new formula/cask desc for non-API users too
This will make non-API users like myself happy.
2025-08-19 02:35:44 +08:00
Mike McQuaid
d13aaf94db
Deprecate conflicts_with formula: in Cask DSL.
This is outside of our usual deprecation process but it's a no-op method
that does, and has always done, nothing so it doesn't make sense to wait
another 2.5 months before deprecating it.

While we're here, make `conflicts_with` `typed: strict` in Sorbet.
2025-08-18 19:25:54 +01:00
Mike McQuaid
1101689af2
Merge pull request #20500 from Homebrew/bump-pr-tap
dev-cmd/bump-*-pr: automatically tap core taps if needed.
2025-08-18 17:09:40 +00:00
Mike McQuaid
93807db8c2
dev-cmd/bump-*-pr: automatically tap core taps if needed.
If the tap isn't tapped already, automatically tap it.
2025-08-18 17:49:06 +01:00
Mike McQuaid
2dfc1b4eb8
Merge pull request #20498 from Homebrew/analytics_pretty_name
Move formula analytics pretty name logic to `MacOSVersion`.
2025-08-18 16:16:53 +00:00
Mike McQuaid
435158884d
Move formula analytics pretty name logic to MacOSVersion.
This makes sense to centralize these so when we support new macOS
versions we can just add them to the
`VERSIONS_TO_ANALYTICS_PRETTY_NAMES` hash.
2025-08-18 16:57:20 +01:00
Mike McQuaid
0cadd6d0c1
Merge pull request #20487 from Homebrew/formulary-forbid-cache
formulary: do not allow using the cache when forbidding paths
2025-08-18 15:54:34 +00:00
Mike McQuaid
1e989a89b2
Merge pull request #20495 from Homebrew/keg_relocate_more
keg_relocate: add more /usr/local relocation pairs.
2025-08-18 15:34:14 +00:00
Mike McQuaid
8b0b8a8b1c
Merge pull request #20494 from Homebrew/keg_relocate_typed_strict
**/keg_relocate.rb: add set Sorbet `typed: strict`
2025-08-18 15:01:55 +00:00
Mike McQuaid
a1f2cd0e5c
Merge pull request #20493 from Homebrew/speedup-test
test/cask: speed up tests
2025-08-18 14:29:50 +00:00
Bo Anderson
e13f4a8295
Merge pull request #20486 from Homebrew/env-file-expand
bin/brew: expand env file filter to allow manpage-documented envs
2025-08-18 14:24:53 +00:00
Bo Anderson
b1b28fb2f4
formulary: forbid cache paths 2025-08-18 15:24:02 +01:00
Bevan Kay
9a60526c47
test/cask: speed up tests 2025-08-19 00:11:51 +10:00
Mike McQuaid
8a7cebfbb0
keg_relocate: add more /usr/local relocation pairs.
This should get more of the cases where we install things into
HOMEBREW_PREFIX but scoping them to the formula's name to avoid
accidental unneccessary relocations preventing `cellar :any` bottles.
2025-08-18 15:06:17 +01:00
Mike McQuaid
22fdb11e00
**/keg_relocate.rb: add set Sorbet typed: strict
Other files have been changed where required.
2025-08-18 15:02:15 +01:00
Mike McQuaid
831f453bc7
Merge pull request #20492 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-08-18 13:07:35 +00:00
Bo Anderson
5e339e2081
bin/brew: expand env file filter to allow manpage-documented envs 2025-08-18 13:46:08 +01:00
BrewTestBot
472a5dfcd3
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-08-18 11:22:36 +00:00
Carlo Cabrera
18a77402a6
Merge pull request #20400 from Homebrew/stricter-brew-wrappers
brew.sh: enforce `HOMEBREW_FORCE_BREW_WRAPPER` more strictly
2025-08-18 11:00:46 +00:00
Carlo Cabrera
145c65d811
Merge remote-tracking branch 'origin/main' into stricter-brew-wrappers 2025-08-18 18:41:19 +08:00
Carlo Cabrera
83d8a4118b
Move all wrapper checks to utils/wrapper.sh 2025-08-18 18:29:52 +08:00
Bevan Kay
ee7b71935e
Merge pull request #20488 from Homebrew/rosetta-audit-fix
cask/audit: correctly filter artifact types in audit
2025-08-18 08:27:49 +00:00
Bevan Kay
9fcfb7b323
Merge pull request #20432 from Homebrew/cask-unsigned-fails-gatekeeper
cask: replace `unsigned` reason with `fails_gatekeeper_check`
2025-08-18 08:19:06 +00:00
Bevan Kay
869bdfa10a
cask/dsl: remap unsigned to fails_gatekeeper_check 2025-08-18 18:04:58 +10:00
Bevan Kay
6c567067fd
deprecate_disable: remap unsigned to fails_gatekeeper_check 2025-08-18 18:04:57 +10:00
Bevan Kay
97b1683466
cask: replace unsigned deprecation reason with fails_gatekeeper_check 2025-08-18 18:04:57 +10:00
Bevan Kay
c566ba00c7
cask/audit: correctly filter artifact types in test 2025-08-18 18:02:50 +10:00
Mike McQuaid
24057cc9a5
Merge pull request #20485 from SMillerDev/feat/audit/codeberg_audit
feat: audit codeberg repos
2025-08-18 07:50:25 +00:00
Mike McQuaid
de68a0c3a1
Merge pull request #20482 from Homebrew/dug/no-which_all
Remove unused 'which_all' Kernel ext
2025-08-18 07:49:13 +00:00
Mike McQuaid
4ae4bd491a
Merge pull request #20481 from Homebrew/dug/typed-ologger
Type remaining Kernel logging extensions
2025-08-18 07:48:55 +00:00
Mike McQuaid
7b0c2351c4
Merge pull request #20483 from Homebrew/dug/move-paths-ext
Move 'paths' out of Kernel
2025-08-18 07:46:01 +00:00
Bo Anderson
b30d13c3ef
formulary: do not allow using the cache if explicitly forbidding paths 2025-08-18 05:33:02 +01:00
Sean Molenaar
b19ad2e796 feat: audit codeberg repos 2025-08-17 17:08:33 +02:00
Eric Knibbe
160af073a5
Merge pull request #20484 from Homebrew/docs-urls
docs: edit various URLs
2025-08-17 11:59:27 +00:00
Eric Knibbe
de3cebf45c
docs: edit various URLs 2025-08-16 23:33:38 -04:00
Douglas Eichelberger
bdc219a39a
Move 'paths' out of Kernel 2025-08-16 16:38:27 -07:00
Douglas Eichelberger
793da6e0be
Remove unused 'which_all' Kernel ext 2025-08-16 16:18:26 -07:00
Douglas Eichelberger
0e064fdc3a
Type remaining Kernel log extensions 2025-08-16 13:07:19 -07:00
Eric Knibbe
884a3ae468
Merge pull request #20479 from Homebrew/inline-docs-updates
Messaging and comment adjustments
2025-08-16 13:04:38 +00:00
Eric Knibbe
468d4665fb
cmd/services: manpage fixes 2025-08-16 00:57:59 -04:00
Eric Knibbe
12e4c8a05e
sync output of sudo messaging 2025-08-16 00:57:59 -04:00
Eric Knibbe
827480f06b
messages/comments: wording fixes 2025-08-16 00:57:59 -04:00
Eric Knibbe
e021953db4
messages/comments: formatting fixes 2025-08-16 00:54:50 -04:00
Carlo Cabrera
ead3af9feb
Deduplicate odie calls into utils/wrapper.sh 2025-08-16 09:31:57 +08:00
Carlo Cabrera
d5abe49172
Merge pull request #20477 from Homebrew/fix-software_spec-sigs
software_spec: fix type signatures
2025-08-15 20:34:47 +00:00
Carlo Cabrera
72431f5ad6
software_spec: fix type signatures
Fixes

    Error: Parameter 'tag': Expected type T.nilable(Utils::Bottles::Tag), got type Symbol with value :arm64_sequoia

https://github.com/Homebrew/homebrew-core/actions/runs/16998107196/job/48193586673#step:5:45
2025-08-16 04:04:46 +08:00
Mike McQuaid
4910ac215e
Merge pull request #20476 from Homebrew/git-credential-uid
download_strategy: fix UID handling with credential helpers on fetch
2025-08-15 19:39:00 +00:00
Bo Anderson
2dc77a4485
download_strategy: fix UID handling with credential helpers on fetch 2025-08-15 20:22:30 +01:00
Mike McQuaid
670c5e0d07
Merge pull request #20474 from Homebrew/more_types
Add more Sorbet types
2025-08-15 18:40:12 +00:00
Mike McQuaid
0d4f3419ac
Merge pull request #20446 from Homebrew/copilot/fix-20427
Fix `brew upgrade` not linking newer versions when upgrade interrupted
2025-08-15 18:34:36 +00:00
Mike McQuaid
d135e744b1
Add more Sorbet types
`typed: strict` a few more places and fix other files necessarily to
make that happen.
2025-08-15 19:21:28 +01:00
copilot-swe-agent[bot]
42d4f3d8b9
Upgrade unlinked/unpinned kegs
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-15 19:18:52 +01:00
Mike McQuaid
523d743705
Merge pull request #20475 from Homebrew/better_formulary_debugging
formulary: provide ref and realpath when rejecting path.
2025-08-15 18:08:28 +00:00
Mike McQuaid
640f16860b
formulary: provide ref and realpath when rejecting path.
This should help further debugging.

Also, no need to formulae that aren't `*.rb` files as they'll be rejected
later anyway (and already were before we changed the
`Homebrew::EnvConfig.forbid_packages_from_paths?` defaults).
2025-08-15 17:52:56 +01:00
Mike McQuaid
c493fc6944
Merge pull request #20471 from Homebrew/copilot/fix-20469
Fix concurrent download error when formula has same patch applied to multiple directories
2025-08-15 16:28:30 +00:00
copilot-swe-agent[bot]
c3934c8d8b
Fix concurrent download error for duplicate URLs
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-15 17:13:30 +01:00
Mike McQuaid
ccb53c688f
Merge pull request #20473 from Homebrew/formula-analytics-tahoe
formula-analytics: add macOS Tahoe
2025-08-15 15:26:32 +00:00
Patrick Linnane
4d134f3aa1
formula-analytics: add macOS Tahoe
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-08-15 08:07:06 -07:00
Ruoyu Zhong
1cfd8589c5
Merge pull request #20472 from Homebrew/dependabot/all-b768cea526
Bump the "all" group with 1 updates across multiple ecosystems
2025-08-15 11:17:24 +00:00
BrewTestBot
f9b77362a3
brew vendor-gems: commit updates. 2025-08-15 09:58:56 +00:00
dependabot[bot]
112e6dac60
build(deps): bump the all group across 1 directory with 4 updates
Bumps the all group with 1 update in the /Library/Homebrew directory: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12392 to 0.5.12401
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12392 to 0.5.12401
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12392 to 0.5.12401
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12392 to 0.5.12401
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12401
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12401
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet
  dependency-version: 0.5.12401
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-static
  dependency-version: 0.5.12401
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-15 09:00:02 +00:00
Mike McQuaid
166fa896bd
Merge pull request #20470 from Homebrew/formulary_tighter_path_detection
formulary: tighter path rejection detection.
2025-08-15 07:36:32 +00:00
Mike McQuaid
6024ccf7dd
formulary: tighter path rejection detection.
We need to handle symlinks in both directions for formulae in the
cellar/taps/cache otherwise we can get the nonsensical situation of
telling people a formula must me in a tap when it already is (but is
symlinked from elsewhere).
2025-08-15 08:18:59 +01:00
Mike McQuaid
511cb44c71
Merge pull request #20468 from Homebrew/more_forbid_packages_fixes
Fix more HOMEBREW_FORBID_PACKAGES_FROM_PATHS issues
2025-08-14 18:49:40 +00:00
Mike McQuaid
c143b03280
Fix more HOMEBREW_FORBID_PACKAGES_FROM_PATHS issues
- Ensure that we're overriding it where necessary internally (but not
  allowing this to be used as a public opt-out API)
- Better handle formulae from paths that look like taps
2025-08-14 19:35:11 +01:00
Ruoyu Zhong
b0b8e23856
Merge pull request #20463 from Homebrew/gnu-mirror-audit
Re-enable GNU mirror audit
2025-08-14 17:13:06 +00:00
Mike McQuaid
ba0e28bd87
Merge pull request #20467 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-08-14 17:09:19 +00:00
Ruoyu Zhong
37d148526b
Merge pull request #20466 from Homebrew/dependabot/all-ffb3d49034
Bump the "all" group with 1 updates across multiple ecosystems
2025-08-14 16:53:01 +00:00
BrewTestBot
b455d5840a
actionlint.yml: update to match main configuration 2025-08-14 16:48:04 +00:00
BrewTestBot
f6a287da70
Update RBI files for all.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-08-14 16:37:22 +00:00
BrewTestBot
439df4ef20
brew vendor-gems: commit updates. 2025-08-14 16:37:11 +00:00
dependabot[bot]
d6fe05687f
build(deps): bump the all group across 1 directory with 4 updates
Bumps the all group with 1 update in the /Library/Homebrew directory: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12389 to 0.5.12392
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12389 to 0.5.12392
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12389 to 0.5.12392
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12389 to 0.5.12392
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12392
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12392
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet
  dependency-version: 0.5.12392
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-static
  dependency-version: 0.5.12392
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 16:18:58 +00:00
Ruoyu Zhong
ecea7a675d
Merge pull request #20464 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-08-14 15:56:38 +00:00
Ruoyu Zhong
3f4d19e87b
Re-enable GNU mirror audit
Follow-up to Homebrew/brew#20461 and #233493.
2025-08-14 23:50:53 +08:00
BrewTestBot
69e4e66d83
actionlint.yml: update to match main configuration 2025-08-14 15:26:13 +00:00
BrewTestBot
f0fd69b3ef
dependabot.yml: update to match main configuration 2025-08-14 15:26:13 +00:00
Carlo Cabrera
5e17e569b3
Merge pull request #20462 from Homebrew/gnu-livecheck
livecheck/strategy/gnu: use `ftpmirror.gnu.org` too
2025-08-14 15:22:55 +00:00
Carlo Cabrera
635a36a879
livecheck/strategy/gnu: use ftpmirror.gnu.org too
Part of addressing #20456.

See also #20461 and Homebrew/homebrew-core#233493.
2025-08-14 23:07:04 +08:00
Ruoyu Zhong
eb114387fb
Merge pull request #20461 from Homebrew/gnumirror
Update and temporarily disable GNU mirror audit
2025-08-14 14:40:30 +00:00
Ruoyu Zhong
da6619616b
rubocops/urls_spec: simplify 2025-08-14 22:26:02 +08:00
Ruoyu Zhong
049e8cc61c
Update and temporarily disable GNU mirror audit
Update the audit to prefer ftpmirror.gnu.org over ftp.gnu.org as
suggested by GNU [1]:

> We recommend using this generic ftpmirror.gnu.org address wherever
> possible in links, documentation, etc., to reduce load on the main GNU
> server.

The audit is temporarily disabled to allow migrating all homebrew/core
formulae first.

Should help to address #20456.

[1]: https://www.gnu.org/server/mirror.en.html
2025-08-14 22:03:13 +08:00
Mike McQuaid
df84f7a264
Merge pull request #20460 from Homebrew/test_bot_tweaks
Fix some test-bot failures/bad output
2025-08-14 14:03:05 +00:00
Mike McQuaid
b73b1edd1b
Fix some test-bot failures/bad output
Noticed these when perusing the test-bot output from a third-party tap.
2025-08-14 14:45:50 +01:00
Mike McQuaid
fbac21da54
Merge pull request #20458 from Homebrew/tweak_copilot_instructions
Tweak copilot instructions
2025-08-14 10:40:18 +00:00
Mike McQuaid
9fc7517325
Tweak copilot instructions
Adjust based on recently behaviours I've seen from Copilot.
2025-08-14 11:15:09 +01:00
Mike McQuaid
7634fe375e
Merge pull request #20455 from Homebrew/copilot/fix-20454
Fix audit_signing to skip when quarantine attribute is missing
2025-08-14 09:45:36 +00:00
copilot-swe-agent[bot]
51565f97ae Remove unnecessary comments that duplicate debug messages
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-14 09:30:23 +00:00
Mike McQuaid
5602f0e11e
Merge pull request #20451 from Homebrew/dependabot/all-dbdec0a9b9
Bump the "all" group with 2 updates across multiple ecosystems
2025-08-14 09:10:26 +00:00
copilot-swe-agent[bot]
d0ad96a9b3
Fix audit_signing to check quarantine availability and attributes
Co-authored-by: bevanjkay <40621599+bevanjkay@users.noreply.github.com>
2025-08-14 19:09:57 +10:00
Mike McQuaid
8ef6814dd1
rubocop.yml: temporarily disable Layout/EmptyLinesAfterModuleInclusion 2025-08-14 09:56:07 +01:00
Mike McQuaid
7dd47ca89a
Merge pull request #20421 from Homebrew/cask-rename-stanza
cask/dsl/rename: add new `rename` dsl
2025-08-14 08:51:45 +00:00
Mike McQuaid
31f1b4aa3f
Merge pull request #20457 from Homebrew/formulary_improve_path_detection
formulary: improve/loosen path rejection logic.
2025-08-14 08:43:14 +00:00
Mike McQuaid
c00413f0e9
formulary: improve/loosen path rejection logic.
- Don't check if the `realpath` includes `/`: it always will.
  Instead, see if the originally user-passed `ref` includes `/` or ends
  with `.rb`.
- Always raise an error message, don't silently return.
2025-08-14 08:41:35 +01:00
Bevan Kay
10b9da2d4d
Merge pull request #20453 from Homebrew/fix-quarantine
cask/quarantine: fix quarantine support
2025-08-14 03:15:28 +00:00
Bevan Kay
ce49855b3e
cask/quarantine: fix quarantine support 2025-08-14 12:51:59 +10:00
Patrick Linnane
bdfe5f4c45
workflows/actionlint: correct upload-sarif tag
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-08-13 12:26:14 -07:00
Patrick Linnane
2605529a90
brew style --fix 2025-08-13 12:23:12 -07:00
BrewTestBot
6b10f65cb7
Update RBI files for all.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-08-13 19:19:10 +00:00
BrewTestBot
b47125625a
brew vendor-gems: commit updates. 2025-08-13 19:18:40 +00:00
dependabot[bot]
316b848d18
build(deps): bump the all group across 1 directory with 11 updates
Bumps the all group with 6 updates in the /Library/Homebrew directory:

| Package | From | To |
| --- | --- | --- |
| [rubocop](https://github.com/rubocop/rubocop) | `1.78.0` | `1.79.2` |
| [parallel_tests](https://github.com/grosser/parallel_tests) | `5.3.1` | `5.4.0` |
| [simplecov-cobertura](https://github.com/jessebs/simplecov-cobertura) | `2.1.0` | `3.0.0` |
| [sorbet-static-and-runtime](https://github.com/sorbet/sorbet) | `0.5.12357` | `0.5.12389` |
| [spoom](https://github.com/Shopify/spoom) | `1.7.5` | `1.7.6` |
| [ruby-lsp](https://github.com/Shopify/ruby-lsp) | `0.25.0` | `0.26.1` |



Updates `rubocop` from 1.78.0 to 1.79.2
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.78.0...v1.79.2)

Updates `parallel_tests` from 5.3.1 to 5.4.0
- [Changelog](https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md)
- [Commits](https://github.com/grosser/parallel_tests/compare/v5.3.1...v5.4.0)

Updates `simplecov-cobertura` from 2.1.0 to 3.0.0
- [Release notes](https://github.com/jessebs/simplecov-cobertura/releases)
- [Commits](https://github.com/jessebs/simplecov-cobertura/compare/v2.1.0...v3.0.0)

Updates `sorbet-static-and-runtime` from 0.5.12357 to 0.5.12389
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `spoom` from 1.7.5 to 1.7.6
- [Release notes](https://github.com/Shopify/spoom/releases)
- [Commits](https://github.com/Shopify/spoom/compare/v1.7.5...v1.7.6)

Updates `ruby-lsp` from 0.25.0 to 0.26.1
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.25.0...v0.26.1)

Updates `sorbet-runtime` from 0.5.12357 to 0.5.12389
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `json` from 2.13.0 to 2.13.2
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/json/compare/v2.13.0...v2.13.2)

Updates `regexp_parser` from 2.10.0 to 2.11.2
- [Changelog](https://github.com/ammar/regexp_parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ammar/regexp_parser/compare/v2.10.0...v2.11.2)

Updates `sorbet` from 0.5.12357 to 0.5.12389
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12357 to 0.5.12389
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)
build(deps): bump the all group with 6 updates

Bumps the all group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `4.2.2` | `5.0.0` |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `4.3.0` | `5.0.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3.29.4` | `3.29.9` |
| [actions/cache](https://github.com/actions/cache) | `4.2.3` | `4.2.4` |
| [docker/login-action](https://github.com/docker/login-action) | `3.4.0` | `3.5.0` |
| [actions/create-github-app-token](https://github.com/actions/create-github-app-token) | `2.0.6` | `2.1.1` |


Updates `actions/checkout` from 4.2.2 to 5.0.0
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](11bd71901b...08c6903cd8)

Updates `actions/download-artifact` from 4.3.0 to 5.0.0
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4.3.0...634f93cb2916e3fdff6788551b99b062d0335ce0)

Updates `github/codeql-action` from 3.29.4 to 3.29.9
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3.29.4...df559355d593797519d70b90fc8edd5db049e7a2)

Updates `actions/cache` from 4.2.3 to 4.2.4
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](5a3ec84eff...0400d5f644)

Updates `docker/login-action` from 3.4.0 to 3.5.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](74a5d14239...184bdaa072)

Updates `actions/create-github-app-token` from 2.0.6 to 2.1.1
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](df432ceedc...a8d6161485)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-version: 1.79.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: parallel_tests
  dependency-version: 5.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: simplecov-cobertura
  dependency-version: 3.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12389
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: spoom
  dependency-version: 1.7.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: ruby-lsp
  dependency-version: 0.26.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12389
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: json
  dependency-version: 2.13.2
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: regexp_parser
  dependency-version: 2.11.2
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: sorbet
  dependency-version: 0.5.12389
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-static
  dependency-version: 0.5.12389
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: actions/checkout
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: actions/download-artifact
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: github/codeql-action
  dependency-version: 3.29.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: actions/cache
  dependency-version: 4.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: docker/login-action
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/create-github-app-token
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 19:15:31 +00:00
Patrick Linnane
ac160c7f88
Merge pull request #20450 from Homebrew/remove-dependabot-cooldowns
dependabot: remove cooldowns
2025-08-13 18:55:47 +00:00
Patrick Linnane
d772221bda
Merge branch 'main' into remove-dependabot-cooldowns 2025-08-13 11:36:42 -07:00
Patrick Linnane
27b980d9f9
dependabot: remove cooldowns
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-08-13 11:09:02 -07:00
Mike McQuaid
56b85a1547
Merge pull request #20444 from Homebrew/copilot/fix-20441
Add warning for formula installation from forbidden paths
2025-08-13 17:58:31 +00:00
Patrick Linnane
aa4eaf4542
Merge pull request #20449 from Homebrew/formula-analytics-deps
formula-analytics: update dependencies
2025-08-13 17:37:16 +00:00
Patrick Linnane
790c327c5b
.python-version: bump to 3.13
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-08-13 10:12:39 -07:00
Patrick Linnane
c1341c2800
formula-analytics: update dependencies
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-08-13 10:06:50 -07:00
copilot-swe-agent[bot]
cfa7326620
Improve error message for local formula file installation attempts
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-13 17:29:43 +01:00
Patrick Linnane
211b749462
Merge pull request #20447 from Homebrew/bump-setup-ruby-v1.255.0
workflows: manually bump setup-ruby
2025-08-13 15:52:09 +00:00
Mike McQuaid
c2fbebb96d
Merge pull request #20420 from Homebrew/copilot/fix-19743
Implement selective path replacement for /usr/local to fix bottle creation issues
2025-08-13 15:42:49 +00:00
Patrick Linnane
9e56f3ccf1
workflows: manually bump setup-ruby
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-08-13 08:31:49 -07:00
copilot-swe-agent[bot]
9328a55c54
Fix overzealous /usr/local prefix replacement
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-13 16:22:09 +01:00
Mike McQuaid
332af0d5ef
Merge pull request #20445 from Homebrew/bump-cask-pr-ensure-new_cask-has-url
bump-cask-pr: ensure new_cask has a url
2025-08-13 14:26:34 +00:00
Sam Ford
76a54d1455
bump-cask-pr: ensure new_cask has a url
We sometimes see errors like "attempted to use a `Downloadable`
without a URL!" in the homebrew/cask autobump workflow log because
`bump-cask-pr` can simulate Linux even if a cask doesn't support it,
leading to this error. This is something that should be resolved in
the future once I finally wrap up my related work to detect OS/arch
requirements but this adds a simple guard to address this in the
interim time.
2025-08-13 10:01:49 -04:00
Mike McQuaid
1d25414fee
Merge pull request #20415 from Homebrew/copilot/fix-18540
Improve `brew doctor` quarantine "unknown reason" message with specific CLT guidance
2025-08-13 13:44:42 +00:00
copilot-swe-agent[bot]
4ee43fbde1
Improve quarantine support error messages with specific CLT guidance
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-13 14:30:05 +01:00
Mike McQuaid
023bbfdf5c
Merge pull request #20442 from HuaDeity/fix-head-install-with-forbid-packages-from-paths
Fix HEAD installations with HOMEBREW_FORBID_PACKAGES_FROM_PATHS
2025-08-13 12:35:38 +00:00
Carlo Cabrera
d9c661a34e
Fix brew style errors 2025-08-13 18:07:17 +08:00
HuaDeity
dd0e187eb5
Fix HEAD installations with HOMEBREW_FORBID_PACKAGES_FROM_PATHS
- Allow cache paths in FromPathLoader when HOMEBREW_FORBID_PACKAGES_FROM_PATHS is set
- Fixes issue where HEAD installations fail due to temporary source downloads
- Add test case to verify cache paths are allowed when path restrictions are enabled

The issue occurred because HEAD installations download formula sources to cache
directories, but HOMEBREW_FORBID_PACKAGES_FROM_PATHS only allowed paths from
HOMEBREW_CELLAR and HOMEBREW_LIBRARY/Taps, causing the installation to fail.

Closes: homebrew/brew#issue-number
2025-08-13 17:57:55 +08:00
Carlo Cabrera
a4ea97016a
Improve error handling when determining parent process path 2025-08-13 17:54:29 +08:00
Bevan Kay
61f534bb74
Merge pull request #20440 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-08-13 09:47:08 +00:00
Carlo Cabrera
b2d14aff4d
Add custom implementations for brew_wrapper and no_force_brew_wrapper? 2025-08-13 17:17:52 +08:00
Mike McQuaid
ec207feca4
Merge pull request #20418 from Homebrew/copilot/fix-16137
Add diagnostic check for pkg-config macOS SDK version mismatch
2025-08-13 08:18:28 +00:00
BrewTestBot
96dc91edbb
actionlint.yml: update to match main configuration 2025-08-13 08:10:32 +00:00
copilot-swe-agent[bot]
4ad7d59a25
Implement pkg-config macOS SDK mismatch diagnostic check
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-13 09:03:26 +01:00
Mike McQuaid
2525bd2b37
Merge pull request #20430 from Homebrew/use-api-helper-methods
Use API helper methods to manage toggling the internal API
2025-08-13 07:50:45 +00:00
Issy Long
d7b59fdfe8
Merge pull request #20402 from Homebrew/head-url-must-always-specify-branch
Ensure that `head` Git URLs always specify a branch name
2025-08-13 07:47:21 +00:00
Ruoyu Zhong
efae78dc96
Merge pull request #20438 from Homebrew/formula-logfn
formula: improve variable naming
2025-08-13 07:46:30 +00:00
Carlo Cabrera
b7d8072575
Restore handling of HOMEBREW_BREW_WRAPPER
This now requires `HOMEBREW_DISABLE_NO_FORCE_BREW_WRAPPER` to be unset.
If it is set (but only in a `brew.env` file), then we use the new
functionality of checking the path of the parent process.
2025-08-13 14:41:46 +08:00
Ruoyu Zhong
40da6c1e16
formula: improve variable naming
`log_filename` sounds better than `logfn`.
2025-08-13 14:27:04 +08:00
Carlo Cabrera
144c7f6edf
Restore HOMEBREW_BREW_WRAPPER and HOMEBREW_FORCE_BREW_WRAPPER
These need to go through a deprecation cycle, so let's just add comments
preparing it for that.
2025-08-13 14:22:44 +08:00
Carlo Cabrera
e8828c152d
Apply review suggestions for pid_path.rb
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-13 13:55:33 +08:00
Carlo Cabrera
e0a69316b7
Merge pull request #20434 from Homebrew/new-protodesc_cold-fix
os/linux/keg_relocate: skip ELF files with `protodesc_cold` only when bottling
2025-08-13 04:07:32 +00:00
Ruoyu Zhong
af636c0aba
Merge pull request #20436 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-08-13 03:46:53 +00:00
Carlo Cabrera
c9060c3242
Improve test for bottling 2025-08-13 09:51:27 +08:00
BrewTestBot
89313bb429
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-08-13 00:30:32 +00:00
Rylan Polster
9a3fe8869c
Add Homebrew::EnvConfig.use_internal_api? 2025-08-12 17:18:08 -04:00
Rylan Polster
fe3aec30bb
Fetch new API 2025-08-12 17:04:15 -04:00
Rylan Polster
0f9fb4f29a
Use API helper methods 2025-08-12 17:04:15 -04:00
Mike McQuaid
20eb1e15b8
Merge pull request #20416 from Homebrew/copilot/fix-18036
Add brew doctor warning for symlinked /home directories on Linux
2025-08-12 17:57:27 +00:00
Ruoyu Zhong
5ed723e25e
Merge pull request #20435 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-08-12 17:22:53 +00:00
Mike McQuaid
96268175c5
Merge pull request #20417 from Homebrew/copilot/fix-16309
Fix cask installation conflicts with same-named formula binaries
2025-08-12 17:21:51 +00:00
BrewTestBot
947434c2d9
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-08-12 17:08:09 +00:00
Mike McQuaid
d5b0809166
Merge pull request #20414 from Homebrew/copilot/fix-18371
Don't allow installing formulae from paths without HOMEBREW_DEVELOPER
2025-08-12 16:54:06 +00:00
Carlo Cabrera
6457770a59
os/linux/keg_relocate: skip ELF files with protodesc_cold only when bottling
We removed this exclusion in #20423 because it broke pouring of existing
bottles, which still need relocation.

Let's skip relocation only when bottling, to avoid breaking existing
bottles that need to be relocated when pouring.
2025-08-13 00:25:53 +08:00
Carlo Cabrera
a8aa3590f2
Merge pull request #20433 from Homebrew/formula-logfn
formula: improve log filename handling
2025-08-12 15:03:45 +00:00
Ruoyu Zhong
6f3f2d7317
formula: improve log filename handling
Fixes 718b82560a (commitcomment-163850325).
2025-08-12 22:46:41 +08:00
Bevan Kay
0bb269fdf0
docs/cask: add rename stanza docs 2025-08-12 23:24:20 +10:00
Bevan Kay
9cb2b65319
cask/dsl/rename: add new rename dsl 2025-08-12 23:24:20 +10:00
Carlo Cabrera
e16be4672a
Merge pull request #20431 from Homebrew/rustc_wrapper-fix
shims/super/rustc_wrapper: fix comment
2025-08-12 13:22:08 +00:00
copilot-swe-agent[bot]
d785e2024b
Add symlinked home detection to brew doctor on Linux
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-12 11:00:14 +01:00
copilot-swe-agent[bot]
cbe347782c
Implement formula conflict detection for cask binary artifacts
While we're at it, update copilot instructions.

Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-12 10:42:51 +01:00
copilot-swe-agent[bot]
e22af11388
Prevent installing formulae from paths without HOMEBREW_DEVELOPER
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
2025-08-12 09:54:21 +01:00
Mike McQuaid
b8c82b44b8
Merge pull request #20425 from Homebrew/internal-api-helper
Create `Homebrew::API::Internal` for working with internal API
2025-08-12 07:32:18 +00:00
Mike McQuaid
e9bc015f9a
Merge pull request #20429 from Homebrew/simplify-to-hash-with-variations-from-api
Store API data in formulae/casks for use in `to_hash_with_variations`
2025-08-12 07:25:34 +00:00
Rylan Polster
cf450d9948
Create Homebrew::API::Internal
Add type aliase and fix cask content issue
2025-08-12 02:40:48 -04:00
Carlo Cabrera
b89d4ef633
shims/super/rustc_wrapper: fix comment
In #20424, we moved `HOMEBREW_RUSTFLAGS` to the end of the compiler
invocation, but didn't update the comment. Let's fix that.

While we're here, let's fix these `shellcheck disable`s.
2025-08-12 14:15:14 +08:00
Ruoyu Zhong
38485e365f
Merge pull request #20422 from Homebrew/elf-typed-strict
os/linux/elf: bump to `typed: strict`
2025-08-12 02:56:15 +00:00
Ruoyu Zhong
26021c9e36
os/linux/elf: bump to typed: strict
Also, clean up an unused method (`elf_parser`) from a previous conflict
resolution.

Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-08-12 10:25:40 +08:00
Rylan Polster
8aabee74a6
Store cask API data for use in to_hash_with_variations 2025-08-11 22:06:07 -04:00
Rylan Polster
8dccdd8e60
Store formula API data for use in to_hash_with_variations 2025-08-11 22:06:07 -04:00
Rylan Polster
a0d01bc7c4
Merge pull request #20428 from Homebrew/fix-brew-info-for-third-party
Don't query analytics for third-party formulae/casks in `brew info`
2025-08-11 23:20:49 +00:00
Rylan Polster
ff5edb73c2
Don't query analytics for third-party formulae/casks in brew info 2025-08-11 18:54:09 -04:00
Rylan Polster
cd5cd2d04d
Merge pull request #20426 from Homebrew/internal-cask-api-hash
Use hash for internal cask API
2025-08-11 19:20:15 +00:00
Rylan Polster
5e2b54881c
Use hash for internal cask API 2025-08-11 15:03:05 -04:00
Mike McQuaid
bcc3a0dbef
Merge pull request #20424 from Homebrew/rustc_wrapper
rustc_wrapper: pass `HOMEBREW_RUSTFLAGS` last
2025-08-11 17:01:40 +00:00
Carlo Cabrera
63a8fd7a4a
rustc_wrapper: pass HOMEBREW_RUSTFLAGS last
If we pass it first, it can be overridden by other arguments passed on
the command line. We don't want that.

See discussion at Homebrew/homebrew-core#232566.
2025-08-12 00:46:05 +08:00
Carlo Cabrera
12a25495e6
Merge pull request #20423 from Homebrew/relocate-protodesc-cold-again
os/linux/keg_relocate: remove `protodesc_cold` exclusion
2025-08-11 16:44:54 +00:00
Carlo Cabrera
ef89522446
os/linux/keg_relocate: remove protodesc_cold exclusion
This needs to be handled more carefully. It probably works fine for
bottles built *after* this change was added, but it breaks bottles built
before this exclusion was added.

Let's remove it for now to limit the extent of the breakage.
2025-08-12 00:27:39 +08:00
Mike McQuaid
04b47bc1aa
Merge pull request #20406 from Homebrew/alias-rename-migrations-internal-api
Cleanup internal API handling
2025-08-11 13:58:38 +00:00
Mike McQuaid
278271c969
Merge pull request #20391 from Homebrew/dug/service-refactor
Simplify Service attr helper methods
2025-08-11 13:36:01 +00:00
Issy Long
d0e9a2d7d6
Always suggest a HEAD branch name if we can find one
- If a HEAD branch name isn't specified at all, then the user probably
  wants to shortcut adding one by being told what the default branch for
  the repo is. Otherwise they have to click the URL, look at the GitHub
  UI, then type the branch name into `branch: "foo"` syntax.
2025-08-11 13:46:49 +01:00
Mike McQuaid
38415d8600
Merge pull request #20413 from Homebrew/cask-audit-signing-skiplist
cask/audit: add skiplist for signing audit
2025-08-11 12:28:33 +00:00
Mike McQuaid
97c0bc7d0b
Merge pull request #20408 from Homebrew/fd-leak-fix
os/linux/elf: fix file descriptor leak
2025-08-11 12:10:16 +00:00
Bevan Kay
c83f77b091
cask/audit: add skiplist for signing audit 2025-08-11 22:08:05 +10:00
Mike McQuaid
8c1048bbf8
Merge pull request #20412 from XuehaiPan/fix-ld-so-conf
os/linux/ld: do not crash the program if the `ld.so.conf` entry is not readable
2025-08-11 12:05:45 +00:00
Xuehai Pan
b2d621ce6f os/linux/ld: do not crash the program if the ld.so.conf entry is not readable 2025-08-11 19:40:41 +08:00
Ruoyu Zhong
42b332055a
os/linux/elf: fix rpath precedence 2025-08-11 18:28:58 +08:00
Ruoyu Zhong
66737b5e82
os/linux/elf: fix file descriptor leak
On Linux, we occasionally see `EMFILE` ("too many open files") errors
especially when installing a large formula like `llvm`. Currently, this
can be reliably reproduced in a Homebrew/brew GitHub codespace (where
`ulimit -n` seems to be 1024 by default) with `brew install geeqie`,
with the following error message:

    Error: Too many open files @ rb_sysopen - /home/linuxbrew/.linuxbrew/Cellar/llvm/20.1.8/bin/tblgen-lsp-server

The reason is that each instance of `PatchELF::Patcher` keeps the ELF
file open. We prepend the `ELFShim` module to the `Pathname` class and
cache the patcher as an instance variable, which means that the ELF file
remains open so long as the `Pathname` instance is still alive even if
we don't need to access the ELF metadata anymore. When performing
certain checks (e.g., linkage), we also store these `Pathname`
instances, so the number of open file descriptors simply keeps
increasing.

We can fix that by not caching the patcher and only use it when
necessary. We create a patcher instance whenever we need to read or
write ELF metadata, and reading of metadata is consolidated into the
existing `ELFShim::Metadata` class so that we don't repeatedly create
patcher instances.

A fix for a file descriptor leak issue in patchelf.rb has been submitted
at https://github.com/david942j/patchelf.rb/pull/48. Together with that,
this fixes #19177, #19866, #20223, #20302.
2025-08-11 18:01:32 +08:00
Mike McQuaid
2992b7f519
Merge pull request #20404 from Homebrew/rubocops_patches_corrector_tests
patches audit: add tests for patches corrector
2025-08-11 07:48:00 +00:00
Mike McQuaid
cf21efc318
Merge pull request #20405 from Homebrew/cask-audit-separate-artifacts
cask/audit: iterate over artifacts in rosetta/signing audit
2025-08-11 07:30:52 +00:00
Mike McQuaid
352cc39523
Merge pull request #20407 from Homebrew/build-log-ext
formula: append `.log` to formula build log filenames
2025-08-11 07:30:10 +00:00
Mike McQuaid
68940af4a5
Merge pull request #20403 from Homebrew/skip-proto-relocation
Skip rpath relocation of ELF files with `protodesc_cold` sections
2025-08-11 07:29:36 +00:00
Bevan Kay
12f6e871c7
cask/audit: apply suggestion from code review
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-08-11 15:26:44 +10:00
Bevan Kay
5c06d6f184
cask/audit: apply suggestion from code review
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-08-11 15:26:36 +10:00
Carlo Cabrera
718b82560a
formula: append .log to formula build log filenames
Having log files with extensions like `.cc` and `.cmake` is really
unfriendly to editor syntax highlighters and language servers. Let's try
to make sure these are opened as log files by adding a `.log` extension
to them.
2025-08-11 13:10:14 +08:00
Rylan Polster
480eeb4246
Enable download queue for single formula/cask API fetches 2025-08-11 00:43:34 -04:00
Rylan Polster
d3aac3fa5f
Include aliases, renames, and tap migrations in minimal APIs 2025-08-11 00:37:50 -04:00
Rylan Polster
97d299728d
Cleanup internal API handling 2025-08-11 00:37:50 -04:00
Bevan Kay
34f659cb64
cask/audit: iterate over artifacts in rosetta/signing audit 2025-08-11 14:12:34 +10:00
Issy Long
05b27aa847
Disallow head do blocks with only url and branch
- Since `head` must now specify a url and branch, the `head do` block
  with only these stanzas can be condensed to the single-line
  `head "url", branch: "branch"` format.
2025-08-10 20:52:58 +01:00
Thierry Moisan
9de0395c3b
patches audit: add tests for patches corrector 2025-08-10 15:33:35 -04:00
Issy Long
37eaed5bb7
Ensure that head Git URLs always specify a branch
- There's a TODO on the "someday" list [1] to ensure that `head` Git
  URLs always specify a branch.
- So I thought I'd automate this worry by adding an audit.
- Since `resource` block URLs tend to be pinned to SHAs, if indeed
  they are Git URLs, this audit only applies to `head` URLs.

[1]: https://github.com/orgs/Homebrew/projects/5?pane=issue&itemId=98789749
2025-08-10 20:28:50 +01:00
Carlo Cabrera
a41de81890
Skip rpath relocation of ELF files with protodesc_cold sections
We have multiple formulae (e.g. `ola`, `openvino`, `opencv`, `or-tools`,
`pytorch`) that seem to be broken by `patchelf.rb` on x86_64 Linux.[^1] The
common thread seems to be the presence of a `protodesc_cold` section in
the ELF header.

Let's avoid breaking these bottles by skipping relocation when a binary
file has a `protodesc_cold` section. It will probably hurt
relocatability of these bottles, but that's better shipping broken
binaries.

[^1]: https://github.com/Homebrew/homebrew-core/pull/210860#issue-2918569212
2025-08-11 03:10:07 +08:00
Douglas Eichelberger
899a6c5977
Try non-nil params 2025-08-10 09:37:57 -07:00
Carlo Cabrera
a7c124c2d0
brew.sh: enforce HOMEBREW_FORCE_BREW_WRAPPER more strictly
`HOMEBREW_FORCE_BREW_WRAPPER` can be used as a security/compliance
feature, but allowing it to be disabled by setting
`HOMEBREW_NO_FORCE_BREW_WRAPPER` leaves a pretty large hole in it that
allows it to be sidestepped.

Let's fix that by actually checking the path of the process that called
`brew`, and the verify that that path matches the configured value of
`HOMEBREW_NO_FORCE_BREW_WRAPPER`.
2025-08-09 03:15:53 +08:00
Ruoyu Zhong
dbe68ef80c
Merge pull request #20399 from Homebrew/spdx-revert
Revert "spdx: update license data."
2025-08-08 14:28:40 +00:00
Ruoyu Zhong
e8a892e2b0
utils/spdx: use refs/tags/ URL to fetch SPDX data 2025-08-08 16:01:51 +08:00
Ruoyu Zhong
d7a365c3f1
Revert "spdx: update license data."
This reverts commit de66adff6f632a6bb300fb08dab55733338322e7.
2025-08-08 16:01:13 +08:00
Mike McQuaid
d7c1336f51
Merge pull request #20398 from Homebrew/download_queue_missing_require
download_queue: add missing require.
2025-08-08 07:49:06 +00:00
Mike McQuaid
7df24d03f2
download_queue: add missing require.
We use `Resource` in a few places here so need to require it.
2025-08-08 08:33:26 +01:00
Ruoyu Zhong
2471997915
Merge pull request #20397 from Homebrew/spdx-update
spdx: update license data.
2025-08-08 02:01:34 +00:00
BrewTestBot
de66adff6f
spdx: update license data.
Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/spdx.yml).
2025-08-08 00:19:22 +00:00
Mike McQuaid
a10e4230b4
Merge pull request #20393 from AlternateRT/docs-improve-autobump
docs: improve Autobump documentation
2025-08-07 12:50:11 +00:00
AltCode
54cfbe15ae
autobump_constants: improve reason descriptions 2025-08-07 14:32:56 +02:00
AltCode
58884c1fac
docs: apply suggestions from code review
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-08-07 14:25:20 +02:00
Mike McQuaid
0a9fec107e
Merge pull request #20396 from Homebrew/more_pathname_types
extend/pathname: fix another type error.
2025-08-07 08:47:07 +00:00
Mike McQuaid
0a881b9a0d
extend/pathname: fix another type error.
Let's make this consistent with the rest of this file.
2025-08-07 09:32:22 +01:00
Mike McQuaid
54c4cfaaaa
Merge pull request #20395 from Homebrew/pathname_types
extend/pathname: fix type error.
2025-08-07 08:21:08 +00:00
Mike McQuaid
ad48b5a5f5
Merge pull request #20392 from jrouly/jrouly/content-type-patch
handle false content_type
2025-08-07 08:12:12 +00:00
Mike McQuaid
9f52a57e58
Merge pull request #20390 from Homebrew/show-rejected-hash
download_queue: display hash of rejected download
2025-08-07 08:09:38 +00:00
Mike McQuaid
31e12d68e3
extend/pathname: fix type error.
`install_p` is sometimes called with a `Pathname` for `new_basename`.
2025-08-07 09:05:40 +01:00
Ruoyu Zhong
696910c533
Merge pull request #20394 from Homebrew/write_env_script-target
extend/pathname: accept `String` as `target` in `write_env_script`
2025-08-07 06:56:53 +00:00
Eric Knibbe
0675ddc876
download_queue: display hash of rejected download 2025-08-06 23:02:18 -04:00
Ruoyu Zhong
10e2c2b298
extend/pathname: accept String as target in write_env_script
There is too much existing usage outside of Homebrew for us to break
[1].

[1]: https://github.com/search?q=%22write_env_script%20%5C%22%22%20NOT%20org%3AHomebrew%20NOT%20is%3Afork&type=code

Closes https://github.com/Homebrew/homebrew-core/pull/232573.
2025-08-07 08:13:15 +08:00
Eric Knibbe
fdabcafb78
Merge pull request #20388 from Homebrew/docs-cask-signing
docs: mention signing in deprecation criteria
2025-08-06 19:36:16 +00:00
Michel Rouly
0270bd9d2a handle false content_type 2025-08-06 11:45:53 -07:00
Douglas Eichelberger
6c18f5c265
Simplify Service attr helper methods 2025-08-06 11:04:45 -07:00
AltCode
360ff196c4
docs: improve Autobump documentation 2025-08-06 19:15:24 +02:00
Mike McQuaid
726f83c4a8
Merge pull request #20389 from Homebrew/service_cron_null
service: ensure JSON cron output can be `null`.
2025-08-06 16:30:04 +00:00
Mike McQuaid
2bc10f6a52
Merge pull request #20380 from Homebrew/rustc_wrapper
Add rustc wrapper shim to fix RUSTFLAGS conflicts
2025-08-06 16:20:55 +00:00
Mike McQuaid
e6ba71c5b1
Add rustc wrapper shim to fix RUSTFLAGS conflicts
Fixes #18556 by using RUSTC_WRAPPER instead of setting RUSTFLAGS directly.
This allows Homebrew's optimization flags to coexist with .cargo/config.toml
settings, preventing build failures when projects have their own Rust
configuration.

- Add rustc_wrapper shim that clears RUSTFLAGS and prepends HOMEBREW_RUSTFLAGS
- Update both std and super environments to use RUSTC_WRAPPER
- Store Homebrew's rustflags in HOMEBREW_RUSTFLAGS instead of RUSTFLAGS

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-08-06 17:06:25 +01:00
Mike McQuaid
1d482244e5
service: ensure JSON cron output can be null.
This better matches other field and existing behaviour.
2025-08-06 16:09:39 +01:00
Eric Knibbe
0f06a17b34
docs: mention signing in deprecation criteria 2025-08-06 10:29:59 -04:00
Mike McQuaid
5e1fd26da0
Merge pull request #20383 from Homebrew/rubydoc-fixes
RubyDoc output improvements
2025-08-06 12:41:08 +00:00
Ruoyu Zhong
98384bb638
Merge pull request #20386 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-08-06 08:35:40 +00:00
BrewTestBot
ba0aa7296b
actionlint.yml: update to match main configuration 2025-08-06 08:11:05 +00:00
Patrick Linnane
1c625aa2a0
Merge pull request #20381 from colindean/patch-1
diagnostic: Use pushd/popd in uncommited modifications nudge
2025-08-06 01:38:41 +00:00
Eric Knibbe
626b6aca2d
RubyDoc output fixes 2025-08-05 17:13:42 -04:00
Colin Dean
f08122937f
Reorders git options for uncommitted modifications nudge
-C path must come before the subcommand.

Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-08-05 14:58:44 -04:00
Colin Dean
60ce25bea0
Use git's -C option to set git's working directory for uncommitted modifications nudge 2025-08-05 14:49:11 -04:00
Colin Dean
7d285c0956
diagnostic: Use pushd/popd in uncommited modifications nudge
While filing https://github.com/Homebrew/brew/issues/20379, I lost where I was because I followed the given instruction. Instead, let's use pushd/popd so the user is returned to their pwd if the git operations succeed.
2025-08-05 11:48:39 -04:00
Mike McQuaid
a729c533fd
Merge pull request #20377 from Homebrew/fix-linkage-checker-file-descriptors
Fix file descriptor leak in Linux LD library path parsing
2025-08-05 15:02:04 +00:00
Ruoyu Zhong
86fb7847bf
Merge pull request #20376 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-08-05 14:31:18 +00:00
Mike McQuaid
23971854b0
Fix file descriptor leak in Linux LD library path parsing
The library_paths method was using readlines which could leave file
descriptors open due to Ruby's garbage collection behavior. When
processing many packages during 'brew upgrade' or 'brew linkage',
this caused "Too many open files" errors on Linux systems.

Changes:
- Replace readlines with explicit file.open block to ensure proper closure
- Add caching to avoid repeatedly reading /etc/ld.so.conf during a session
- Cache included files as well to optimize recursive include processing

Fixes: #19866, #20302, #19177, #20223

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 15:19:07 +01:00
BrewTestBot
a149df831d
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-08-05 14:10:26 +00:00
Mike McQuaid
7c67b47a77
Merge pull request #20375 from Homebrew/cask_prelude_download_queue
Add `Cask::Installer#prelude` to check before download queueing
2025-08-05 14:01:09 +00:00
Mike McQuaid
3f3ddb8b9e
Merge pull request #20360 from lukarajic/cask-size
Add a flag to `brew info` to view the size of each formula and cask
2025-08-05 13:54:14 +00:00
Mike McQuaid
64311c2889
Add Cask::Installer#prelude to check before download queueing
Fixes #20374

When using HOMEBREW_DOWNLOAD_CONCURRENCY, cask binaries were being
downloaded before checking if the cask could actually be installed
(e.g., disabled casks or conflict checks). This resulted in unnecessary
downloads for casks that would ultimately fail to install.

This change adds a `prelude` method to Cask::Installer that performs
early validation checks (deprecation/disable status and conflicts)
similar to Formula#prelude_fetch. The prelude method is called before
enqueueing downloads in all download queue scenarios (install, reinstall,
and upgrade commands), ensuring that validation failures occur before
the "Fetching downloads for:" message is displayed.

Key changes:
- Add Cask::Installer#prelude method with @ran_prelude tracking
- Call prelude before enqueueing downloads in install/reinstall/upgrade
- Refactor to avoid creating installer objects multiple times
- Maintain backward compatibility for non-download-queue scenarios

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 14:38:24 +01:00
Luka Rajic
0c78875616 Add a way to view the size of each installed formula/cask
Change styling based on output of brew typecheck and brew style

Changes as per PR comments

Remove --leaves flag functionality

Simplify formulae and cask parsing as well as style changes as per PR comments

Update cask and formulae parsing as per PR comment suggestion

Add column formatting function as well as PR comment suggestions

Add Sorbet struct for printing and minor logic changes as per PR comments

Minor changes as per PR comments and fix formatting issue in output
2025-08-05 09:13:29 -04:00
Mike McQuaid
f037420b41
Merge pull request #20373 from Homebrew/cask_definition
Update cask definition
2025-08-05 10:29:44 +00:00
Mike McQuaid
3757c8badd
Update cask definition
Be more specific about the cask definition and update another reference
in the Formula Cookbook.
2025-08-05 11:12:01 +01:00
Ruoyu Zhong
a7ea27a9c8
Merge pull request #20372 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-08-05 01:03:41 +00:00
BrewTestBot
aa13747b40
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-08-05 00:33:45 +00:00
Mike McQuaid
8f5f54bb12
Merge pull request #20369 from Homebrew/dug/typed-tap
Enable strict typing in Tap
2025-08-04 20:27:26 +00:00
Douglas Eichelberger
40c58a883d
Enable strict typing in Tap 2025-08-04 13:11:15 -07:00
Mike McQuaid
9f05f0e625
Merge pull request #20371 from Homebrew/remove_ensure_formula_installed
extend/kernel: remove ensure_formula_installed!
2025-08-04 16:29:39 +00:00
Mike McQuaid
31150c1951
extend/kernel: remove ensure_formula_installed!
This was a private API so there's no need to deprecate it.
2025-08-04 17:07:31 +01:00
Mike McQuaid
3261a07bd0
Merge pull request #20370 from Homebrew/improve_download_queue_output
Improve Download Queue output
2025-08-04 15:30:10 +00:00
Mike McQuaid
e1210ab36a
Merge pull request #20368 from chirsz-ever/chirsz/250804-short-option
cmd/update: use short option in update.sh
2025-08-04 15:07:03 +00:00
Mike McQuaid
774ef54981
Improve Download Queue output
Update the naming, presence and values for various download queue
methods to improve the output for users while making the internal code
a little easier to follow.

While we're here, also ensure that a single formula download still
displays the download queue output and indirectly fix an issue with
bottle manifests being named incorrectly.
2025-08-04 15:51:02 +01:00
chirsz
75b1e681b8 cmd/update: use short option in update.sh
Support the environment not supporting long option, such as Alpine Linux
with busybox.
2025-08-04 22:40:21 +08:00
Eric Knibbe
d2eb9c4c21
Merge pull request #20364 from Homebrew/var-notation
output: express environment variables consistently
2025-08-04 14:14:19 +00:00
Eric Knibbe
6255263b51
output: express environment variables consistently 2025-08-04 09:50:06 -04:00
Patrick Linnane
9e4bedad2f
Merge pull request #20366 from Homebrew/livecheck/special-case-unsigned-deprecations
SkipConditions: special case unsigned deprecations
2025-08-03 20:22:56 +00:00
Sam Ford
d06480aae1
SkipConditions: use versioned URLs in test casks
The `Cask::Cask` objects in the `SkipConditions` tests don't
interpolate `version` in the `url` strings, so these are technically
unversioned URLs as a result and would be skipped as unversioned. This
updates the URLs accordingly, so they won't trigger the unversioned
skip as a fallback (if the intended test doesn't work as expected).
This is something I discovered while writing a test for a cask that
shouldn't be skipped.
2025-08-03 15:03:26 -04:00
Sam Ford
ff2b1d6821
SkipConditions: special case unsigned deprecations
We've been adding `disable!` calls with a future date to casks using
an unsigned app. That implicitly deprecates the cask until it reaches
the disable date, so we've been having to add simple `livecheck`
blocks to casks that use a default check to ensure that livecheck
continues to check them. It was suggested that it would be simpler to
have livecheck not skip casks that have a `disable!` call with a
`because: :unsigned` argument and I agree, so this modifies
`SkipConditions` to add a special case for this scenario.
2025-08-03 15:03:25 -04:00
Carlo Cabrera
563d066821
Merge pull request #20367 from Homebrew/brew-edit-to-open-several-files
extend/kernel: allow exec_editor to open multiple files at once
2025-08-03 16:01:10 +00:00
Alexander Bayandin
358291e841 extend/kernel: allow exec_editor to open multiple files at once 2025-08-03 16:44:19 +01:00
Ruoyu Zhong
65d3c6e950
Merge pull request #20365 from Homebrew/pathname-type
pathname: add type to `write_exec_script`
2025-08-03 09:37:05 +00:00
Daeho Ro
af7966cb2a
pathname: add type to 2025-08-03 18:23:47 +09:00
Patrick Linnane
75aee5ec5c
Merge pull request #20363 from Homebrew/formula-cookbook-should-recommend-whats-actually-in-use
Formula-Cookbook: Recommend the in-use `write_exec_script` syntax
2025-08-03 00:50:59 +00:00
Issy Long
1ae13e0d04
Formula-Cookbook: Recommend the in-use write_exec_script syntax
- The `bin.write_exec_script Dir[libexec/"bin/*"]` is used in core
  formulae, whereas the previously recommended syntax is not found
  at all. Let's make reality match the documentation.
- Part of https://github.com/orgs/Homebrew/projects/5?pane=issue&itemId=97021840.
2025-08-02 17:56:16 +01:00
Eric Knibbe
aecd2b3447
Merge pull request #20361 from Homebrew/manpage-updates
Manpage: source wording & formatting fixes
2025-08-02 11:47:31 +00:00
Eric Knibbe
fe13aac730
Manpage: source wording & formatting fixes 2025-08-01 23:43:46 -04:00
Carlo Cabrera
a29a643c66
Merge pull request #20359 from Homebrew/replace-ensure_formula_installed!
Replace `ensure_formula_installed!` with `Formula#ensure_installed!`
2025-08-01 21:13:59 +00:00
Carlo Cabrera
fd80dd9eef
Fix test failure 2025-08-02 04:46:48 +08:00
Carlo Cabrera
0fd3b8e4af
Uncomment odeprecated
This is close enough to #20331 to do now.
2025-08-02 04:00:52 +08:00
Carlo Cabrera
fb35add3b6
Replace ensure_formula_installed! with Formula#ensure_installed!
`ensure_formula_installed!` requires the `Formula` class to be loaded
before being called to work properly.

Let's guarantee that instead by implementing it as an instance method of
the `Formula` class.

See discussion at #20358.
2025-08-02 03:43:37 +08:00
Carlo Cabrera
9dc111247f
Merge pull request #20358 from Homebrew/require-formula-ensure-formula-installed
Ensure we `require "formula"` before doing `ensure_formula_installed!`
2025-08-01 19:21:35 +00:00
Carlo Cabrera
3d4df6ff2a
style: remove unused method
There is no `rubocop` formula, so this method cannot possibly be used
without erroring out.
2025-08-02 03:03:23 +08:00
Carlo Cabrera
cc5df09845
Ensure we require "formula" before doing ensure_formula_installed!
This is needed to avoid Sorbet runtime errors. See #20352.
2025-08-02 02:46:38 +08:00
Carlo Cabrera
1fc4225850
Merge pull request #20357 from Homebrew/more-extend-kernel-sigs
extend/kernel: tighten type sig for `ensure_formula_installed!`
2025-08-01 18:44:44 +00:00
Carlo Cabrera
f2c32156e8
Merge pull request #20356 from Homebrew/kernel-sigs
extend/kernel: tighten up some type signatures
2025-08-01 18:32:48 +00:00
Carlo Cabrera
cf6c5acce0
extend/kernel: tighten type sig for ensure_formula_installed!
This does the same as #20356 for `ensure_formula_installed!`. See
discussion at #20352.

Unfortunately, one must still `require "formula"` before using this
method because of the `returns(Formula)`, but tightening the type
signature is generally a good idea anyway.

Closes #20352.
2025-08-02 02:23:47 +08:00
Carlo Cabrera
a0a78e6c6c
Remove support for passing Formulae to pretty_*ed methods
It doesn't look like these are even needed.
2025-08-02 02:11:12 +08:00
Carlo Cabrera
a76c33f7bb
extend/kernel: tighten up some type signatures
Allowing either `Formula`e or `String`s in these methods leads to errors
at runtime when one hasn't done `require "formula"` yet.

Let's tighten these up so that they only accept `Formula` arguments to
guarantee that `require "formula"` has been done before they are called.
For callers that need to pass a `String`, we update them to call a
version of these methods that accepts only `String`s.

See discussion at #20352.
2025-08-02 01:59:46 +08:00
Carlo Cabrera
29512728e3
Merge pull request #20355 from Homebrew/cat-require-formula
dev-cmd/cat: add `require "formula"`
2025-08-01 17:48:23 +00:00
Carlo Cabrera
a9e88acab4
dev-cmd/cat: add require "formula"
Fixes

    ❯ HOMEBREW_BAT=1 brew cat xz
    Error: uninitialized constant Kernel::Formula
    Warning: Removed Sorbet lines from backtrace!
    Rerun with `--verbose` to see the original backtrace
    /opt/homebrew/Library/Homebrew/extend/kernel.rb:445:in 'block in <module:Kernel>'
    /opt/homebrew/Library/Homebrew/dev-cmd/cat.rb:33:in 'block in Homebrew::DevCmd::Cat#run'
    /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.4.5/lib/ruby/3.4.0/fileutils.rb:241:in 'Dir.chdir'
    /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.4.5/lib/ruby/3.4.0/fileutils.rb:241:in 'FileUtils#cd'
    /opt/homebrew/Library/Homebrew/dev-cmd/cat.rb:29:in 'Homebrew::DevCmd::Cat#run'
    /opt/homebrew/Library/Homebrew/brew.rb:113:in '<main>'
    Please report this issue:
      https://docs.brew.sh/Troubleshooting
2025-08-02 01:30:01 +08:00
Patrick Linnane
ce237901a0
Merge pull request #20348 from osalbahr/skip-https-audit-for-curl-deps
utils/curl.rb: Skip https audit for curl dependencies
2025-08-01 17:29:57 +00:00
Mike McQuaid
55a578ad08
Merge pull request #20353 from Homebrew/fix_download_queue_patches
download_queue: fix patch handling.
2025-08-01 17:29:14 +00:00
Mike McQuaid
8f09feda11
Merge pull request #20354 from Homebrew/observer_pathname_extension_sorbet_strict
observer_pathname_extension: add strict Sorbet types.
2025-08-01 17:28:48 +00:00
Mike McQuaid
d1a33283c6
observer_pathname_extension: add strict Sorbet types. 2025-08-01 17:11:50 +01:00
Mike McQuaid
ebd4ad6077
download_queue: fix patch handling.
These were being downloaded twice simultaneously which causes a locking
race condition.

While we're here, also improve the output of bottle manifests and
patches in the download queue.
2025-08-01 16:57:47 +01:00
Osama Albahrani
69673221d4 resource_auditor.rb: Skip https audit for curl dependencies
The error message to be fixed:

```console
% brew audit --strict --online xz
xz
  * Stable: The source URL http://downloads.sourceforge.net/project/lzmautils/xz-5.8.1.tar.gz should use HTTPS rather than HTTP
Error: 1 problem in 1 formula detected.

% brew edit xz # change it to https

% brew audit --strict --online xz
xz
  * Stable: should always include at least one HTTP mirror
Error: 1 problem in 1 formula detected.
```

- Fixes https://github.com/Homebrew/brew/issues/15728
2025-08-01 18:01:09 +03:00
Mike McQuaid
d746234dcd
Merge pull request #20351 from Homebrew/fix_pathname_types
extend/pathname: fix type signature for write_env_script.
2025-08-01 14:43:19 +00:00
Mike McQuaid
ea53fdc096
extend/pathname: fix type signature for write_env_script.
It needs to be more permissive.
2025-08-01 15:28:53 +01:00
Mike McQuaid
53b900663a
Merge pull request #20349 from Homebrew/odisabled_fix
extend/kernel: fix odisabled call.
2025-08-01 11:36:21 +00:00
Carlo Cabrera
f5bddacf0c
Merge pull request #20345 from Homebrew/assertions-typecheck
formula_assertions: fix typechecking error in `{shell,pipe}_output`
2025-08-01 10:09:39 +00:00
Mike McQuaid
f405f7316c
extend/kernel: fix odisabled call.
This must set `disable` to `true` to have correct behaviour.
Also, don't allow setting it to `false` to avoid confusion as
that's what `odeprecated` is for.
2025-08-01 08:47:38 +01:00
Ruoyu Zhong
52de18f60f
Merge pull request #20347 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-08-01 02:26:54 +00:00
Ruoyu Zhong
13c54cd0b7
Merge pull request #20346 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-08-01 02:04:01 +00:00
BrewTestBot
d62bb61c7f
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-08-01 00:37:45 +00:00
BrewTestBot
5dc0193523
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-08-01 00:10:48 +00:00
Carlo Cabrera
4c024adba6
formula_assertions: fix typechecking error in {shell,pipe}_output
`cmd` can be a `Pathname` (see the type signature), but `ohai` seems to
expect only `String`s now.

While we're here, let's assert that `cmd` exists whenever it is a
`Pathname`, to avoid passing arguments like `bin/"cmd --version"` (which
is not a valid `Pathname`).

See, for example, Homebrew/homebrew-core#231882.
2025-08-01 05:58:46 +08:00
Rylan Polster
46b8ef4b96
Merge pull request #20344 from Homebrew/extend_sorbet_typing_pathname_cleanup
Cleanup some `extend/*` types/locations
2025-07-31 18:56:36 +00:00
Mike McQuaid
ec56bbf289
Improve extend/* Sorbet typing 2025-07-31 17:31:27 +01:00
Mike McQuaid
bcdb1d3af6
Merge pull request #20343 from Homebrew/fix_uri_parser_warning
Fix URI parser warning
2025-07-31 13:38:39 +00:00
Mike McQuaid
0df52b91de
Merge pull request #20342 from Homebrew/document_homebrew_download_concurrency
Document `HOMEBREW_DOWNLOAD_CONCURRENCY` environment variable
2025-07-31 12:06:32 +00:00
Mike McQuaid
8217fe5bcf
Merge pull request #20331 from Homebrew/deprecate_disable_remove_4.6
Deprecate/disable/remove code for Homebrew 4.6
2025-07-31 11:40:29 +00:00
Mike McQuaid
34bc30d639
Fix URI parser warning 2025-07-31 12:21:19 +01:00
Mike McQuaid
0af23e9dc9
Document HOMEBREW_DOWNLOAD_CONCURRENCY environment variable
We're going to be ready in 4.6.0 for users to try this out (but not
yet for it to be the default).
2025-07-31 12:18:08 +01:00
Mike McQuaid
e3c3f5a356
Deprecate/disable/remove code for Homebrew 4.6
The next minor release will be Homebrew 4.6.0 so let's do the usual
deprecation/disable/remove code cycle.
2025-07-31 12:13:01 +01:00
Carlo Cabrera
70bb266d91
Merge pull request #20340 from Homebrew/test-bot-style-fix
utils/gems: use Homebrew-specific gem spec cache
2025-07-31 06:46:37 +00:00
Carlo Cabrera
e9442f5417
Merge pull request #20341 from Homebrew/api-source-fix
api: fix handling of source downloads
2025-07-31 06:45:59 +00:00
Bo Anderson
888746ef54
utils/gems: use Homebrew-specific gem spec cache 2025-07-31 05:42:40 +01:00
Bo Anderson
c1c58741d6
api: fix handling of source downloads 2025-07-31 05:40:40 +01:00
Eric Knibbe
4d0c3fa4df
Merge pull request #20337 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-07-31 00:44:13 +00:00
BrewTestBot
ad96b58c27
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-07-30 22:17:30 +00:00
Patrick Linnane
0162cdeffe
Merge pull request #20333 from agowa/patch-1
`brew upgrade --help` missing HOMEBREW_UPGRADE_GREEDY
2025-07-30 21:58:47 +00:00
Klaus Frank
a7da303481 fix: Add missing env var mention on upgrade help page
Add missing env defaults note for `--greedy` to `brew upgrade --help` output
2025-07-30 21:37:23 +00:00
Douglas Eichelberger
7fb928ccf4
Merge pull request #20325 from Homebrew/dug/typed-cask-audit
Enable strict typing in Cask::Audit
2025-07-30 20:23:18 +00:00
Douglas Eichelberger
157992be17
Enable strict typing in Cask::Audit 2025-07-30 12:43:32 -07:00
Mike McQuaid
ff4ee5d0b5
Merge pull request #20328 from Homebrew/download_queue_cask
Add Cask install/upgrade/reinstall support for download queue
2025-07-30 07:42:29 +00:00
Mike McQuaid
58e5dc1177
workflows/tests: set download concurrency to auto. 2025-07-30 08:19:12 +01:00
Mike McQuaid
bafc57cfe1
Add Cask install/upgrade/reinstall support for download queue
This will allow installing/upgrading/reinstalling casks and all their
dependencies in parallel.
2025-07-30 08:18:35 +01:00
Mike McQuaid
cb1fe9ac0c
Merge pull request #20330 from Homebrew/empty_caveats
cmd/info: don't print empty caveats.
2025-07-30 06:45:05 +00:00
Rylan Polster
fe0a9c4a3d
Merge pull request #20327 from Homebrew/download_queue_source_download
formula*: add source download support for download queue.
2025-07-30 03:26:40 +00:00
Mike McQuaid
a947ad6e6d
Merge pull request #20329 from Homebrew/download_concurrency_auto
env_config: add `auto` option for `download_concurrency`
2025-07-29 16:11:44 +00:00
Mike McQuaid
10eb5491dc
cmd/info: don't print empty caveats.
The existing logic was insufficient so let's check the actual string.
2025-07-29 15:18:24 +01:00
Mike McQuaid
d15a0cd9eb
env_config: add auto option for download_concurrency
This will allow the user to set `HOMEBREW_DOWNLOAD_CONCURRENCY` to
`auto` to have Homebrew use the number of cores on the machine * 2.
2025-07-29 15:15:37 +01:00
Mike McQuaid
d90a421467
Merge pull request #20297 from Homebrew/test_bot_download_concurrency
workflows/tests: set HOMEBREW_DOWNLOAD_CONCURRENCY for test-bot tests.
2025-07-29 13:32:57 +00:00
Mike McQuaid
5d01b22d38
formula*: add source download support for download queue.
This should allow downloading the formula files from GitHub in
parallel too.
2025-07-29 13:48:43 +01:00
Mike McQuaid
b63669c92b
download_queue: fix bottle manifest handling.
These should be ignored upon failures.
2025-07-29 12:42:13 +01:00
Mike McQuaid
0c09ed71d4
formula_installer: fix fetch deps and local pour for download queue. 2025-07-29 12:19:39 +01:00
Mike McQuaid
d3a9525fd7
retryable_download: ensure HOMEBREW_CELLAR exists. 2025-07-29 12:19:38 +01:00
Mike McQuaid
9255a1fd84
workflows/tests: set HOMEBREW_DOWNLOAD_CONCURRENCY for test-bot tests.
This should give us some basic integration testing for the new download
concurrency code before we enabled/test it in homebrew-core's CI.
2025-07-29 12:19:13 +01:00
Mike McQuaid
3b61b44c8a
Merge pull request #20324 from Homebrew/dug/low-shape-service
Reduce shape variations in Homebrew::Service
2025-07-29 07:52:15 +00:00
Mike McQuaid
d6111a2f7b
Merge pull request #20322 from Homebrew/vendor-gems-dependabot
workflows/vendor-gems: push to PRs from dependabot.
2025-07-29 07:50:52 +00:00
Mike McQuaid
aaefb351b4
workflows/vendor-gems: push to PRs from dependabot.
This should avoid maintainers needing to run with `workflow_dispatch`
for dependabot PRs.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-29 08:23:48 +01:00
Douglas Eichelberger
0a4b064059
Fix specs 2025-07-28 21:14:23 -07:00
Douglas Eichelberger
5177db7dc9
Remove redundant yard tags 2025-07-28 17:14:03 -07:00
Douglas Eichelberger
c4b02465f5
Reduce shape variations in Homebrew::Service 2025-07-28 17:03:43 -07:00
Mike McQuaid
00c528bc54
Merge pull request #20319 from Homebrew/dug/fix-readall-type
Fix type error in Readall.valid_tap?
2025-07-28 16:21:54 +00:00
Mike McQuaid
061e64d24c
Merge pull request #20318 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-07-28 16:21:17 +00:00
Mike McQuaid
4a54726361
Merge pull request #20321 from Homebrew/formula_audit_update_core
workflows/tests: update homebrew/core in audit tests.
2025-07-28 15:36:43 +00:00
Mike McQuaid
c898386a5d
workflows/tests: update homebrew/core in audit tests.
This is needed to fix Homebrew/brew CI.
2025-07-28 16:16:33 +01:00
Douglas Eichelberger
c738d5c007
Fix type error in Readall 2025-07-27 10:07:34 -07:00
BrewTestBot
636ff89acb
dependabot.yml: update to match main configuration 2025-07-27 15:59:02 +00:00
Bo Anderson
4d14be89e9
Merge pull request #20309 from Homebrew/dependabot/all-f8dbd9efe6
Bump the "all" group with 3 updates across multiple ecosystems
2025-07-25 16:37:43 +00:00
Mike McQuaid
4d58e746da
Merge pull request #20313 from Homebrew/download_queue_no_tty
download_queue: improve non-TTY output.
2025-07-25 16:29:51 +00:00
Mike McQuaid
bd3461d4b0
Merge pull request #20312 from Homebrew/development_tools_env
linux/development_tools: add undocumented environment variables.
2025-07-25 16:29:33 +00:00
Mike McQuaid
0c969c2f82
Merge pull request #20311 from Homebrew/quieter_debug
Make `--debug` output a bit quieter by default
2025-07-25 16:28:33 +00:00
Mike McQuaid
312f046302
Make --debug output a bit quieter by default
The `Formulary` and `system_command` debug output is incredibly verbose
by default and this is pretty annoying when all you want is to get
better backtraces when there's an error.

Instead, let's require `--verbose` and `--debug` for the noisiest output
message types.
2025-07-25 17:14:46 +01:00
BrewTestBot
bd24e11313
Update RBI files for all.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-07-25 16:11:08 +00:00
BrewTestBot
8d9e31de0b
brew vendor-gems: commit updates. 2025-07-25 16:10:50 +00:00
Bo Anderson
1974b8c24c
Downgrade to Bundler 2.6.8 2025-07-25 17:06:11 +01:00
Mike McQuaid
3562adb376
Merge pull request #20310 from Homebrew/attestation_debug
attestation: improve debug message.
2025-07-25 16:02:06 +00:00
Mike McQuaid
332527f16f
download_queue: improve non-TTY output.
Print simpler output when not running in a TTY.
2025-07-25 16:00:45 +00:00
Mike McQuaid
e75d54cbff
linux/development_tools: add undocumented environment variables.
This makes it easier to test the automatic installation of the libc and
compiler formulae without having to change the code.

This is particularly useful now we don't have any official Docker images
for this.
2025-07-25 15:56:33 +00:00
Mike McQuaid
4ee1015d94
attestation: improve debug message.
Let's reference a bottle filename here rather than a class instance ID.
2025-07-25 15:45:20 +00:00
Bevan Kay
02c643cdd3
Merge pull request #20307 from Homebrew/signing-change
cask/audit: skip signing audit without gktool
2025-07-25 09:13:28 +00:00
dependabot[bot]
c945c8056b
build(deps): bump certifi
Bumps the all group with 1 update in the /Library/Homebrew/formula-analytics directory: [certifi](https://github.com/certifi/python-certifi).


Updates `certifi` from 2025.7.9 to 2025.7.14
- [Commits](https://github.com/certifi/python-certifi/compare/2025.07.09...2025.07.14)
build(deps): bump github/codeql-action in the all group

Bumps the all group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).


Updates `github/codeql-action` from 3.29.2 to 3.29.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](181d5eefc2...4e828ff8d4)
build(deps): bump the all group across 1 directory with 8 updates

Bumps the all group with 4 updates in the /Library/Homebrew directory: [rubocop-ast](https://github.com/rubocop/rubocop-ast), [parallel_tests](https://github.com/grosser/parallel_tests), [sorbet-static-and-runtime](https://github.com/sorbet/sorbet) and [spoom](https://github.com/Shopify/spoom).


Updates `rubocop-ast` from 1.45.1 to 1.46.0
- [Release notes](https://github.com/rubocop/rubocop-ast/releases)
- [Changelog](https://github.com/rubocop/rubocop-ast/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-ast/compare/v1.45.1...v1.46.0)

Updates `parallel_tests` from 5.3.0 to 5.3.1
- [Changelog](https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md)
- [Commits](https://github.com/grosser/parallel_tests/compare/v5.3.0...v5.3.1)

Updates `sorbet-static-and-runtime` from 0.5.12230 to 0.5.12357
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `spoom` from 1.7.4 to 1.7.5
- [Release notes](https://github.com/Shopify/spoom/releases)
- [Commits](https://github.com/Shopify/spoom/compare/v1.7.4...v1.7.5)

Updates `sorbet-runtime` from 0.5.12230 to 0.5.12357
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `parser` from 3.3.8.0 to 3.3.9.0
- [Changelog](https://github.com/whitequark/parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/whitequark/parser/compare/v3.3.8.0...v3.3.9.0)

Updates `sorbet` from 0.5.12230 to 0.5.12357
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12230 to 0.5.12357
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2025.7.14
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: github/codeql-action
  dependency-version: 3.29.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: rubocop-ast
  dependency-version: 1.46.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: parallel_tests
  dependency-version: 5.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12357
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: spoom
  dependency-version: 1.7.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12357
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: parser
  dependency-version: 3.3.9.0
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet
  dependency-version: 0.5.12357
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-static
  dependency-version: 0.5.12357
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-25 09:12:24 +00:00
Mike McQuaid
ef37db9dfb
Merge pull request #20304 from Homebrew/copilot/fix-17941
Improve error message for tap conflicts in brew install
2025-07-25 08:56:04 +00:00
copilot-swe-agent[bot]
ebb71682ab
Improve error message for tap conflicts in brew install
Co-authored-by: MikeMcQuaid <125011+MikeMcQuaid@users.noreply.github.com>
Co-authored-by: carlocab <30379873+carlocab@users.noreply.github.com>
2025-07-25 09:39:19 +01:00
Bevan Kay
b1a74330d7
cask/audit: skip signing audit without gktool
replace `odebug` with `opoo`

Co-authored-by: Carlo Cabrera <github@carlo.cab>

cask/audit: fix style
2025-07-25 14:40:46 +10:00
Bo Anderson
fec86a9488
Merge pull request #20306 from Homebrew/license-symbol-fix
Fix forbidding special license refs
2025-07-25 00:02:11 +00:00
Bo Anderson
406b9c029b
Fix forbidding special license refs 2025-07-24 23:37:31 +01:00
Issy Long
00afc6b433
Merge pull request #20305 from Homebrew/search-desc-depends-on-eval-all-not-the-other-way-around
cmd/search: `--desc` depends on `--eval-all`, not the other way around
2025-07-24 22:20:08 +00:00
Issy Long
e524b7dd47
cmd/search: --desc depends on --eval-all, not the other way around
- When the user tried `brew search foo` with `--eval-all` or its
  envvar, it would fail with
  `Error: Invalid usage: `--eval-all` cannot be passed without `--desc`.`
- This was the wrong way around: `--desc` depends on `--eval-all`.
2025-07-24 22:58:16 +01:00
Patrick Linnane
a190b1fd42
Merge pull request #20303 from Homebrew/signing-audit
cask/audit: use `gktool` for signing audit
2025-07-24 17:02:05 +00:00
Mike McQuaid
097e2a351c
Merge pull request #20296 from Homebrew/upgrade_reinstall_download_queue
Optionally use DownloadQueue for reinstall, upgrade.
2025-07-24 15:03:36 +00:00
Mike McQuaid
e10d4c43c2
Optionally use DownloadQueue for reinstall, upgrade.
Follow up on `DownloadQueue` for download concurrency on `brew fetch`
and `brew install` to also add support for `brew reinstall` and
`brew upgrade`.

This required a fair bit of refactoring to make this work so I've also
made `install.rb`, `reinstall.rb` and `upgrade.rb` `typed: strict` to
add some extra guardrails from Sorbet here.

Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-07-24 15:41:03 +01:00
Bevan Kay
b7247de7cd
cask/audit: use gktool for signing audit 2025-07-24 23:02:06 +10:00
Mike McQuaid
dfcecbdf97
Merge pull request #20301 from Homebrew/copilot
Add Copilot instructions and setup steps
2025-07-24 08:40:37 +00:00
Mike McQuaid
985a91952a
Add Copilot instructions and setup steps
This will allow us to play around with Copilot agents.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-24 09:18:36 +01:00
Mike McQuaid
c46a6b947d
Merge pull request #20299 from Homebrew/allow-deprecated-unsigned-autobump
tap: continue to autobump deprecated unsigned casks
2025-07-24 08:04:16 +00:00
Bevan Kay
e55cd2158c
Merge pull request #20300 from Homebrew/codesign-audit-update
cask/audit: refine codesign audits
2025-07-24 07:48:35 +00:00
Bevan Kay
68be276a11
cask/audit: refine codesign audits 2025-07-24 17:32:00 +10:00
Bevan Kay
5a04b55e56
tap: continue to autobump deprecated unsigned casks 2025-07-24 10:10:01 +10:00
Bo Anderson
50fa89e96b
Merge pull request #20298 from Homebrew/forbidden-fix
Fix handling of formula install blocks
2025-07-23 21:48:59 +00:00
Bo Anderson
b2ffe7b060
Fix handling of formula install blocks 2025-07-23 21:19:22 +01:00
Carlo Cabrera
48459b29c3
Merge pull request #20293 from Homebrew/dug/upgrade-thor
Bump thor from 1.3.2 to 1.4.0 to resolve dependabot alert
2025-07-23 04:16:45 +00:00
Douglas Eichelberger
48462a3c2d
Bump thor from 1.3.2 to 1.4.0 to resolve dependabot alert 2025-07-22 19:41:16 -07:00
Bevan Kay
24a2aad520
Merge pull request #20292 from Homebrew/codesign-audit-shell-scripts
cask/audit: skip signing audit for shell scripts
2025-07-23 02:41:01 +00:00
Bevan Kay
cd8c0d88fc
cask/audit: skip signing audit for shell scripts 2025-07-23 12:21:59 +10:00
Mike McQuaid
bf3404ef67
Merge pull request #20289 from Homebrew/fix_download_queue_json
Add JSON API download strategy for download queue
2025-07-22 17:02:34 +00:00
Mike McQuaid
ed5805e50c
Add JSON API download strategy for download queue
This fixes the weird/broken existing behaviour which was incorrectly
creating symlinks at download time. It also defers much more logic to
the original code.

For clarity, rename the existing `API::Download` class to
`API::SourceDownload`.

While we're here:
- add a/improve the `download_type` method on all `Downloadable`
  subclasses to improve download queue output format
- move some logic to `RetryDownload`
2025-07-22 17:48:32 +01:00
Bevan Kay
3bec1171ce
Merge pull request #20286 from Homebrew/enable_signing_audit
cask/audit: always enable codesign audit
2025-07-22 07:27:10 +00:00
Mike McQuaid
dea25ec0c0
Merge pull request #20288 from Homebrew/retry_bottle_manifest
retryable_download: retry on bottle manifest errors.
2025-07-21 14:24:03 +00:00
Mike McQuaid
2a5c37cfdd
retryable_download: retry on bottle manifest errors.
This is needed in case these files are e.g. corrupt.
2025-07-21 15:07:19 +01:00
Bevan Kay
9dc5929ad8
cask/audit: always enable codesign audit 2025-07-22 00:04:54 +10:00
Mike McQuaid
6261551636
Merge pull request #20285 from Homebrew/download_queue_tweaks
Improve Download Queue behaviour
2025-07-21 08:24:09 +00:00
Mike McQuaid
e5d940fdaa
Improve Download Queue behaviour
- ensure that the `brew.rb` downloads of the API files only happens
  when they are more stale (>1 day) and using the API is not disabled
- default `brew fetch` and `brew install` to a single download retry

Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-07-21 09:10:06 +01:00
Mike McQuaid
0f92fd7037
Merge pull request #20283 from Homebrew/skip-concurrent-fetch-fix-tests
Fix some stdout issues with concurrence
2025-07-21 07:41:13 +00:00
Carlo Cabrera
89f510a0d4
Merge pull request #20281 from gromgit/env_script_all_files/no-overwrite
env_script_all_files: don't overwrite existing stuff
2025-07-21 05:24:23 +00:00
Adrian Ho
8a0a887056 env_script_all_files: don't overwrite existing stuff
Overwriting upstream content potentially causes major confusion at best, major breakage at worst.
2025-07-21 12:41:42 +08:00
Carlo Cabrera
6a8502809a
Merge pull request #20284 from Homebrew/dispatch-built-bottle-ref
dispatch-build-bottle: use `main` branch
2025-07-21 02:52:54 +00:00
Carlo Cabrera
99807510f0
dispatch-build-bottle: use main branch
This is really only used in Homebrew/core, so it should be safe to just
change `ref` here to `main`. Without this, `dispatch-build-bottle`
creates PRs that mistakenly target the `master` branch instead of the
`main` branch.
2025-07-21 10:24:23 +08:00
Rylan Polster
d436381616
Fix tests with concurrent set 2025-07-20 17:13:07 -04:00
Rylan Polster
df3b3ce19c
Skip concurrent fetch with fewer than 2 downloads 2025-07-20 17:12:43 -04:00
Bo Anderson
d0959bbd02
Merge pull request #20282 from Homebrew/bottle_tab_runtime_dependencies-fix
formula_installer: ignore bottle_tab_runtime_dependencies errors
2025-07-20 16:58:48 +00:00
Bo Anderson
65853d9bab
formula_installer: ignore bottle_tab_runtime_dependencies errors 2025-07-20 16:02:43 +01:00
Carlo Cabrera
e8048606d1
Merge pull request #20279 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-07-19 02:19:03 +00:00
BrewTestBot
81d58a89be
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-07-19 00:31:02 +00:00
Patrick Linnane
e68b1495f9
Merge pull request #20275 from Homebrew/dependabot/all-bef4732fe0
Bump the "all" group with 3 updates across multiple ecosystems
2025-07-18 17:08:33 +00:00
BrewTestBot
db8bff7a5c
Update RBI files for all.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-07-18 16:14:56 +00:00
BrewTestBot
2a1819fe09
brew vendor-gems: commit updates. 2025-07-18 16:14:28 +00:00
Douglas Eichelberger
8390465d19
Try updating platforms 2025-07-18 09:05:02 -07:00
Mike McQuaid
6c8b49ec81
Merge pull request #20277 from Homebrew/mcp_server_docs
docs: add Homebrew's MCP server documentation.
2025-07-18 15:43:16 +00:00
Carlo Cabrera
bdaaef9e5d
Merge pull request #20278 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-07-18 14:56:33 +00:00
Mike McQuaid
7bbc0a0aed
Merge pull request #20273 from Homebrew/api_download_queue
Optionally parallelise API file downloads
2025-07-18 14:43:53 +00:00
BrewTestBot
c07d9c1bfc
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-07-18 14:33:15 +00:00
Mike McQuaid
ceeaeffc51
docs: add Homebrew's MCP server documentation.
Provide some basic instructions on how to use and configure it.
2025-07-18 15:27:11 +01:00
Mike McQuaid
0a4a29946a
Merge pull request #20245 from Homebrew/download_queue_install
Optionally use `download_queue` for `brew install`
2025-07-18 14:15:27 +00:00
Mike McQuaid
21e9db69c8
Merge pull request #20276 from gromgit/bundle/local-global
bundle: --file and --global should conflict
2025-07-18 14:15:00 +00:00
Mike McQuaid
f5f64ce84c
Merge pull request #20270 from botantony/formulary_no_autobump
formulary: make `no_autobump!` reason a symbol when needed
2025-07-18 14:13:19 +00:00
Mike McQuaid
36c7f4950c
Optionally parallelise API file downloads
This assumes that all should be downloaded (at least once) on `brew`
commands being run.

Requires a certain amount of cleanup and refactoring around our API
handling and Tap migration methods (which were both weirdly placed and
in some cases broken).

Behaviour without `HOMEBREW_DOWNLOAD_CONCURRENCY` set should
be unchanged.
2025-07-18 15:01:34 +01:00
Mike McQuaid
5cc6722372
Optionally use DownloadQueue for brew install
Allowing using `HOMEBREW_DOWNLOAD_CONCURRENCY` to use the
`DownloadQueue` for `brew install` by downloading and extracting
bottles in parallel.

This requires some fixes in e.g. `Dependency` and `FormulaInstaller`
to be able to front-load all downloads and handle parallelisation of
bottle pouring.

Behaviour without `HOMEBREW_DOWNLOAD_CONCURRENCY` set should be
unchanged.

Attestations are not handled for now and the UI should be improved
before we roll this out to users.

Post-install upgrades are not yet parallelised.

Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-07-18 15:00:23 +01:00
Mike McQuaid
042c79e7ec
Merge pull request #20272 from Homebrew/refactor_download_queue
Refactor DownloadQueue handling
2025-07-18 13:38:29 +00:00
Adrian Ho
464e857344 bundle: --file and --global should conflict
Addresses https://github.com/orgs/Homebrew/discussions/6292.
2025-07-18 18:47:56 +08:00
dependabot[bot]
66d11f23f1
build(deps): bump certifi
Bumps the all group with 1 update in the /Library/Homebrew/formula-analytics directory: [certifi](https://github.com/certifi/python-certifi).


Updates `certifi` from 2025.6.15 to 2025.7.9
- [Commits](https://github.com/certifi/python-certifi/compare/2025.06.15...2025.07.09)
build(deps): bump ruby/setup-ruby in the all group

Bumps the all group with 1 update: [ruby/setup-ruby](https://github.com/ruby/setup-ruby).


Updates `ruby/setup-ruby` from 1.246.0 to 1.247.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](a4f8389190...4727905401)
build(deps): bump the all group across 1 directory with 9 updates

Bumps the all group with 5 updates in the /Library/Homebrew directory:

| Package | From | To |
| --- | --- | --- |
| [rubocop](https://github.com/rubocop/rubocop) | `1.77.0` | `1.78.0` |
| [sorbet-static-and-runtime](https://github.com/sorbet/sorbet) | `0.5.12222` | `0.5.12230` |
| [tapioca](https://github.com/Shopify/tapioca) | `0.17.6` | `0.17.7` |
| [ruby-lsp](https://github.com/Shopify/ruby-lsp) | `0.24.2` | `0.25.0` |
| [simplecov-html](https://github.com/simplecov-ruby/simplecov-html) | `0.13.1` | `0.13.2` |



Updates `rubocop` from 1.77.0 to 1.78.0
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.77.0...v1.78.0)

Updates `sorbet-static-and-runtime` from 0.5.12222 to 0.5.12230
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `tapioca` from 0.17.6 to 0.17.7
- [Release notes](https://github.com/Shopify/tapioca/releases)
- [Commits](https://github.com/Shopify/tapioca/compare/v0.17.6...v0.17.7)

Updates `ruby-lsp` from 0.24.2 to 0.25.0
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.24.2...v0.25.0)

Updates `sorbet-runtime` from 0.5.12222 to 0.5.12230
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `json` from 2.12.2 to 2.13.0
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/json/compare/v2.12.2...v2.13.0)

Updates `simplecov-html` from 0.13.1 to 0.13.2
- [Release notes](https://github.com/simplecov-ruby/simplecov-html/releases)
- [Changelog](https://github.com/simplecov-ruby/simplecov-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/simplecov-ruby/simplecov-html/compare/v0.13.1...v0.13.2)

Updates `sorbet` from 0.5.12222 to 0.5.12230
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12222 to 0.5.12230
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2025.7.9
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: ruby/setup-ruby
  dependency-version: 1.247.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: rubocop
  dependency-version: 1.78.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12230
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: tapioca
  dependency-version: 0.17.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: ruby-lsp
  dependency-version: 0.25.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12230
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: json
  dependency-version: 2.13.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: simplecov-html
  dependency-version: 0.13.2
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet
  dependency-version: 0.5.12230
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: sorbet-static
  dependency-version: 0.5.12230
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-18 08:53:29 +00:00
Carlo Cabrera
38d4b1e1d1
Merge pull request #20274 from tyuwags/ask-option-refactoring
ask option refactoring
2025-07-18 06:28:18 +00:00
thibhero
4e4617fd37 reject installed before to not print already up to date 2025-07-17 19:29:56 -04:00
Mike McQuaid
a3d6ee1d2a
Refactor DownloadQueue handling
- Use undocumented (for now) `HOMEBREW_DOWNLOAD_CONCURRENCY` instead
  of `--concurrency` flag and avoid passing around `concurrency`
- Create and use `Formula#enqueue_resources_and_patches` helper method
- Rename some method calls to be more obvious
- Use `Downloadable` type to simplify type checks
- General refactoring
2025-07-17 17:49:53 +01:00
Mike McQuaid
cf8d654708
Merge pull request #20267 from botantony/audit_no_autobump
Audit `no_autobump!` reason for new packages
2025-07-17 15:30:31 +00:00
botantony
5a50a0f232
formulary: make no_autobump! reason a symbol when needed
Signed-off-by: botantony <antonsm21@gmail.com>
2025-07-17 17:16:37 +02:00
botantony
5450e730ed
Audit no_autobump! reason for new packages
Signed-off-by: botantony <antonsm21@gmail.com>
2025-07-17 17:12:33 +02:00
Patrick Linnane
0dbefc9272
Merge pull request #20262 from Homebrew/mp4-test-fixture
test/fixtures: add minimal mp4
2025-07-16 17:34:40 +00:00
Patrick Linnane
e2746fd864
Merge pull request #20266 from Homebrew/github_runner_matrix_os_tags
github_runner_matrix: note about adding OS tags.
2025-07-16 16:37:04 +00:00
Patrick Linnane
f19dc4556e
Merge pull request #20265 from Homebrew/portable-ruby-3.4.5
Portable Ruby 3.4.5
2025-07-16 16:23:11 +00:00
Mike McQuaid
adc83d2d4b
github_runner_matrix: note about adding OS tags.
This helps people running old macOS versions to jump to specific commits
before their version was unsupported.
2025-07-16 17:22:33 +01:00
William Woodruff
46314291ab
Merge pull request #19984 from dtrodrigues/py3-whl
utils/pypi: ensure pure Python wheels support py3
2025-07-16 16:10:58 +00:00
Patrick Linnane
feebf94dd3
setup-ruby v1.246.0
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-07-16 09:09:46 -07:00
Patrick Linnane
af304da633
Portable Ruby 3.4.5
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-07-16 08:58:14 -07:00
William Woodruff
78f3fdeed9
Merge branch 'main' into py3-whl 2025-07-16 11:32:22 -04:00
Mike McQuaid
46ba380c0a
Merge pull request #20263 from MTCoster/pr-count-ip-allow-list
Ignore IP allow list errors in `too_many_open_prs`
2025-07-16 14:24:45 +00:00
Matt Coster
41fce10dde
Ignore IP allow list errors in too_many_open_prs
Fixes https://github.com/orgs/Homebrew/discussions/6263. Even when SAML
passes, an IP allow list can still restrict access to organization
repos.
2025-07-16 13:52:39 +01:00
Bevan Kay
758ccd3493
test/fixtures: add minimal mp4 2025-07-16 18:52:07 +10:00
Eric Knibbe
3fa656a8d1
Merge pull request #20261 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-07-16 02:33:54 +00:00
BrewTestBot
36262ed591
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-07-16 00:31:27 +00:00
Eric Knibbe
a2bc05b811
Merge pull request #20260 from Homebrew/alias-docs
Add docs for `brew alias` command
2025-07-15 20:43:56 +00:00
Eric Knibbe
d31b7fe86e
Add docs for brew alias command 2025-07-15 13:34:49 -04:00
Mike McQuaid
39b3d3d424
Merge pull request #20256 from Homebrew/renamed_cask_no_warn
cleanup: don't warn when loading a renamed cask.
2025-07-15 15:17:49 +00:00
Mike McQuaid
dd3c6a60a5
cleanup: don't warn when loading a renamed cask.
Fixes #20248
2025-07-15 14:22:38 +01:00
Mike McQuaid
6dd684405b
Merge pull request #20253 from Homebrew/dependabot/all-1a71b61bf2
Bump the "all" group with 1 updates across multiple ecosystems
2025-07-15 09:01:58 +00:00
Bevan Kay
cfc27f05b9
Merge pull request #20254 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-07-15 09:00:20 +00:00
BrewTestBot
366eed667b
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-07-15 08:41:19 +00:00
dependabot[bot]
be7c27d923
Gemfile.lock: tapioca 0.17.6 2025-07-15 09:30:33 +01:00
Mike McQuaid
be806e4350
Merge pull request #20218 from Homebrew/add-update-perl-resources
feat: add `update-perl-resources` dev-cmd
2025-07-15 08:28:04 +00:00
Patrick Linnane
fe81c46f9f
Merge pull request #20244 from Homebrew/dependabot/bundler/Library/Homebrew/dependabot-9b21bfb7c6
build(deps): bump the dependabot group across 1 directory with 25 updates
2025-07-14 20:05:56 +00:00
Patrick Linnane
4513a43d53
Fix RuboCop failures.
Co-authored-by: Patrick Linnane <patrick@linnane.io>
Co-authored-by: Carlo Cabrera <github@carlo.cab>
Co-authored-by: Thierry Moisan <thierry.moisan@gmail.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-07-14 19:12:38 +01:00
Mike McQuaid
6a5a48de29
extend/kernel: fix failures with differing filenames. 2025-07-14 19:12:37 +01:00
Mike McQuaid
b003683816
workflows/tests: remove duplicate test-bot setup.
This is already handled in another CI job.
2025-07-14 19:12:37 +01:00
BrewTestBot
3f6fb0da51
brew vendor-gems: commit updates.
Also gnore new `tapioca` `require-hooks` dependency.
2025-07-14 19:12:37 +01:00
BrewTestBot
f877463f6b
Update RBI files for dependabot.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-07-14 19:12:36 +01:00
dependabot[bot]
6df0773228
build(deps): bump the dependabot group across 1 directory with 25 updates
---
updated-dependencies:
- dependency-name: rubocop-ast
  dependency-version: 1.45.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependabot
- dependency-name: ruby-prof
  dependency-version: 1.7.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: vernier
  dependency-version: 1.8.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependabot
- dependency-name: rubocop
  dependency-version: 1.77.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependabot
- dependency-name: rubocop-sorbet
  dependency-version: 0.10.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: parallel_tests
  dependency-version: 5.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependabot
- dependency-name: rspec
  dependency-version: 3.13.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: rspec-core
  dependency-version: 3.13.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: rspec-expectations
  dependency-version: 3.13.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12221
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: spoom
  dependency-version: 1.7.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependabot
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12222
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12222
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: tapioca
  dependency-version: 0.17.5
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependabot
- dependency-name: ruby-lsp
  dependency-version: 0.24.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependabot
- dependency-name: csv
  dependency-version: 3.3.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: base64
  dependency-version: 0.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependabot
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12222
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: benchmark
  dependency-version: 0.4.1
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: bigdecimal
  dependency-version: 3.2.2
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: dependabot
- dependency-name: json
  dependency-version: 2.12.2
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: rbi
  dependency-version: 0.3.6
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: rbs
  dependency-version: 4.0.0.dev.4
  dependency-type: indirect
  update-type: version-update:semver-major
  dependency-group: dependabot
- dependency-name: rspec-mocks
  dependency-version: 3.13.5
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: rspec-support
  dependency-version: 3.13.4
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: sorbet
  dependency-version: 0.5.12222
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dependabot
- dependency-name: sorbet-static
  dependency-version: 0.5.12222
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dependabot
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 19:12:36 +01:00
Patrick Linnane
40a1297dcb
Merge pull request #20252 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-07-14 17:02:08 +00:00
BrewTestBot
14a50290f4
dependabot.yml: update to match main configuration 2025-07-14 16:35:27 +00:00
Mike McQuaid
8515710412
Merge pull request #20241 from Homebrew/download_queue_fetch_move
Move more logic from `cmd/fetch` to `download_queue`
2025-07-14 12:56:50 +00:00
Daeho Ro
04dcca8834
feat: update perl api and refactor name and regex 2025-07-14 21:20:00 +09:00
Ruoyu Zhong
23c491e5bc
Merge pull request #20247 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-07-13 14:51:13 +00:00
BrewTestBot
cc930ca089
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-07-12 00:30:50 +00:00
Eric Knibbe
b631179579
Merge pull request #20246 from Homebrew/alias-symlink-names
aliases/aliases: fix naming of symlinks
2025-07-11 18:21:39 +00:00
Eric Knibbe
c1818fd099
aliases/aliases: fix naming of symlinks 2025-07-11 13:19:58 -04:00
Eric Knibbe
343748f601
Merge pull request #20242 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/dependabot-e1daec460a
build(deps): bump the dependabot group across 1 directory with 3 updates
2025-07-11 16:51:52 +00:00
dependabot[bot]
4aee877f04
build(deps): bump the dependabot group across 1 directory with 3 updates
Bumps the dependabot group with 3 updates in the /Library/Homebrew/formula-analytics directory: [certifi](https://github.com/certifi/python-certifi), [influxdb3-python](https://github.com/InfluxCommunity/influxdb3-python) and [typing-extensions](https://github.com/python/typing_extensions).


Updates `certifi` from 2025.4.26 to 2025.6.15
- [Commits](https://github.com/certifi/python-certifi/compare/2025.04.26...2025.06.15)

Updates `influxdb3-python` from 0.13.0 to 0.14.0
- [Release notes](https://github.com/InfluxCommunity/influxdb3-python/releases)
- [Changelog](https://github.com/InfluxCommunity/influxdb3-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/InfluxCommunity/influxdb3-python/compare/v0.13.0...v0.14.0)

Updates `typing-extensions` from 4.13.2 to 4.14.1
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.13.2...4.14.1)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2025.6.15
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: dependabot
- dependency-name: influxdb3-python
  dependency-version: 0.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependabot
- dependency-name: typing-extensions
  dependency-version: 4.14.1
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: dependabot
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-11 16:12:52 +00:00
Mike McQuaid
f4e629331f
Move more logic from cmd/fetch to download_queue
This is the first step towards using the download queue for all
download operations e.g. `brew install`, `brew upgrade`,
`brew reinstall` etc.

While we're here, do some API cleanup and Sorbet type improvements.
2025-07-11 16:57:41 +01:00
Mike McQuaid
a7d986c6c2
Merge pull request #20243 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-80.9.0
build(deps): bump setuptools from 80.8.0 to 80.9.0 in /Library/Homebrew/formula-analytics
2025-07-11 15:56:09 +00:00
dependabot[bot]
837bb29607
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 80.8.0 to 80.9.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v80.8.0...v80.9.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 80.9.0
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-11 15:36:54 +00:00
Mike McQuaid
11b3bd91c9
Merge pull request #20240 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-07-11 15:11:55 +00:00
BrewTestBot
6b5d6c5333
dependabot.yml: update to match main configuration 2025-07-11 14:54:40 +00:00
Mike McQuaid
8856a609d6
Merge pull request #20239 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-07-11 13:28:41 +00:00
Mike McQuaid
eec800149f
Merge pull request #20238 from Homebrew/fix_rubocop_fixture_style
`fixtures/rubocop@x.x.x.rbi`: fix style.
2025-07-11 13:17:54 +00:00
BrewTestBot
82914cafb1
dependabot.yml: update to match main configuration 2025-07-11 13:08:56 +00:00
Mike McQuaid
370ce002e9
Merge pull request #20237 from Homebrew/actionlint_skip_homebrew_brew
style: fix skipping actionlint checks on Homebrew/brew.
2025-07-11 13:06:52 +00:00
Issy Long
7f333ab6ec
Merge pull request #20235 from Homebrew/slash-not-plus-in-paths
rubocops/text: Prefer `lib/"string"` over `lib+"string"`
2025-07-11 12:56:54 +00:00
Mike McQuaid
607ffafd9f
fixtures/rubocop@x.x.x.rbi: fix style.
At least for me locally: `brew style` complains about this and
`brew style --fix` autocorrects it.
2025-07-11 13:54:51 +01:00
Mike McQuaid
26bb16e26d
style: fix skipping actionlint checks on Homebrew/brew.
If we're running `brew style` on Homebrew/brew: let's ensure that we
don't run the `actionlint` checks as they are handled by the dedicated
`actionlint.yml` workflow.
2025-07-11 13:51:59 +01:00
Mike McQuaid
36a4cb42ed
Merge pull request #20233 from Homebrew/zero_zero_zero_zero
Add ZeroZeroZeroZero cop
2025-07-11 12:44:23 +00:00
Issy Long
d4d1b4a22a
rubocops/text: Prefer lib/"string" over lib+"string"
- I found a few occurrences of this pattern from
  https://github.com/orgs/Homebrew/projects/5?pane=issue&itemId=97021840,
  that is an automated style request for:
  `core: use / instead of + operator in e.g. (lib+"lv").install "lv.hlp"`.
- Upon adding tests I realised that there's also the `prefix + "bin"`
  case that's already handled differently, so let's combine the handling
  given it's the same `+` that's wrong.
2025-07-11 13:41:58 +01:00
Mike McQuaid
3e0b0c1b32
Merge pull request #20232 from Homebrew/pathname_instance_variables
Improve some `Pathname` instance variable handling
2025-07-11 08:21:24 +00:00
Mike McQuaid
d57efd9ea2
Improve some Pathname instance variable handling
Will fix or at least partly address:
```
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/os/linux/elf.rb:225: warning: The class Pathname reached 8 shape variations, instance variables accesses will be slower and memory usage increased.
35
It is recommended to define instance variables in a consistent order, for instance by eagerly defining them all in the #initialize method.
```
2025-07-11 08:02:27 +00:00
Mike McQuaid
71bab462e1
Add ZeroZeroZeroZero cop
Add a new RuboCop to detect the use of 0.0.0.0 in formulae which
indicates binding to all network interfaces, internally or externally,
so is a bad default and potentially a security risk.

Co-authored-by: Issy Long <me@issylong.com>
2025-07-11 08:24:19 +01:00
Carlo Cabrera
5692ea6c17
Merge pull request #20236 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-07-11 06:55:42 +00:00
BrewTestBot
8efb804e4e
actionlint.yml: update to match main configuration 2025-07-11 06:36:02 +00:00
Patrick Linnane
a65b9d0128
Merge pull request #20234 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-07-10 17:25:05 +00:00
BrewTestBot
e4893037ae
dependabot.yml: update to match main configuration 2025-07-10 17:09:22 +00:00
Mike McQuaid
a2bf23ef70
Merge pull request #20224 from Homebrew/cask_dumper_old_tokens
Support Cask renames when installing/dumping
2025-07-10 13:54:26 +00:00
Carlo Cabrera
0b99d57621
Merge pull request #20226 from Homebrew/formula-loading-stdout
formulary: prevent formulae from printing to stdout while being loaded
2025-07-10 12:43:42 +00:00
Carlo Cabrera
69ce5edd14
formulary: improve style
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-07-10 20:27:52 +08:00
Mike McQuaid
b53f3b570c
Merge pull request #20228 from Paulchen5/use-github-secrets-in-workflow
Replace `github.token` by `secrets.GITHUB_TOKEN`
2025-07-10 08:32:40 +00:00
Mike McQuaid
5bc5d53a23
Merge pull request #20229 from Homebrew/attestation_opt_in
attestation: require explicit opt-in.
2025-07-10 08:24:48 +00:00
Mike McQuaid
17762fa77a
attestation: require explicit opt-in.
Work on this has stalled a bit and it slows things down so let's require
an explicit opt-in to use it.

While we're here, remove the silent/implicit opt-out for CI, too.
2025-07-10 09:10:08 +01:00
Mike McQuaid
e8bfa23877
Support Cask renames when installing/dumping
This adds support for Cask old tokens used for renames of Casks.

We'll now correctly check these at installation time to avoid repeatedly
installing renamed Casks and dump them in the Brewfile. We also use this
logic to avoid cleaning up renamed Casks.
2025-07-10 08:05:36 +00:00
Paulchen
b7b369270e
Replace github.token by secrets.GITHUB_TOKEN 2025-07-10 17:01:29 +09:00
Carlo Cabrera
d46d315cc1
Merge pull request #20227 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-07-09 22:07:13 +00:00
BrewTestBot
455a461406
actionlint.yml: update to match main configuration 2025-07-09 21:53:17 +00:00
Carlo Cabrera
6141c6a181
formulary: prevent formulae from printing to stdout while being loaded
Formulae can execute arbitrary Ruby code when being loaded. In
particular, they can print to stdout with methods like `puts`. This can
break the parsing of output of commands like `brew info --json=v2`.

Let's fix that by capturing the output to stdout, and then printing
those messages to stderr instead (using `opoo` to try to discourage
formula authors from doing this).
2025-07-10 03:58:39 +08:00
Issy Long
ab3955209e
Merge pull request #20225 from Homebrew/rename-bundle-tests
Rename the `brew_{dumper,installer}_spec.rb` files
2025-07-09 17:42:23 +00:00
Issy Long
50c3181cdb
Rename the brew_{dumper,installer}_spec.rb files
- The classes were renamed in 990c1efc16aad71254ae89e0b7983eee97696c72,
  but I forgot to rename the test filenames.
2025-07-09 17:47:08 +01:00
Eric Knibbe
700d67a85e
Merge pull request #20220 from Homebrew/download_strategy-wanted-headers
download_strategy: only require content-disposition header
2025-07-07 17:52:52 +00:00
Eric Knibbe
0f2131484d
download_strategy: only require content-disposition header 2025-07-07 13:16:33 -04:00
Mike McQuaid
5ec756e0ca
Merge pull request #20193 from Homebrew/skinny-rubocop-rbi
Keep only the parts of `rubocop.rbi` that we actually use
2025-07-07 16:59:45 +00:00
Bo Anderson
d88a0e46fc
Merge pull request #20221 from Homebrew/shfmt-fix
style: run shfmt on real brew
2025-07-07 16:50:11 +00:00
Bo Anderson
2dfb8c0b76
style: run shfmt on real brew 2025-07-07 17:28:31 +01:00
Daeho Ro
f89ead08c3
feat: add update-perl-resources dev-cmd 2025-07-06 16:23:31 +09:00
Patrick Linnane
114d66082d
Merge pull request #20215 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-07-05 05:49:20 +00:00
BrewTestBot
d010adb903
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-07-05 00:29:43 +00:00
Douglas Eichelberger
43b72d3633
Merge pull request #20213 from Homebrew/dug-20205
Exit non-zero when pinning uninstalled formula
2025-07-04 21:56:14 +00:00
Issy Long
1286a3676c
Merge pull request #20214 from Homebrew/the-old-brews-flag-needs-to-remain-for-backwards-compatibility
Retain the old `brew bundle --brews` flag for compatibility
2025-07-04 21:52:49 +00:00
Issy Long
ce8bf906c1
Retain the old brew bundle --brews flag for compatibility
https://github.com/Homebrew/brew/pull/20209#discussion_r2186099917
2025-07-04 22:02:59 +01:00
Douglas Eichelberger
e78cc286e0
Keep exiting zero on already pinned formulae 2025-07-04 13:55:12 -07:00
Douglas Eichelberger
f4bcda325a
Exit non-zero when pinning uninstalled formula 2025-07-04 13:28:54 -07:00
Issy Long
495b5bedde
Merge pull request #20209 from Homebrew/bundle-rename-brews-to-formulae
bundle: Rename "brews" to "formulae" for consistency
2025-07-04 20:21:38 +00:00
Issy Long
990c1efc16
bundle: Rename "brews" to "formulae" for consistency
- Homebrew Bundle referred to formulae as "brews". But it referred to
  casks as "casks" and taps as "taps".
- Let's use the same terminology everywhere.
- (I know that `brew "hello"` is the formula syntax in the Brewfile, so
  I'm not changing that (though would be up for it, in a backwards
  compatible manner), just making the code more consistent.)
2025-07-04 21:08:37 +01:00
Eric Knibbe
b57557dc3d
Merge pull request #20210 from Homebrew/formula-download-strategies
Formula-Cookbook: improve download strategy info
2025-07-04 19:25:40 +00:00
Eric Knibbe
bb372b2665
Formula-Cookbook: improve download strategy info 2025-07-04 15:12:32 -04:00
Patrick Linnane
727804bb08
Merge pull request #20206 from osalbahr/docs-update-dnf-commands
docs/Homebrew-on-Linux: update dnf5 syntax, centos/rhel section
2025-07-04 18:24:41 +00:00
Patrick Linnane
5c8fe3a339
Merge pull request #20212 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-07-04 18:15:15 +00:00
BrewTestBot
37f1e48538
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-07-04 17:42:58 +00:00
Eric Knibbe
be6c62b1d9
Merge pull request #20211 from Homebrew/fix-brew-info
cmd/info: fix `brew info <formula>`
2025-07-04 17:23:47 +00:00
Eric Knibbe
a7471e449e
cmd/info: fix brew info <formula> 2025-07-04 10:33:11 -04:00
Issy Long
a36f8af593
Merge pull request #20208 from Homebrew/dependabot/github_actions/github-actions-384b59e5c3
build(deps): bump github/codeql-action from 3.29.0 to 3.29.2 in the github-actions group
2025-07-04 10:13:16 +00:00
dependabot[bot]
998470f4a5
build(deps): bump github/codeql-action in the github-actions group
Bumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).


Updates `github/codeql-action` from 3.29.0 to 3.29.2
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3.29.0...181d5eefc20863364f96762470ba6f862bdef56b)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-04 08:59:13 +00:00
Osama Albahrani
4f677e72d4 docs/Homebrew-on-Linux: update dnf5 syntax, centos/rhel section
Tested on Fedora 42 and CentOS Stream/RHEL 10 (latest for all).

Note: Fedora 42 uses dnf5 while CentOS Stream/RHEL 10 use dnf4

See:
- https://github.com/Homebrew/install/pull/894
- 0fd28f83c8/install.sh (L1133)
2025-07-04 06:55:18 +03:00
Eric Knibbe
94606f343a
Merge pull request #20200 from Homebrew/consider-content-type
download_strategy: preserve cache upon text response
2025-07-04 02:18:45 +00:00
Eric Knibbe
eff4523074
download_strategy: preserve cache upon text response 2025-07-03 22:05:49 -04:00
Eric Knibbe
0b7c57af3b
Merge pull request #20204 from Homebrew/eval-all-check-env
cmd/dev-cmd: fetch `HOMEBREW_EVAL_ALL` for `--eval-all`
2025-07-04 02:05:22 +00:00
Issy Long
836d85277f
Keep only the parts of rubocop.rbi that we actually use
- This file was _massive_ - over 60k lines and we had to bump the file
  size limit for pushes to the repo!
- This was because by default Tapioca, when it encounters a
  `require "rubocop"` during RBI generation, loads all of the cops ever
  because they're all classes inside `RuboCop::Cop`.
- There wasn't an easy way to control this at Tapioca generation time
  (we tried), so now we parse the generated RBI file and delete classes
  and method definitions that we don't use.
- I regenerated the RBIs (`brew tc --update rubocop`) and added new
  things to the allowlist until Sorbet came back green.
- Now the file is ~7k lines and 240K - much better!
2025-07-04 00:27:12 +01:00
Eric Knibbe
f5c5d26173
cmd/dev-cmd: fetch HOMEBREW_EVAL_ALL for --eval-all 2025-07-03 12:59:12 -04:00
Carlo Cabrera
57024a9f2d
Merge pull request #20195 from tyuwags/ask-option-refactoring
Ask option refactoring
2025-07-03 12:28:46 +00:00
Issy Long
4b85b24531
Merge pull request #20201 from Homebrew/fix-dry-run-install
Fix "undefined method 'name' for an instance of FormulaInstaller"
2025-07-03 10:47:12 +00:00
Issy Long
c7af63488d
Be more explicit that we want the formula name 2025-07-03 11:29:50 +01:00
Thibaut Hérault
ea240e5aad
Update Library/Homebrew/reinstall.rb
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-07-02 15:43:24 -04:00
Bevan Kay
23742f3500
Merge pull request #20203 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-07-02 13:30:51 +00:00
BrewTestBot
09cec91b28
actionlint.yml: update to match main configuration 2025-07-02 08:10:35 +00:00
Eric Knibbe
ec9c0d65fd
Merge pull request #20202 from Homebrew/spdx-update
spdx: update license data.
2025-07-02 03:30:03 +00:00
BrewTestBot
2e963b2e06
spdx: update license data.
Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/spdx.yml).
2025-07-02 00:17:54 +00:00
Issy Long
5310c5e730
Fix "undefined method 'name' for an instance of FormulaInstaller"
- Because `name` is not a method on `FormulaInstaller`, instead
  `formula` shows the name.
- Fixes issue 20199.

Before:

```
$ brew install -n hello
Error: undefined method 'name' for an instance of FormulaInstaller
Warning: Removed Sorbet lines from backtrace!
Rerun with `--verbose` to see the original backtrace
/opt/homebrew/Library/Homebrew/install.rb:330:in 'Array#map'
/opt/homebrew/Library/Homebrew/install.rb:330:in 'Homebrew::Install.install_formulae'
```

After:

```
$ brew install -n hello
==> Would install 1 formula:
hello
```
2025-07-01 22:25:22 +01:00
Eric Knibbe
8520539312
Merge pull request #20198 from Homebrew/determine-runner-arch
github_runner_matrix: fix skipped runner creation
2025-07-01 19:20:50 +00:00
Eric Knibbe
f92e961ff1
github_runner_matrix: fix skipped runner creation 2025-07-01 15:07:24 -04:00
Thibaut Hérault
a6aad3d12f
Update Library/Homebrew/upgrade.rb
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-07-01 09:59:54 -04:00
thibhero
006d3779f3 returning early if upgradeable is blank
resolves #20197
2025-06-30 10:58:33 -04:00
thibhero
e3cc36a8b9 guard if keg or linked is nil 2025-06-30 10:57:41 -04:00
thibhero
c7f7ab5631 duplicate in ask_formulae 2025-06-29 23:29:18 -04:00
thibhero
c5036f3bba removing debugging symbols 2025-06-29 23:24:04 -04:00
thibhero
dfab4bbab2 removing formula previously updated 2025-06-29 23:18:38 -04:00
Issy Long
019a799fae
Merge pull request #20128 from Homebrew/some-bundle-files-werent-typed-at-all
Make the remaining `bundle` files `typed: true`
2025-06-29 23:10:59 +00:00
Douglas Eichelberger
bcab2ae500
Merge pull request #20192 from Homebrew/dug-refactor-exec
Refactor exec.rb type fixes
2025-06-29 11:59:27 -07:00
Douglas Eichelberger
fb01c0fa96
Update another overly narrow return type 2025-06-29 11:30:06 -07:00
Douglas Eichelberger
004c0a2a6c
Refactor exec.rb type fixes 2025-06-29 09:02:24 -07:00
Branch Vincent
52d66f206a
Merge pull request #20191 from branchvincent/maturin
extend/ENV/super: set `MATURIN_NO_INSTALL_RUST`
2025-06-28 20:09:44 +00:00
Branch Vincent
ba178a8f10
extend/ENV/super: set MATURIN_NO_INSTALL_RUST 2025-06-27 21:49:56 -07:00
Eric Knibbe
fe4f472c8d
Merge pull request #20187 from Homebrew/github-release-notes-link
dev-cmd/bump-formula-pr: release notes as proper html link
2025-06-28 00:14:45 +00:00
Bo Anderson
01c8e42ea8
Merge pull request #20190 from Homebrew/local-main-fix
cmd/update: ensure local branch moves to main
2025-06-27 23:52:58 +00:00
Issy Long
c3ec61b7cd
Merge pull request #20182 from Homebrew/some-bundle-files-werent-typed-at-all-but-now-some-are
Reapply "Make some of the `bundle` commands Sorbet `typed: true`"
2025-06-27 21:37:41 +00:00
Bo Anderson
98b7bc8d11
cmd/update: ensure local branch moves to main 2025-06-27 22:05:17 +01:00
Issy Long
a2e39c4814
Make Bundle::BrewDumper more Homebrew-y
- https://github.com/Homebrew/brew/pull/20182#discussion_r2170422499
2025-06-27 18:15:37 +01:00
Bo Anderson
4dabf8da16
Merge pull request #20186 from Homebrew/origin-head-fix
cmd/update: ensure we update remote main ref
2025-06-27 16:57:41 +00:00
Štefan Baebler
5627a90652
dev-cmd/bump-formula-pr: release notes as proper html link
The release notes link is not rendered as a proper hyperlink, this fixes it.

Few examples of PRs with unclickable links:
* https://github.com/Homebrew/homebrew-core/pull/228256
* https://github.com/Homebrew/homebrew-core/pull/228263
* https://github.com/Homebrew/homebrew-core/pull/228267
2025-06-27 18:52:43 +02:00
Bo Anderson
7f3f3c2d55
cmd/update: ensure we update remote main ref 2025-06-27 17:45:04 +01:00
Mike McQuaid
a83a71ab5f
Merge pull request #20185 from Homebrew/tier_doctor_issues
Provide more leeway to file Tier 2/3 issues.
2025-06-27 16:23:36 +00:00
Mike McQuaid
7019df7481
Provide more leeway to file Tier 2/3 issues.
Let's still continue to tell people to not file some issues but allow
them to file others.

While we're here, let's me a bit more chill with the language here.
2025-06-27 15:27:26 +01:00
Mike McQuaid
c9d3df2e54
Merge pull request #20176 from Homebrew/migrate_core_main
cmd/update: improve homebrew-core `main` migration.
2025-06-27 08:28:04 +00:00
Mike McQuaid
c8585134b4
Merge pull request #20171 from Homebrew/core_main
docs: homebrew-core's default branch is now `main`
2025-06-27 08:28:02 +00:00
Mike McQuaid
53bb328cbc
Merge pull request #20183 from tyuwags/correcting-Refine-ask‐option-dependency
Correcting refine ask option dependency
2025-06-27 08:05:34 +00:00
thibhero
e731b572f3 correcting rescue to use installer and not formula 2025-06-27 03:50:26 -04:00
Mike McQuaid
fbab2caec3
Merge pull request #20184 from Homebrew/fix_docs_ci
docs: fix HTML Proofer in CI
2025-06-27 07:34:16 +00:00
Mike McQuaid
e3e8ccef0a
docs: fix HTML Proofer in CI
- Add caching to make this build faster and less flaky.
- Skip the currently flaky URL.
- Cache external links for longer.
2025-06-27 08:09:24 +01:00
thibhero
f9dab1561a removing debugging symbol 2025-06-26 19:13:02 -04:00
thibhero
9e131d0794 correcting error of installation dependency
resolves #20181
2025-06-26 19:12:39 -04:00
Issy Long
5fed8f4210
Make the remaining Bundle file Sorbet typed: true 2025-06-26 23:21:54 +01:00
Issy Long
0d40f48e8d
Reapply "Make some of the bundle commands Sorbet typed: true"
- This reverts commit 68dbf12220f9a52ddf5ca5eb3aa1b356aa42da3a that was
  a revert of commit 68596ec720a50f44ae9c30c5806aa7f2d4bcc96f because I
  put the RBI file in the wrong place and Tapioca got rid of it, causing
  this week's release to be blocked.
2025-06-26 23:15:23 +01:00
Mike McQuaid
415c0de6b2
Merge pull request #20178 from tyuwags/upgrade-pin
upgrade pin nil value
2025-06-26 21:53:31 +00:00
thibhero
06cb0cd197 returning previously if there is no formulae to upgrade
resolves #20177
2025-06-26 13:06:57 -04:00
Mike McQuaid
4fd7c6fa8d
Merge pull request #20174 from Homebrew/remove-migrated-symlinks
cask/installer: remove migration symlinks on uninstall
2025-06-26 14:52:14 +00:00
Mike McQuaid
66c11afa7c
Merge pull request #20175 from Homebrew/migrate_brew_cask_main
cmd/update: improve Homebrew/brew and homebrew-cask `main` migration.
2025-06-26 14:49:34 +00:00
Eric Knibbe
29122c0008
cask/installer: remove migration symlinks on uninstall 2025-06-26 10:37:52 -04:00
Mike McQuaid
c86a5a1b74
Merge pull request #20156 from abitrolly/url-from-latest-release
create: detect URL from latest release if it isn't archive
2025-06-26 13:02:56 +00:00
Anatoli Babenia
3e36e98db3 create: detect URL from latest release if it isn't archive
Detects source archive for GitHub URL without version. Both releases
and tags share the same URL pattern for source archive

  https://github.com/Homebrew/brew/releases
  https://github.com/Homebrew/brew/tags
2025-06-26 15:07:51 +03:00
Mike McQuaid
aa596d3e6b
cmd/update: improve homebrew-core main migration.
Let's avoid people sticking on the master branch unnecessarily.
2025-06-26 12:13:48 +01:00
Mike McQuaid
f649587d51
cmd/update: improve Homebrew/brew main migration.
Let's avoid people sticking on the `master` branch unnecessarily.
2025-06-26 12:11:11 +01:00
Mike McQuaid
b87d2887fe
Merge pull request #20033 from tyuwags/master
Refine ask‐option dependency resolution and strengthen tests
2025-06-26 10:52:46 +00:00
Mike McQuaid
dfe8fde704
Merge pull request #20172 from Homebrew/cask_main
docs: homebrew-cask's default branch is now `main`
2025-06-26 10:37:05 +00:00
Mike McQuaid
db45e81d88
Merge pull request #20173 from Homebrew/named_args_old_tokens_warning
cli/named_args: don't warn about old tokens overlapping.
2025-06-25 16:38:07 +00:00
Mike McQuaid
c36389165c
cli/named_args: don't warn about old tokens overlapping.
This avoids e.g.

```
Warning: Treating angband as a formula.
For the cask, use homebrew/cask/angband-app or specify the `--cask` flag.
To silence this message, use the `--formula` flag.
```

when running `brew install angband`.
2025-06-25 17:24:35 +01:00
Mike McQuaid
f1e458a36a
Merge pull request #20117 from botantony/no_autobump
docs: add autobump related documentation
2025-06-25 15:27:51 +00:00
Mike McQuaid
505428e03b
docs/Formula-Cookbook: use autobumped terminology. 2025-06-25 15:42:24 +01:00
Mike McQuaid
9fa50e5e12
Merge pull request #20168 from tyuwags/json-update-migrator
updating json with `cask/migrator`
2025-06-25 14:41:41 +00:00
botantony
a85a9b84bb
rubocop.yml: add autobump_constants.rb
Signed-off-by: botantony <antonsm21@gmail.com>
2025-06-25 15:36:51 +02:00
botantony
0fb87af72c
autobump_constants: split NO_AUTOBUMP_REASONS_LIST
Signed-off-by: botantony <antonsm21@gmail.com>
2025-06-25 15:31:18 +02:00
Anton Melnikov
75146e032c
docs: suggestions from code review
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-06-25 15:30:06 +02:00
Mike McQuaid
b63ad37eeb
cask/migrator: tweak syntax. 2025-06-25 08:54:05 +01:00
Mike McQuaid
ec61b49ee9
docs: homebrew-cask's default branch is now main
Adjust documentation accordingly.
2025-06-25 08:50:36 +01:00
Mike McQuaid
e11952a2e0
docs: homebrew-core's default branch is now main
Adjust documentation accordingly.
2025-06-25 08:49:58 +01:00
Mike McQuaid
ca510da620
Merge pull request #20169 from boblail/lail/invalidate-download-cache-logging
download_strategy: Add logging when a cached download is being ignored
2025-06-25 07:44:04 +00:00
Bob Lail
048f58123f
download_strategy: Add logging when a cached download is being ignored 2025-06-25 08:32:02 +01:00
Rylan Polster
36ae1ee429
Merge pull request #20170 from Homebrew/spdx-update
spdx: update license data.
2025-06-25 00:56:15 +00:00
BrewTestBot
71d788e156
spdx: update license data.
Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/spdx.yml).
2025-06-25 00:18:16 +00:00
Patrick Linnane
2c89b70f28
Merge pull request #20159 from Homebrew/paths_d_homebrew
package/scripts/postinstall: add Homebrew to PATH.
2025-06-24 20:27:16 +00:00
Patrick Linnane
f32f391fc4
Merge pull request #20165 from Homebrew/more_tab_types
tab, cask/tab: add more Sorbet types and signatures.
2025-06-24 20:27:11 +00:00
Patrick Linnane
f4491e0c8f
Merge pull request #20167 from Homebrew/update_report_display_descriptions
cmd/update-report: display descriptions for new formulae and casks.
2025-06-24 20:26:47 +00:00
thibhero
f34f1c4a33 updating json to add old_token when a migration is made 2025-06-24 12:03:41 -04:00
Mike McQuaid
28753ef002
cmd/update-report: display descriptions for new formulae and casks.
This parses Homebrew's API JSON data to display descriptions for new
formulae and casks if available.

While we're here also add tests for ReporterHub.
2025-06-24 16:59:24 +01:00
Mike McQuaid
3495ea576c
Merge pull request #20166 from Homebrew/sync-default-branches-force
workflows/sync-default-branches: force push instead of force-with-lease.
2025-06-24 15:29:14 +00:00
Mike McQuaid
b391d6f366
Merge branch 'main' into sync-default-branches-force 2025-06-24 15:58:51 +01:00
Mike McQuaid
f89387ac39
workflows/sync-default-branches: force push instead of force-with-lease.
Force-with-lease doesn't work as expected with a shallow clone.
2025-06-24 15:58:28 +01:00
Mike McQuaid
05c7b65f54
tab, cask/tab: add more Sorbet types and signatures.
I bailed before going all the way to `typed: strict` but this should at
least improve things and fix:

`Library/Homebrew/tab.rb:111: warning: The class Tab reached 8 shape variations, instance variables accesses will be slower and memory usage increased.`
2025-06-24 12:06:55 +01:00
Mike McQuaid
1ecd060b38
Merge pull request #20164 from Homebrew/more_master_to_main
Switch to using `main` as the default branch
2025-06-24 10:59:42 +00:00
Mike McQuaid
f83c5ee2ed
workflows/sync-default-branches: speed up with partial clone.
Let's avoid doing a full clone and instead use a partial clone and a
`git ls-remote` to get the target SHA and just push that without needing
 to fully fetch it.
2025-06-24 11:46:49 +01:00
Mike McQuaid
d661cffc1f
Switch to using main as the default branch
Homebrew/brew has moved to a `main` default branch so we can more move
references from `master` to `main`.
2025-06-24 11:14:57 +01:00
Mike McQuaid
e42084dc6f
Merge pull request #20163 from Homebrew/brew-doctor-xattr-linux-check
Remove redundant `xattr` doctor check on systems without quarantine support
2025-06-24 09:22:19 +00:00
Rylan Polster
426da94cc9
Remove redundant xattr doctor check on systems without quarantine support 2025-06-24 03:07:04 +00:00
Mike McQuaid
27b9bf2377
Merge pull request #20161 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-06-23 16:06:13 +00:00
Mike McQuaid
2c16fe9184
Merge pull request #20160 from Homebrew/mcp_server_eof
mcp_server: fix EOF handling.
2025-06-23 16:04:29 +00:00
Mike McQuaid
818662352c
mcp_server: fix EOF handling.
We need to handle when `stdin` is closed but there's no interrupt
signal.

Without this, the server will be stuck an in infinite busy loop.
2025-06-23 16:50:39 +01:00
BrewTestBot
af14bcb69b
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-06-23 15:45:42 +00:00
Mike McQuaid
4759ca9430
Merge pull request #20134 from Homebrew/homebrew_core_cask_name_audit
audit: ensure that official formula and cask names don't conflict.
2025-06-23 15:33:00 +00:00
Mike McQuaid
55f65ec375
audit: ensure that official formula and cask names don't conflict.
Co-authored-by: Eric Knibbe <enk3@outlook.com>
2025-06-23 16:08:13 +01:00
Mike McQuaid
a9faa2cd8e
package/scripts/postinstall: add Homebrew to PATH.
This is automatic for `/usr/local/bin/brew` but let's do it manually
for `/opt/homebrew/bin/brew` too.
2025-06-23 15:16:49 +01:00
botantony
0dc48348af
docs: add autobump-related documentation
Signed-off-by: botantony <antonsm21@gmail.com>
2025-06-23 15:06:37 +02:00
Mike McQuaid
c19f08b3e8
Merge pull request #20158 from Homebrew/revert-20145-some-bundle-files-werent-typed-at-all-but-now-some-are
Revert "Make some of the `bundle` commands Sorbet `typed: true`"
2025-06-23 13:04:48 +00:00
Carlo Cabrera
d590e398fc
Merge pull request #20157 from Homebrew/shebang-regex
language/*: fix `*_SHEBANG_REGEX` anchors
2025-06-23 13:02:21 +00:00
Mike McQuaid
68dbf12220
Revert "Make some of the bundle commands Sorbet typed: true" 2025-06-23 13:52:35 +01:00
Carlo Cabrera
6a7416c296
language/*: fix *_SHEBANG_REGEX anchors
We should use `\A` to pick up shebangs at the start of files instead of
just anywhere in a given script.

See Homebrew/homebrew-core#227654 for an example where this can cause
problems.
2025-06-23 20:32:55 +08:00
Mike McQuaid
cfede01ea9
Merge pull request #20155 from Homebrew/core-caveats
rubocops/caveats: only apply dynamic logic check to core.
2025-06-23 08:17:08 +00:00
Mike McQuaid
984273be76
Merge pull request #20153 from Homebrew/brew-doctor-linux-cask-errors
Improve `brew doctor` warnings about `xattr` and cask quarantine
2025-06-23 08:07:30 +00:00
Mike McQuaid
afa5d50b36
rubocops/caveats: only apply dynamic logic check to core.
This doesn't really matter for non-API taps.
2025-06-23 08:58:34 +01:00
Mike McQuaid
a6b1d42488
Merge pull request #20154 from abitrolly/brew-audit-v-version
create: strip 'v' prefix from version
2025-06-23 07:30:03 +00:00
Eric Knibbe
2703f12875
Merge pull request #20150 from Homebrew/download_strategy-fossil
download_strategy: fossil now outputs `hash:`
2025-06-23 03:03:57 +00:00
Rylan Polster
2acd4e4293
Improve messaging with missing xattr 2025-06-22 18:59:52 +00:00
Eric Knibbe
8a4cac0238
download_strategy: fix cvs checkouts 2025-06-22 14:38:19 -04:00
Eric Knibbe
7e79232512
download_strategy: fossil now outputs hash: 2025-06-22 14:38:19 -04:00
Rylan Polster
12e5e24ce3
Improve brew doctor warnings about xattr and cask quarantine 2025-06-22 14:24:22 -04:00
Anatoli Babenia
84505c714d Fix brew style "Prefer double-quoted strings" 2025-06-22 18:05:47 +03:00
Anatoli Babenia
eca98d036c create: strip 'v' prefix from version
To fix subsequent `brew audit` error:

  * line 8, col 3: Version v0.38.1 should not have a leading 'v'
2025-06-22 17:41:00 +03:00
Rylan Polster
f238d3b494
Merge pull request #20151 from Homebrew/fix-doctor-linux
Fix `brew doctor` cask handling on Linux
2025-06-22 10:10:28 +00:00
Rylan Polster
44dcb58f9e
Merge pull request #20152 from Homebrew/extend-os-class-methods
Fix handling of class methods in `extend/os`
2025-06-22 02:20:18 +00:00
Rylan Polster
431d8f1ff7
Consistently use ClassMethods sub-module for prepending class methods 2025-06-21 21:40:57 -04:00
Rylan Polster
267afac198
Remove more monkey-patching in extend/os 2025-06-21 21:34:20 -04:00
Rylan Polster
508c8b606c
Fix DevelopmentTools::ld64_version on macOS 2025-06-21 21:13:38 -04:00
Rylan Polster
2a7fbd00a9
Fix Cask::Quarantine class methods on Linux 2025-06-21 21:07:08 -04:00
Rylan Polster
ff79015373
Fix Hardware::CPU::features on macOS 2025-06-21 21:01:44 -04:00
Rylan Polster
e1873d30d4
Run deprecated cask tap check on all systems 2025-06-21 13:59:58 -04:00
Rylan Polster
031160936f
Split out os-specific cask software version checks 2025-06-21 13:59:57 -04:00
thibhero
2d39c7feb5 making flow easier to understand 2025-06-20 16:41:32 -04:00
thibhero
f674a3ac03 comment 2025-06-20 12:59:15 -04:00
thibhero
a16129fc59 new line to make it easier to understand 2025-06-20 12:36:22 -04:00
thibhero
6d0a77fc79 fixing method refactoring 2025-06-20 12:32:46 -04:00
thibhero
7d7d04bdf5 Merge remote-tracking branch 'tyuwags/master' 2025-06-20 12:29:08 -04:00
thibhero
2fb6105f26 renaming variable 2025-06-20 12:29:02 -04:00
thibhero
90b697995f renaming parameter, method and struct to make it more understandable 2025-06-20 12:28:38 -04:00
thibhero
0db36b57c8 fetching tab and renaming variables 2025-06-20 12:25:55 -04:00
thibhero
052c0ae2cd adding parameter to fetch quietly if wanted 2025-06-20 12:25:12 -04:00
Thibaut Hérault
0800faf093
Update Library/Homebrew/upgrade.rb
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-06-20 11:10:36 -04:00
Thibaut Hérault
bcc7f0f796
Update Library/Homebrew/install.rb
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-06-20 11:10:18 -04:00
Mike McQuaid
dd04fb5ab6
Merge pull request #20146 from Homebrew/dependabot/github_actions/github-actions-348b342bd6
build(deps): bump docker/setup-buildx-action from 3.10.0 to 3.11.1 in the github-actions group
2025-06-20 12:33:42 +00:00
Mike McQuaid
d0a144520d
Merge pull request #20145 from Homebrew/some-bundle-files-werent-typed-at-all-but-now-some-are
Make some of the `bundle` commands Sorbet `typed: true`
2025-06-20 10:58:07 +00:00
dependabot[bot]
d961c4772a
build(deps): bump docker/setup-buildx-action in the github-actions group
Bumps the github-actions group with 1 update: [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action).


Updates `docker/setup-buildx-action` from 3.10.0 to 3.11.1
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](b5ca514318...e468171a9d)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 3.11.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-20 08:44:06 +00:00
Issy Long
68596ec720
Make some of the bundle commands Sorbet typed: true
- The last remaining one is `exec` but that's a bit more involved
  (https://github.com/Homebrew/brew/pull/20128#discussion_r2156781591).
2025-06-20 10:11:35 +02:00
Mike McQuaid
9d357b57d1
Merge pull request #20135 from Homebrew/forbid_dynamic_caveats
rubocops/caveats: check for dynamic caveats.
2025-06-20 07:57:06 +00:00
Mike McQuaid
e6d4db8d6f
Merge pull request #20025 from abitrolly/new-detect-latest-release
formula_creator: detect GitHub version from latest release
2025-06-20 07:40:44 +00:00
Anatoli Babenia
dce285458e Add test for name override with GitHub URLs 2025-06-19 16:28:48 +03:00
Anatoli Babenia
cf2e20d586 Fix version reporting in odebug messages 2025-06-19 16:18:41 +03:00
Mike McQuaid
f77c9861de
rubocops/caveats: check for dynamic caveats.
This will avoid issues with the JSON API.
2025-06-19 10:13:32 +01:00
Mike McQuaid
2cd7a32660
formula_creator: improve code/test style. 2025-06-19 09:02:46 +01:00
Anatoli Babenia
3964186bec
formula_creator: fetch missing version from latest GitHub release 2025-06-19 09:02:36 +01:00
Mike McQuaid
9f5286f3d7
Merge pull request #20143 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/urllib3-2.5.0
build(deps): bump urllib3 from 2.4.0 to 2.5.0 in /Library/Homebrew/formula-analytics
2025-06-19 07:40:29 +00:00
dependabot[bot]
6bfcd62c7c
build(deps): bump urllib3 in /Library/Homebrew/formula-analytics
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.4.0...2.5.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-19 05:26:06 +00:00
Rylan Polster
4ce9faf294
Merge pull request #20142 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-06-19 02:10:16 +00:00
BrewTestBot
4c18ff443c
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-06-19 00:30:14 +00:00
thibhero
19901b5332 refactoring style to resolve the last discussions 2025-06-18 16:05:19 -04:00
Mike McQuaid
99a8e3a288
Merge pull request #20141 from botantony/enable_no_autobump
tap: rely on new autobump list
2025-06-18 14:34:08 +00:00
Mike McQuaid
ccb3543c6c
Merge pull request #20126 from botantony/no_autobump_rubocops
rubocops: add `no_autobump!` rubocop
2025-06-18 14:33:37 +00:00
Mike McQuaid
62cff0e852
Merge pull request #20136 from abitrolly/newnew-detect-latest-release
formula_creator: test GitHub repo call for archive|releases URLs
2025-06-18 14:20:22 +00:00
botantony
aecdcd4840
rubocops: add no_autobump! rubocop
Signed-off-by: botantony <antonsm21@gmail.com>
2025-06-18 16:16:12 +02:00
botantony
d0345513e2
tap: rely on new autobump list
Signed-off-by: botantony <antonsm21@gmail.com>
2025-06-18 16:16:08 +02:00
Anatoli Babenia
f738fce3d9
formula_creator: test GitHub repo call for archive|releases URLs 2025-06-18 15:07:44 +01:00
Mike McQuaid
76470c0d8a
Merge pull request #20137 from Homebrew/cached-location-validation
download_strategy: fix caching of `:latest` downloads
2025-06-18 07:33:29 +00:00
Mike McQuaid
43a72a1a03
Merge pull request #20138 from Homebrew/rm-zap-messaging
cask/installer: remove confusing `zap` messaging
2025-06-18 07:32:47 +00:00
Patrick Linnane
989032b703
test/cask/reinstall_spec: remove confusing zap` messaging
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-06-17 21:15:49 -07:00
Patrick Linnane
7da83ee19c
cask/installer: remove confusing zap messaging
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-06-17 21:15:47 -07:00
thibhero
fe06e04e28 refactoring install.rb and reinstall.rb after removing Formula.installed 2025-06-17 21:12:47 -04:00
Thibaut Hérault
27a040cc32
Merge branch 'master' into master 2025-06-17 20:49:18 -04:00
thibhero
1b0e79121a brew style error 2025-06-17 20:36:47 -04:00
thibhero
ea7d441370 removing fixture 2025-06-17 20:21:41 -04:00
thibhero
fc18956eeb removing longer tests and putting back integration_test.rb 2025-06-17 20:21:32 -04:00
thibhero
971a8b40e6 refactoring as we can get dependants before installing 2025-06-17 19:21:17 -04:00
thibhero
8c203df671 trying to remove FormulaInstaller.installed to formulae 2025-06-17 19:20:43 -04:00
Rylan Polster
aeed5eb57a
Merge pull request #20139 from Homebrew/fix-type-mismatch-brew-info
Fix type mismatch in `brew info`
2025-06-17 21:53:47 +00:00
Rylan Polster
f71287c4a9
Fix type mismatch in brew info 2025-06-17 16:57:50 -04:00
Eric Knibbe
5ff58d2df0
download_strategy: fix caching of :latest downloads 2025-06-17 14:51:11 -04:00
Mike McQuaid
fb9d1c5a1c
Merge pull request #20133 from Homebrew/requirements
requirements: set `typed: strict`
2025-06-17 18:37:48 +00:00
Mike McQuaid
77321d6f8b
Merge pull request #20132 from Homebrew/dev-cmd
dev-cmd: set `typed: strict`
2025-06-17 18:37:03 +00:00
Mike McQuaid
e1fc5a2784
Merge pull request #20131 from Homebrew/debrew_strict
debrew: set `typed: strict`
2025-06-17 18:30:10 +00:00
Mike McQuaid
2916610699
Merge pull request #20130 from Homebrew/sorbet_cmd
cmd: set `typed: strict`
2025-06-17 18:29:23 +00:00
Mike McQuaid
9375fc21f4
requirements: set typed: strict 2025-06-17 16:34:59 +01:00
Mike McQuaid
ca1e08c7a8
dev-cmd: set typed: strict 2025-06-17 16:34:19 +01:00
Mike McQuaid
85c5f8f3a5
debrew: set typed: strict 2025-06-17 16:33:58 +01:00
Mike McQuaid
c4c66d41ef
cmd: set typed: strict 2025-06-17 16:33:16 +01:00
Mike McQuaid
3c30845240
Merge pull request #20116 from abitrolly/create-tests
Refactor `FormulaCreator` args and call `parse_url` automatically
2025-06-17 14:18:52 +00:00
Mike McQuaid
2ad0fed872
Merge pull request #20129 from Homebrew/fix_bump_sorbet
utils/github/api: fix Sorbet types.
2025-06-17 14:13:08 +00:00
Mike McQuaid
dfa79bf981
Merge pull request #20125 from Homebrew/cask_sorbet_strict
cask: move some files to strict Sorbet sigil.
2025-06-17 14:09:56 +00:00
Mike McQuaid
f2103c7138
utils/github/api: fix Sorbet types.
Let's not use `T.unsafe(nil)` but instead an empty hash.
2025-06-17 14:59:46 +01:00
Mike McQuaid
35407ab556
cask: move some files to strict Sorbet sigil. 2025-06-17 14:56:10 +01:00
Mike McQuaid
1f29f51654
dev-cmd/create: avoid duplicate presence check.
Co-authored-by: Anatoli Babenia <anatoli@rainforce.org>
2025-06-17 14:44:59 +01:00
Eric Knibbe
09eaf1495a
Merge pull request #20119 from Homebrew/audit-bundle-version
cask/audit: also check binary for minimum OS
2025-06-17 11:36:08 +00:00
Mike McQuaid
c5d091af21
Refactor/typecheck create and formula_creator 2025-06-17 11:44:15 +01:00
Mike McQuaid
768c10c6fb
Merge pull request #20124 from Homebrew/add-cask-config-rbi-compiler
Add Cask::Config RBI compiler
2025-06-17 10:32:59 +00:00
Anatoli Babenia
85d48da364
Refactor FormulaCreator args and call parse_url automatically
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-06-17 11:19:52 +01:00
Mike McQuaid
d7d8c61f00
Merge pull request #20121 from Homebrew/sorbet_strict_a
a*.rb: move to strict Sorbet sigil.
2025-06-17 10:05:27 +00:00
Mike McQuaid
7345607ca0
a*.rb: move to strict Sorbet sigil.
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2025-06-17 08:18:33 +01:00
Sam Ford
9c69859f99
Add Cask::Config RBI compiler
This is a naive attempt at creating an RBI compiler for the
`Cask::Config` class. `Config` contains methods like `appdir` that
are defined dynamically using the class's default values and Sorbet
doesn't understand that these methods exist or what their return
types are. This compiler works as expected and gets the job done but
I know basically nothing about Tapioca, so there may be a better way
of doing this.

For what it's worth, this isn't an issue right now but Sorbet will
surface an error once `Cask::DSL` is updated to `typed: strict` (i.e.,
`Method appdir does not exist on Cask::Config`). That's something
I've been working on and this compiler is intended as a way of
preemptively resolving that Sorbet error, so I can move forward with
the `Cask::DSL` type signature work.
2025-06-16 23:49:01 -04:00
Eric Knibbe
ab4acd655a
cask/audit: also check binary for minimum OS 2025-06-16 23:39:38 -04:00
Patrick Linnane
95f0e76154
Merge pull request #20123 from abitrolly/remove-vale-fixme
Remove `vale` FIXME
2025-06-16 19:24:14 +00:00
Anatoli Babenia
b5d4bc56fc Remove vale FIXME
https://github.com/errata-ai/vale/issues/818 is fixed a year ago
2025-06-16 21:39:39 +03:00
Mike McQuaid
e694e76857
Merge pull request #20120 from Homebrew/remove_alias_generic
Remove `alias generic_*` definitions in favour of using `super`
2025-06-16 14:11:20 +00:00
Mike McQuaid
9ac306e464
Remove alias generic_* definitions in favour of using super
This is the pattern we've been adopting for a while and it's a bit
cleaner. Let's remove all of the existing usage of the existing pattern
to avoid confusion when adopting the new one.
2025-06-16 08:10:08 +00:00
Mike McQuaid
b6167f6024
Merge pull request #20118 from Homebrew/sponsors-maintainers-man-completions
Update sponsors.
2025-06-16 07:40:51 +00:00
Mike McQuaid
ad28cc7cf5
Merge pull request #20108 from Homebrew/macos_version-upgrade-type-sigil
MacOSVersion: enable strong typing, expand tests
2025-06-16 07:37:02 +00:00
Mike McQuaid
62ca1323df
Merge pull request #20112 from Homebrew/add-newest-supported-env-var
Add HOMEBREW_MACOS_NEWEST_SUPPORTED env var
2025-06-16 07:28:44 +00:00
Mike McQuaid
b6f3b0439b
Merge pull request #20115 from abitrolly/fix-test-linking
Replace hardlinks with symlinks for `brew tests`
2025-06-16 07:28:41 +00:00
BrewTestBot
7656fee22d
Update sponsors.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-06-16 00:09:15 +00:00
Sam Ford
ea57773327
MacOSVersion: expand test coverage
This adds tests to expand coverage of `MacOSVersion` to 100% for lines
and branches.
2025-06-15 09:02:42 -04:00
Sam Ford
00249bda44
MacOSVersion: enable strong typing 2025-06-15 09:02:41 -04:00
Anatoli Babenia
d2b6531f01 Replace hardlinks with symlinks for brew tests
Fixes https://github.com/Homebrew/brew/issues/20114
2025-06-15 14:08:04 +03:00
Sam Ford
764d2b2dcc
Add HOMEBREW_MACOS_NEWEST_SUPPORTED env var
We have a `HOMEBREW_MACOS_NEWEST_UNSUPPORTED` environment variable
and this is used in `MacOSVersion` to determine prerelease versions
but we don't have a way of easily determining the newest supported
macOS version.

`bump-cask-pr` contains logic that assumes the first key/value in
`MacOSVersion::SYMBOLS` is the newest macOS version but it recently
became clear that this is a prerelease version between WWDC and the
subsequent macOS release. Similarly, `dev-cmd/generate-cask-api.rb`
tries to compute the newest stable macOS version as
`HOMEBREW_MACOS_NEWEST_UNSUPPORTED.to_i - 1` and this will fail
if/when we update that variable to `"26"`, as the macOS version
before 26 is 15, not 25.

This adds a `HOMEBREW_MACOS_NEWEST_SUPPORTED` environment variable,
so we have a straightforward way of quickly identifying the newest
supported macOS version without having to make potentially unreliable
assumptions or do computations to identify the latest non-prerelease
`MacOSVersion` value. This also updates the two aforementioned areas
to use this environment variable to produce the newest stable macOS
version symbol in a more reliable way.
2025-06-14 18:45:25 -04:00
Mike McQuaid
6301c2d31f
Merge pull request #20110 from Homebrew/api-hashable-git-config
api_hashable: retain access to global gitconfig
2025-06-14 07:54:50 +00:00
Bo Anderson
82eaabf7fe
api_hashable: retain access to global gitconfig 2025-06-14 01:54:12 +01:00
Bevan Kay
f59624623c
Merge pull request #20109 from Homebrew/sponsors-maintainers-man-completions
Update sponsors.
2025-06-14 00:52:42 +00:00
BrewTestBot
4f072136d5
Update sponsors.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-06-14 00:08:35 +00:00
Mike McQuaid
e3ae002054
Merge pull request #20107 from Homebrew/scheduled_issues
Open issues for failed scheduled workflows
2025-06-13 17:55:55 +00:00
Mike McQuaid
d2269c5b30
Open issues for failed scheduled workflows
I noticed recently the SBOM workflow was failing and had been for a long
time and we'd not noticed. I've added issues for the other workflows
that run on a schedule and fixed the updating state.

I've also renamed the SBOM workflow to `sbom.yml` to match what it does.

Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2025-06-13 18:43:52 +01:00
Mike McQuaid
66621b56c9
Merge pull request #20104 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-06-13 17:15:04 +00:00
Mike McQuaid
6fb115d342
Merge pull request #20099 from Homebrew/more_update_main_changes
cmd/update*: more fixes to allow migration from `master` to `main`.
2025-06-13 16:25:56 +00:00
Mike McQuaid
08eae94955
cmd/update*: more fixes to allow migration from master to main.
We're not migrating Homebrew/brew to `main` yet but this will allow us
to ensure we have a `brew update` ready in future when we're ready to do
this.
2025-06-13 17:13:51 +01:00
Mike McQuaid
dfd0cc8d85
Merge pull request #20098 from Homebrew/hide_main_branches
Hide `main` branches from `brew tap-info` and `brew info`
2025-06-13 16:11:23 +00:00
BrewTestBot
c15dec7821
zizmor.yml: update to match main configuration 2025-06-13 15:48:23 +00:00
BrewTestBot
cf2d4a5676
actionlint.yml: update to match main configuration 2025-06-13 15:48:23 +00:00
BrewTestBot
f154eb2812
homebrew-actions.yml: update to match main configuration 2025-06-13 15:48:23 +00:00
Mike McQuaid
1cdbc38802
Merge pull request #20103 from Homebrew/sync-default-branches
Add `sync-default-branches` workflow
2025-06-13 14:02:28 +00:00
Mike McQuaid
9494385745
Merge pull request #20102 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-06-13 13:35:16 +00:00
Mike McQuaid
3cb4ba8c26
Merge pull request #20101 from Homebrew/homebrew_actions_main
Use Homebrew/actions/*@main in Actions workflows
2025-06-13 13:33:52 +00:00
Mike McQuaid
a0d1e1d9d6
Add sync-default-branches workflow
This will allow us to migrate Homebrew/brew to `main` when we're ready
while preserving `master` as a branch with the same contents.

Until we're ready to migrate, this will keep a `main` branch updated
with `master`.
2025-06-13 14:24:18 +01:00
BrewTestBot
6105a241f8
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2025-06-13 13:23:02 +00:00
Mike McQuaid
be6cee3006
Use Homebrew/actions/*@main in Actions workflows
We've migrated Homebrew/actions to use the `main` branch now so let's
update these references.
2025-06-13 14:22:09 +01:00
Mike McQuaid
cba6ecce92
Merge pull request #20100 from Homebrew/cask-initialize-yet-more-instance-variables
Cask: Initialize yet more instance variables
2025-06-13 12:53:37 +00:00
Sam Ford
4a4f7a541a
Cask: Initialize yet more instance variables
I previously added some instance variables in `Cask::DSL` to its
`initialize` method but I missed some last time, so we still see
warnings like `The class Cask::DSL reached 8 shape variations,
instance variables accesses will be slower and memory usage increased.
It is recommended to define instance variables in a consistent order,
for instance by eagerly defining them all in the #initialize method.`

This initializes more instance variables in `Cask` classes to resolve
other situations where this warning may occur. I've been testing this
for a while and haven't see any warnings with these changes but
there's always a chance that there's still more work to be done.
2025-06-13 08:32:56 -04:00
Mike McQuaid
af997ea2ad
Hide main branches from brew tap-info and brew info
These are basically as "default" as `master` now so we can hide them.
2025-06-13 12:09:02 +01:00
Mike McQuaid
e049ee3d3b
Merge pull request #20097 from Homebrew/dependabot/github_actions/github-actions-89d009b5d5
build(deps): bump the github-actions group with 3 updates
2025-06-13 10:51:48 +00:00
dependabot[bot]
c8213558ef
build(deps): bump the github-actions group with 3 updates
Bumps the github-actions group with 3 updates: [github/codeql-action](https://github.com/github/codeql-action), [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance).


Updates `github/codeql-action` from 3.28.19 to 3.29.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](fca7ace96b...ce28f5bb42)

Updates `ruby/setup-ruby` from 1.244.0 to 1.245.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](13e7a03dc3...a4effe49ee)

Updates `actions/attest-build-provenance` from 2.3.0 to 2.4.0
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](db473fddc0...e8998f9491)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: ruby/setup-ruby
  dependency-version: 1.245.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: actions/attest-build-provenance
  dependency-version: 2.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 08:22:08 +00:00
Mike McQuaid
5fc7a225c1
Merge pull request #20095 from Homebrew/fix-vscode-ruby-lsp-codespaces
Fix vscode ruby-lsp setup for GitHub codespaces
2025-06-13 07:59:10 +00:00
Rylan Polster
29e7229463
Merge pull request #20094 from Homebrew/remove-deprecated-vscode-sorbet-option
Remove deprecated vscode sorbet option
2025-06-13 06:16:13 +00:00
Rylan Polster
22dfe9267e
Fix vscode ruby-lsp setup for GitHub codespaces 2025-06-12 18:24:49 -04:00
Rylan Polster
35962a447d
Remove deprecated vscode sorbet option 2025-06-12 17:30:47 -04:00
Patrick Linnane
d428e832ee
Merge pull request #20093 from Homebrew/brew-mcp-settings
Add MCP server VS Code config
2025-06-12 20:48:08 +00:00
Patrick Linnane
ac6a7b476b
Add MCP server VS Code config
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-06-12 10:58:21 -07:00
Rylan Polster
e66bb7ece5
Merge pull request #20092 from Homebrew/revert-20080-cask-variations-only-supported
Revert "Only generate cask variations for supported macOS configurations"
2025-06-12 16:43:59 +00:00
Mike McQuaid
ec539147a7
Merge pull request #20089 from Homebrew/revert-20079-fix-tests-only-files
Revert "Filter `brew tests` spec files appropriately for each OS"
2025-06-12 16:40:34 +00:00
Mike McQuaid
fca5630b23
Merge pull request #20091 from Homebrew/update-docs-workflow
Generate template API samples for `formulae.brew.sh` docs workflow
2025-06-12 16:40:30 +00:00
Rylan Polster
54b349bb89
Revert "Only generate cask variations for supported macOS configurations" 2025-06-12 11:53:01 -04:00
Mike McQuaid
f234423913
dev-cmd/tests: fix require ordering.
This needs to happen after `setup_environment!` so that
`HOMEBREW_TEST_GENERIC_OS` is set and `OS.linux?` and `OS.mac?` both
`return false`.
2025-06-12 16:43:50 +01:00
Mike McQuaid
9541ad8931
workflows/docs: remove comment. 2025-06-12 16:39:55 +01:00
Rylan Polster
577f01c30e
Generate template API samples for formulae.brew.sh docs workflow 2025-06-12 11:19:19 -04:00
Eric Knibbe
8063291f7c
Merge pull request #20090 from Lekensteyn/remove-force-auto-update-option
Remove unused --force-auto-update option
2025-06-12 13:51:36 +00:00
Mike McQuaid
1a5afaf739
Merge pull request #20082 from alex/strict-check-for-duplicate-prs
Add strict parameter to `GitHub::check_for_duplicate_pull_requests`
2025-06-12 13:23:17 +00:00
Mike McQuaid
50bdb40efb
Merge pull request #20080 from Homebrew/cask-variations-only-supported
Only generate cask variations for supported macOS configurations
2025-06-12 13:22:45 +00:00
Alex Gaynor
efa0c9554a fixes #19828 -- added a strict parameter to GitHub::check_for_duplicate_pull_requests 2025-06-12 08:45:16 -04:00
Mike McQuaid
d68b890d61
Merge pull request #20087 from Homebrew/bump-formula-pr-body-fix
dev-cmd/bump-formula-pr: handle null body
2025-06-12 12:17:17 +00:00
Peter Wu
770335f72e Remove unused --force-auto-update option
Remove the `brew tap --force-auto-update` option and the
`force_auto_update` configuration file option from Homebrew Bundles.

Fixes #19856
2025-06-12 14:16:12 +02:00
Bo Anderson
bf6f813492
dev-cmd/bump-formula-pr: handle null body 2025-06-12 04:48:15 +01:00
Eric Knibbe
a63baa62d2
Merge pull request #20086 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-06-12 02:45:38 +00:00
thibhero
d525e25e99 resolving discussions 2025-06-11 22:41:22 -04:00
thibhero
fb5ddde5ad resolving discussions 2025-06-11 22:36:57 -04:00
thibhero
7e876e4681 resolving discussions 2025-06-11 22:35:00 -04:00
BrewTestBot
498ab9e4b7
homebrew-actions.yml: update to match main configuration 2025-06-12 02:23:28 +00:00
Eric Knibbe
bb0bb27591
Merge pull request #20081 from Homebrew/ignore-intel-only
cask/audit: skip caveats check for Intel-only casks
2025-06-12 02:13:30 +00:00
Rylan Polster
e5667cb5ae
Only generate cask variations for supported macOS configurations 2025-06-11 20:30:14 -04:00
Rylan Polster
7a806ac1bd
Merge pull request #20083 from Homebrew/sponsors-maintainers-man-completions
Update sponsors.
2025-06-12 00:20:42 +00:00
Rylan Polster
5831783a85
Merge pull request #20079 from Homebrew/fix-tests-only-files
Filter `brew tests` spec files appropriately for each OS
2025-06-12 00:15:21 +00:00
BrewTestBot
728440df3a
Update sponsors.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-06-12 00:08:55 +00:00
Rylan Polster
e5495d097e
Add missing require 2025-06-11 19:56:37 -04:00
Rylan Polster
b242abfdf0
Fix cask API tests 2025-06-11 19:44:26 -04:00
Rylan Polster
ce72e34b19
Filter brew tests spec files appropriately for each OS 2025-06-11 15:59:21 -04:00
Eric Knibbe
689ff373d8
cask/audit: skip caveats check for Intel-only casks 2025-06-11 15:56:07 -04:00
Mike McQuaid
4e0e5782ec
Merge pull request #20078 from Homebrew/schema-update
data/schemas: update schema data.
2025-06-11 16:26:51 +00:00
Mike McQuaid
1857fe4670
Merge pull request #20077 from Homebrew/workflows_tweaks
Tweak GitHub Actions workflows
2025-06-11 15:51:47 +00:00
BrewTestBot
755353570d
data/schemas: update schema data.
Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/schemas.yml).
2025-06-11 15:39:36 +00:00
Mike McQuaid
7bd8642bfc
Tweak GitHub Actions workflows
- prepare to use `main` instead of `master`.
- use synced `actionlint.yml` to simplify Homebrew/.github sync logic.
- fix some broken workflow PR opening logic.
2025-06-11 16:39:03 +01:00
Mike McQuaid
dffa42839c
Merge branch 'master' into master 2025-06-11 13:24:46 +01:00
Mike McQuaid
8aeb93ec98
Merge pull request #20073 from Homebrew/attempt_master_to_main_migration
cmd/update: attempt migration from `master` to `main` branch.
2025-06-11 07:51:00 +00:00
Mike McQuaid
837b28ba79
cmd/update: attempt migration from master to main branch.
This should allow any repositories that change from `master` to `main`
to be automatically migrated by `brew update` without requiring manual
intervention or displaying errors to the user.
2025-06-11 08:38:32 +01:00
Eric Knibbe
11f4d304ad
Merge pull request #20076 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-06-10 21:22:07 +00:00
BrewTestBot
347b287967
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-06-10 21:00:09 +00:00
Eric Knibbe
721def31a5
Merge pull request #20075 from Homebrew/no-nested-depends_on
rubocops/cask/no_overrides: avoid nested `depends_on macos:`
2025-06-10 20:47:19 +00:00
Patrick Linnane
9540bfe5c4
Merge pull request #20074 from Homebrew/contributions_csv_output
dev-cmd/contributions: improve CSV output.
2025-06-10 20:47:11 +00:00
Eric Knibbe
ea8152757e
rubocops/cask/no_overrides: avoid nested depends_on macos: 2025-06-10 14:31:58 -04:00
Mike McQuaid
8d4395118c
dev-cmd/contributions: improve CSV output.
Output messages to stderr when CSV output is enabled.

This allows doing `brew contributions --csv > contributions.csv` to
save the output to a file.
2025-06-10 17:28:21 +01:00
Rylan Polster
324762b895
Merge pull request #20072 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-06-10 16:02:06 +00:00
BrewTestBot
0af29dec14
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-06-10 15:45:47 +00:00
Mike McQuaid
144113318e
Merge pull request #20071 from Homebrew/brew_deps_output_warning
cmd/deps: add warning when not using runtime dependencies.
2025-06-10 15:41:25 +00:00
Mike McQuaid
724c10962e
Merge pull request #20070 from Homebrew/tests_default_api
tests: default to API mode enabled.
2025-06-10 15:32:45 +00:00
Mike McQuaid
d2f9677cde
cmd/deps: add warning when not using runtime dependencies.
This should provide clarify as to why the output may differ from a
formula's declared dependencies.
2025-06-10 15:55:39 +01:00
Mike McQuaid
e9f55a8f71
tests: default to API mode enabled.
While we're here, also add `brew tests --no-parallel` which I relied
on during testing.

Pretty much anywhere we rely on a stubbed formula on disk to work: we
need to disable the API.
2025-06-10 15:53:27 +01:00
Dustin Rodrigues
142d2f4df9
language/python: fix style issue 2025-06-10 00:59:44 -04:00
Dustin Rodrigues
3578b84053
utils/pypi: fix style issue 2025-06-10 00:59:28 -04:00
Dustin Rodrigues
5f188b830e
languate/python: further update pure Python wheel detection 2025-06-10 00:49:39 -04:00
Dustin Rodrigues
e8f4a8e1a7
utils/pypi: further update pure Python wheel detection 2025-06-10 00:49:11 -04:00
Bo Anderson
3c9a7332d4
Merge pull request #20066 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-06-10 02:34:41 +00:00
BrewTestBot
c086bdcbba
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-06-10 00:29:54 +00:00
Bo Anderson
7b4ef99fed
Merge pull request #20062 from Homebrew/macos-26
Preliminary macOS 26 (Tahoe) support
2025-06-09 23:22:53 +00:00
Bo Anderson
b8e2cddbbd
Preliminary macOS 26 (Tahoe) support 2025-06-09 21:41:49 +01:00
Bo Anderson
ecd0d99001
Merge pull request #20063 from Homebrew/vendor-install-fail-fix
cmd/vendor-install: fix exit code handling for curl
2025-06-09 19:38:07 +00:00
Mike McQuaid
cfdc6fd3fe
Merge pull request #20061 from Homebrew/extend_cleanup
Cleanup `extend/` directory usage.
2025-06-09 19:37:14 +00:00
Bo Anderson
57ed94c421
cmd/vendor-install: fix exit code handling for curl 2025-06-09 19:59:41 +01:00
Mike McQuaid
dc71b7c8f6
Cleanup extend/ directory usage.
- move some things out of `extend` that don't really fit there e.g.
  `Module`s that are included but not doing any
  overriding/monkeypatching
- move some code into `extend/os` to fix all remaining
  `rubocop:todo Homebrew/MoveToExtendOS`s
- remove some unneeded `bundle` skipper code that doesn't really make
  sense given our current bottling strategy
- extract some `Pathname` extensions to `extend/pathname` for separate
  files
- move a `ENV` `Kernel` extension into `kernel.rb`
- `odeprecate` a seemingly unused backwards compatibility method
- move `readline_nonblock` from a monkeypatch to a
  `ReadlineNonblock.read` method as its only used in one place
- fix up a link in documentation
2025-06-09 19:06:16 +01:00
Mike McQuaid
8ebb2cd65b
Merge pull request #20060 from Homebrew/more_ci_tweaks
workflows/tests.yml: more CI tweaks.
2025-06-09 16:39:18 +00:00
Mike McQuaid
63abe0bebf
workflows/tests.yml: more CI tweaks.
- use `macos-15` for tap syntax, no reason to use (old) `macos-14`
- use `macos-latest` for all macOS jobs where we're only testing a
  single macOS and single Linux target
- add `test default formula` jobs for Linux `arm64`
- rename a few more jobs for consistency and clarity
2025-06-09 17:28:17 +01:00
Mike McQuaid
97bc7b1661
Merge pull request #20054 from Homebrew/remove_ci_warnings
Reduce Homebrew/brew CI warnings
2025-06-09 12:07:23 +00:00
Mike McQuaid
cc03340af3
Reduce Homebrew/brew CI warnings
- Remove a bunch of non-actionable/unnecessary noise in GitHub Actions
  CI.
- Limit number of threads used to generate analytics API data to avoid
  reproducible failures producing errors and requiring retries.
- Move to Debian Old Stable for testing non-system `glibc`.
- Remove unneeded core taps/updates.
- Improve naming of CI jobs to clarify purpose i.e. we're testing
  things work on Linux, not Ubuntu specifically.
- Remove dedicated non-online/non-generic Linux `brew tests` jobs from
  3 to 1.

Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2025-06-09 12:47:22 +01:00
thibhero
32a53ab285 resolving error typecheck 2025-06-09 00:42:24 -04:00
thibhero
d39bded2f1 Merge branch 'refactor-install'
# Conflicts:
#	Library/Homebrew/test/cmd/upgrade_spec.rb
2025-06-09 00:35:40 -04:00
thibhero
aa47105d2a refactoring code 2025-06-09 00:14:16 -04:00
thibhero
a8638270f2 putting up to date install test 2025-06-08 12:35:10 -04:00
thibhero
8222b192ec updating upgrade to work 2025-06-08 12:34:56 -04:00
thibhero
a5251b2fb6 refactoring install 2025-06-08 12:34:24 -04:00
thibhero
fd159ed32c updating ask function 2025-06-08 11:32:21 -04:00
thibhero
628d265d7a updating test for upgrade 2025-06-08 11:31:51 -04:00
thibhero
27f7f282be refactoring homebrew upgrade for ask option 2025-06-08 11:31:40 -04:00
Rylan Polster
1f37a11b79
Merge pull request #20051 from Homebrew/internal-api-bare-minimum
Reduce the internal formula API to contain the bare minimum data
2025-06-06 16:45:40 +00:00
Mike McQuaid
fda164535e
Merge pull request #20059 from Homebrew/improve_caveats_completions
Improve completions (and elisp) output in caveats
2025-06-06 16:44:33 +00:00
Mike McQuaid
ff710f8191
Improve completions (and elisp) output in caveats
Instead of repeatedly outputting the same identical messages across
multiple packages and repeating them all for every package after they
were all installed: just output the identical messages in the final
caveats output instead.
2025-06-06 17:09:28 +01:00
Mike McQuaid
dd7b95439a
Merge pull request #20057 from Homebrew/cask_loader_error_handling
cask_loader: improve error handling.
2025-06-06 15:10:40 +00:00
Mike McQuaid
e7f667c198
cask_loader: improve error handling.
Handle weird edge cases where we try to read a cask from invalid paths.
2025-06-06 14:19:00 +01:00
Mike McQuaid
b23bc5e0fe
Merge pull request #20058 from Homebrew/dependabot/github_actions/github-actions-694872dfd1
build(deps): bump github/codeql-action from 3.28.18 to 3.28.19 in the github-actions group
2025-06-06 11:30:26 +00:00
dependabot[bot]
08e9a4365f
build(deps): bump github/codeql-action in the github-actions group
Bumps the github-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).


Updates `github/codeql-action` from 3.28.18 to 3.28.19
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](ff0a06e83c...fca7ace96b)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-06 08:33:23 +00:00
Rylan Polster
73b64390b3
Use existing Utils::Bottles::Collector#specification_for method 2025-06-05 12:38:15 -04:00
Rylan Polster
e83dc1cb3c
Fallback to older bottle hashes when viable 2025-06-05 11:32:47 -04:00
Eric Knibbe
0c4672a323
Merge pull request #20055 from Homebrew/cop-cask-url-verified
rubocops/cask/url: put keyword parameters on a new line
2025-06-05 15:32:32 +00:00
Mike McQuaid
1d2f045ecf
Merge pull request #20047 from Homebrew/brew_sh_profiles
`brew (bundle|) sh`: use user's configuration but override prompts.
2025-06-05 14:54:56 +00:00
Eric Knibbe
c75122c694
rubocops/cask/url: put keyword parameters on a new line 2025-06-05 10:53:34 -04:00
Mike McQuaid
5fe43ed3f2
brew (bundle|) sh: use user's configuration but override prompts.
This was more painful that I expected but will allow `brew bundle sh`
and `brew sh` to use the user's configuration but use our custom prompt
for Bash and ZSH.
2025-06-05 15:43:34 +01:00
Mike McQuaid
485f1abbee
Merge pull request #20053 from Homebrew/skip_zero_values
bin/brew: don't copy across zeroed env values.
2025-06-05 07:43:17 +00:00
Mike McQuaid
916c25ef18
bin/brew: don't copy across zeroed env values. 2025-06-05 08:33:08 +01:00
Rylan Polster
e47bc2fb86
Use hashes of arrays instead 2025-06-05 03:15:44 -04:00
Rylan Polster
b44ec56267
Reduce the internal formula API to contain the bare minimum data 2025-06-05 02:08:29 -04:00
Rylan Polster
0b67caf718
Merge pull request #20046 from Homebrew/internal-api-switch
Add undocumented `HOMEBREW_USE_INTERNAL_API` switch
2025-06-04 20:40:05 +00:00
Rylan Polster
71c8174136
Add undocumented HOMEBREW_USE_INTERNAL_API switch 2025-06-04 16:29:43 -04:00
Rylan Polster
6f8d31d698
Merge pull request #20048 from Homebrew/update-expat-version
os/mac/pkgconfig/15: update `expat` version to 2.7.1
2025-06-04 20:13:05 +00:00
Rylan Polster
da624601bb
os/mac/pkgconfig/15: update expat version 2025-06-04 15:46:41 -04:00
Mike McQuaid
68ef29fb5c
Merge pull request #20045 from Homebrew/fix-sharded-api
Fix sharded API structure to match existing API
2025-06-04 07:58:26 +00:00
Mike McQuaid
e825ceea0a
Merge pull request #20041 from Homebrew/mcp_server
Add `brew mcp-server`: a MCP server for Homebrew.
2025-06-04 07:58:01 +00:00
Eric Knibbe
ab1c3ed5f8
Merge pull request #20044 from Homebrew/show-env-var-associations
parser: show related environment variable in switch description
2025-06-04 01:11:58 +00:00
Rylan Polster
fa45209f09
Fix sharded API structure to match existing API 2025-06-03 16:58:47 -04:00
Eric Knibbe
3dc9e88542
parser: show related env var in switch description 2025-06-03 13:57:42 -04:00
Rylan Polster
317110f6f4
Merge pull request #20042 from Homebrew/refactor-bottle-tag-handling
Refactor `OnSystem` and `SimulateSystem` bottle tag handling
2025-06-03 16:22:53 +00:00
Rylan Polster
c03f70f1dc
Refactor OnSystem and SimulateSystem bottle tag handling 2025-06-03 11:57:17 -04:00
Mike McQuaid
21e3621132
Merge pull request #20040 from Homebrew/brew_sh_tests
test/cmd: add more shell tests.
2025-06-03 14:33:47 +00:00
Mike McQuaid
76c4eb60ee
test/cmd: add more shell tests.
This should help ensure that these don't regress.
2025-06-03 15:24:19 +01:00
Mike McQuaid
f9471f9591
Add brew mcp-server: a MCP server for Homebrew.
Add a new `brew mcp-server` command for a Model Context Protocol (MCP)
server for Homebrew. This integrates with AI/LLM tools like Claude,
Claude Code and Cursor.

It currently supports the calls needed/used by the MCP Inspector and
Cursor (where I've tested it).

It provides as `tools` the subcommands output by `brew help` but should
be fairly straightforward to add more in future.

It is implemented in a slightly strange way (a standalone Ruby command
called from a shell command) as MCP servers need a faster startup time
than a normal Homebrew Ruby command allows and fail if they don't get
it.

There are a few Ruby libraries available but, given how relatively
simplistic the implementation is, it didn't feel worthwhile to use and
vendor them.
2025-06-03 15:22:33 +01:00
Mike McQuaid
89739ac615
Merge pull request #20039 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-06-03 08:23:41 +00:00
Mike McQuaid
29ffef482c
Merge pull request #20038 from Homebrew/shard-json-api
Shard JSON API by OS/Arch combination
2025-06-03 08:22:10 +00:00
BrewTestBot
175eb65073
dependabot.yml: update to match main configuration 2025-06-03 08:05:26 +00:00
Rylan Polster
0f03757e8f
Shard JSON API by OS/Arch combination 2025-06-02 23:06:02 -04:00
Mike McQuaid
a0c89e4a7f
Merge pull request #20037 from Homebrew/move_sudo_reset_timestamp
brew.sh: move sudo reset timestamp.
2025-06-03 01:27:47 +00:00
Mike McQuaid
7c5affa824
brew.sh: move sudo reset timestamp.
Let's move this from `bin/brew` to make things like e.g. `brew --prefix`
or `brew shellenv` not reset the sudo timestamp.

This is still in a place that ensures that e.g. no untrusted formula or
tap code has been run yet so should have no security implications but
provide mild usability improvements.
2025-06-02 15:09:27 +01:00
Mike McQuaid
d914a72122
Merge pull request #20030 from Homebrew/rubocop-messages
audits: quote and reword problem description text
2025-06-02 08:02:20 +00:00
thibhero
7c3281f51e Merge remote-tracking branch 'tyuwags/master' 2025-05-31 23:03:40 -04:00
thibhero
01ad6b53d3 double quotes for brew style 2025-05-31 23:02:01 -04:00
thibhero
ab3b2736b5 double quotes for brew style 2025-05-31 21:35:35 -04:00
Thibaut Hérault
326376ef44 Removing attributes from macOS 2025-06-01 03:25:16 +02:00
Dustin Rodrigues
f0bfe89716
language/python: update pure Python wheel detection 2025-05-31 21:14:09 -04:00
Dustin Rodrigues
073903958f
utils/pypi: update pure Python wheel detection 2025-05-31 21:12:27 -04:00
thibhero
b1c8567977 adding tarball parent for linux 2025-05-31 14:17:40 -04:00
thibhero
b0b29f9b53 updating name tarball for linux 2025-05-31 14:03:08 -04:00
thibhero
960b4343cc updating tarball to remove attributes from MacOS 2025-05-31 13:25:25 -04:00
thibhero
fbd13203d8 Merge remote-tracking branch 'tyuwags/master' 2025-05-31 12:55:49 -04:00
thibhero
19134b3005 making tests more robust with bottles to verify the whole hierarchy oh dependencies and dependants is upgraded as expected 2025-05-31 12:54:53 -04:00
thibhero
3f1341eb6a modifying ask function as it didn't find the whole hierarchy for parents 2025-05-31 12:53:38 -04:00
thibhero
3963af774a adding tarball for the different tests in upgrade_spec.rb and install_spec.rb 2025-05-31 12:52:34 -04:00
Eric Knibbe
cd6777fc73
audits: quote and reword problem description text 2025-05-30 23:49:26 -04:00
Bo Anderson
54c8b127ea
Merge pull request #20028 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-05-31 02:23:19 +00:00
Mike McQuaid
bdbd80671a
Merge pull request #20026 from abitrolly/non-archive-fix
create: fix archive check if HTML starts with spaces
2025-05-30 16:49:09 +00:00
Mike McQuaid
e71b1473b8
formula_creator: tweak variable name 2025-05-30 14:55:50 +01:00
Mike McQuaid
8c6b3db1cd
Merge pull request #20029 from Homebrew/dependabot/github_actions/github-actions-4335f8aa65
build(deps): bump the github-actions group with 2 updates
2025-05-30 10:37:47 +00:00
dependabot[bot]
5805e9d597
build(deps): bump the github-actions group with 2 updates
Bumps the github-actions group with 2 updates: [docker/build-push-action](https://github.com/docker/build-push-action) and [actions/stale](https://github.com/actions/stale).


Updates `docker/build-push-action` from 6.17.0 to 6.18.0
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](1dc7386353...263435318d)

Updates `actions/stale` from 9.0.0 to 9.1.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](28ca103628...5bef64f19d)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 6.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: actions/stale
  dependency-version: 9.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-30 08:29:10 +00:00
Anatoli Babenia
87e57368d4 create: explain file header length logic 2025-05-30 11:12:36 +03:00
Anatoli Babenia
d860fa1fa8 create: fix archive check if HTML starts with spaces 2025-05-30 11:12:36 +03:00
BrewTestBot
3c693459bd
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-05-30 07:36:42 +00:00
Mike McQuaid
e6377ed0c1
Merge pull request #19945 from botantony/cabal
dev-cmd/create: add `--cabal` switch
2025-05-30 07:24:37 +00:00
Bevan Kay
6278ac1801
Merge branch 'master' into cabal 2025-05-29 22:44:20 +10:00
Mike McQuaid
0cd1e6ca5b
Merge pull request #20024 from Homebrew/docs-livecheck-review
docs/Brew-Livecheck review
2025-05-29 07:49:41 +00:00
Eric Knibbe
493f2aa9f0
docs/Brew-Livecheck review 2025-05-28 13:53:38 -04:00
Mike McQuaid
f3c79353be
Merge pull request #20021 from botantony/no_autobump_constant
autobump_constants: add `:requires_manual_review` reason
2025-05-28 15:46:46 +00:00
botantony
9425734b4f
autobump_constants: add :requires_manual_review reason
Signed-off-by: botantony <antonsm21@gmail.com>
2025-05-27 21:48:58 +02:00
Bo Anderson
fe3783d711
Merge pull request #20018 from koddsson/fetch-repo-before-asserting-default-branch
tap: fix handling of `--repair` with no branches
2025-05-27 17:11:00 +00:00
Kristján Oddsson
972414cec7 add a T.must after fetching tap 2025-05-27 16:55:00 +00:00
Kristján Oddsson
7476f09672 format 2025-05-27 16:43:54 +00:00
Kristján Oddsson
0480411c6f
use conditional assignment operator
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-05-27 16:35:50 +00:00
Kristján Oddsson
24d9524bbd remove T.must to avoid full fetch 2025-05-27 16:01:35 +00:00
Kristján Oddsson
9e05995299 move git fetch before getting origin_branch_name 2025-05-27 14:54:57 +00:00
Patrick Linnane
0e14dd8d3a
Merge pull request #20013 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-05-27 13:27:11 +00:00
Mike McQuaid
ff568c2179
Merge pull request #20016 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-05-27 13:24:37 +00:00
Mike McQuaid
e6aed19670
Merge pull request #20015 from Homebrew/support-tiers-codeowners
docs/Support-Tiers: tweak wording, add CODEOWNERS.
2025-05-27 13:23:31 +00:00
BrewTestBot
8fe9691b13
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-05-27 14:14:59 +01:00
BrewTestBot
9d949f3f2f
stale-issues.yml: update to match main configuration 2025-05-27 14:14:45 +01:00
Mike McQuaid
214074cf02
docs/Support-Tiers: tweak wording, add CODEOWNERS.
Let's improve the wording of the Support Tiers document and add it to
a (new) CODEOWNERS file to ensure that I or the TSC review changes.
2025-05-27 14:14:05 +01:00
Mike McQuaid
600cb4544d
Merge pull request #20017 from Homebrew/release_fixes
workflows/pkg-installer: fix release upload.
2025-05-27 11:15:51 +00:00
Mike McQuaid
2131d70265
workflows/pkg-installer: fix release upload.
- Get the release tag from the installer path.
- Remove unnecessary `gh` installation.
- Remove failing test that I can't fix.
2025-05-27 11:47:00 +01:00
Mike McQuaid
171fba9c84
Merge pull request #20011 from Homebrew/revert-19946-SMillerDev-patch-1
Revert "feat: allow env for write_jar_script"
2025-05-26 16:28:31 +00:00
Mike McQuaid
1035024b83
Revert "feat: allow env for write_jar_script" 2025-05-26 17:19:48 +01:00
Sean Molenaar
f420f0f63d
Merge pull request #19946 from Homebrew/SMillerDev-patch-1
feat: allow env for write_jar_script
2025-05-26 14:36:15 +00:00
Sean Molenaar
81ea767ea3
Update Library/Homebrew/extend/pathname.rb 2025-05-26 21:17:05 +09:00
Bevan Kay
d416755560
Merge pull request #20005 from gibfahn/bump_write_only
bump-pr: respect --write-only flag and skip git operations
2025-05-26 08:41:55 +00:00
Mike McQuaid
a2894caceb
Merge pull request #20004 from Homebrew/formula-creator-ruby-rework
formula_creator: Update Ruby template
2025-05-26 07:41:51 +00:00
Mike McQuaid
3f15e0eef0
dev-cmd/bump-formula-pr: fix style. 2025-05-26 08:40:14 +01:00
Patrick Linnane
dc0f9d50fd
Merge pull request #20008 from Homebrew/powershell-completion
feat: add _ to powershell completion filename
2025-05-25 04:55:46 +00:00
Patrick Linnane
9acd68b8c1
Merge pull request #20007 from Homebrew/SMillerDev-patch-2
feat: add clarification of macOS patches in Support-Tiers
2025-05-25 04:55:24 +00:00
Daeho Ro
24cd62140d
feat: add _ to powershell completion filename 2025-05-25 00:15:26 +09:00
Sean Molenaar
e76a02eadd
feat: add clarification of macOS patches in Support-Tiers 2025-05-24 17:03:40 +02:00
Gibson Fahnestock
97acfb94ce
bump-pr: respect --write-only flag and skip git operations
The flag used to work well, but at some point started to run more and
more git actions. We use this to update formula and casks in other
homebrew taps, and it works well except for this issue.
2025-05-24 13:14:00 +01:00
Patrick Linnane
5ee4e609ac
formula_creator: Update Ruby template
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-05-23 20:58:02 -07:00
Eric Knibbe
f4375b0750
Merge pull request #20003 from Homebrew/dependabot/github_actions/github-actions-d0caf880e0
build(deps): bump codecov/test-results-action from 1.1.0 to 1.1.1 in the github-actions group
2025-05-23 14:03:07 +00:00
dependabot[bot]
90323ffc3c
build(deps): bump codecov/test-results-action
Bumps the github-actions group with 1 update: [codecov/test-results-action](https://github.com/codecov/test-results-action).


Updates `codecov/test-results-action` from 1.1.0 to 1.1.1
- [Release notes](https://github.com/codecov/test-results-action/releases)
- [Commits](f2dba722c6...47f89e9acb)

---
updated-dependencies:
- dependency-name: codecov/test-results-action
  dependency-version: 1.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-23 08:38:21 +00:00
Mike McQuaid
51dc147d90
Merge pull request #20002 from Homebrew/selective-bundle-cleanup
bundle: add support for selective cleanup
2025-05-23 08:33:49 +00:00
Mike McQuaid
34b22000d6
Merge pull request #20001 from Homebrew/docs-typechecking-review
docs/Typechecking review
2025-05-23 08:33:03 +00:00
Bo Anderson
418a771d12
bundle: add support for selective cleanup 2025-05-23 06:19:01 +01:00
Eric Knibbe
2457fb123f
docs/Typechecking review 2025-05-22 22:54:51 -04:00
Eric Knibbe
241dbba55c
Merge pull request #20000 from Homebrew/docs-internal-links
docs: localize internal URLs
2025-05-23 00:49:57 +00:00
Eric Knibbe
6a07851c46
docs: localize internal URLs 2025-05-22 12:17:52 -04:00
Mike McQuaid
3f450e5f10
Merge pull request #19959 from botantony/uninstall-etc
uninstall: exclude configurational filess that belong to other formulae
2025-05-22 09:17:47 +00:00
Mike McQuaid
8d30251f9f
Merge pull request #19998 from botantony/extract-plist-no-autobump
cask/dsl: set `no_autobump!` if livecheck uses `:extract_plist`
2025-05-22 09:17:39 +00:00
botantony
ac2d167ffc
cask/dsl: set no_autobump! if livecheck uses :extract_plist
Signed-off-by: botantony <antonsm21@gmail.com>
2025-05-21 23:23:29 +02:00
Mike McQuaid
4887d58826
Merge pull request #19995 from Homebrew/fix_truncate
dev-cmd/bump-formula-pr: use `Formatter.truncate`.
2025-05-21 16:16:56 +00:00
Mike McQuaid
77c7587d77
Merge pull request #19993 from Homebrew/bundle_exec_exit_code
bundle/commands/exec: fix exit code handling.
2025-05-21 16:10:53 +00:00
Mike McQuaid
e5f844ec86
docs/Rakefile: fix/ignore more broken URLs. 2025-05-21 17:06:38 +01:00
Mike McQuaid
4aa7f83954
dev-cmd/bump-formula-pr: use Formatter.truncate.
Add new `Formatter.truncate` method, tests and use it.
2025-05-21 17:02:18 +01:00
Anton Melnikov
2f10b1cd6e
uninstall: style suggestions
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-05-21 17:54:21 +02:00
Mike McQuaid
daeb5b1dfe
Merge pull request #19992 from Homebrew/dependabot/github_actions/github-actions-36989fa650
build(deps): bump the github-actions group with 2 updates
2025-05-21 15:40:52 +00:00
Mike McQuaid
e8e8fcea02
bundle/commands/exec: fix exit code handling.
In some `brew tests` runs, `$CHILD_STATUS` can be `nil`.
Let's handle this and avoid these flaky tests.
2025-05-21 16:31:30 +01:00
dependabot[bot]
83db7a31ec
build(deps): bump the github-actions group with 2 updates
Bumps the github-actions group with 2 updates: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [actions/stale](https://github.com/actions/stale).


Updates `ruby/setup-ruby` from 1.242.0 to 1.244.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](cb0fda56a3...13e7a03dc3)

Updates `actions/stale` from 9.0.0 to 9.1.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](28ca103628...5bef64f19d)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.244.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: actions/stale
  dependency-version: 9.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-21 15:29:12 +00:00
Mike McQuaid
85bd5af800
Merge pull request #19991 from Homebrew/dependabot_revamp
dependabot: use more groups.
2025-05-21 15:16:56 +00:00
botantony
3dad44c9f3
uninstall: exclude configurational filess that belong to other formulae
Signed-off-by: botantony <antonsm21@gmail.com>
2025-05-21 17:05:51 +02:00
Issy Long
01e0d4b311
Merge pull request #19989 from Homebrew/truncate-really-long-release-notes
Truncate long release notes in formula PR descriptions
2025-05-21 14:48:53 +00:00
Eric Knibbe
8f3315bff5
Merge pull request #19983 from Homebrew/audit-rosetta-skipping
cask/audit: skip audit_rosetta on Intel-only casks & OSes
2025-05-21 14:26:37 +00:00
Eric Knibbe
5027a9d2f2
cask/audit: skip audit_rosetta on Intel-only casks & OSes 2025-05-21 10:14:08 -04:00
Issy Long
63cdd0723c
Truncate long release notes in formula PR descriptions
- Some formula bumps have really long release notes which causes their
  bump PRs to exceed GitHub's 65k character limit for issue bodies.
2025-05-21 13:20:48 +00:00
Issy Long
8097268267
Merge pull request #19990 from Homebrew/sponsors-maintainers-man-completions
Update maintainers.
2025-05-21 13:17:44 +00:00
Mike McQuaid
6527fc1bf3
dependabot: use more groups.
- update all dependabot types once a week on Friday so they can make it
  into the new release on (usually) Monday
- use dependabot groups for all changes so we can merge them all at once
- use the `directories` option to DRY things up
2025-05-21 14:17:37 +01:00
BrewTestBot
b826bbf23e
Update maintainers.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-05-21 13:08:27 +00:00
Mike McQuaid
8b32d019d4
Merge pull request #19986 from Homebrew/fix_update_maintainers
dev-cmd/update-maintainers: various fixes.
2025-05-21 12:42:38 +00:00
Mike McQuaid
3482655284
Merge pull request #19987 from Homebrew/fix_tap_new_root_url_warning
dev-cmd/tap-new: fix root_url warning.
2025-05-21 12:34:16 +00:00
Issy Long
ee15435a90
Fix multiline hash key/value indentation 2025-05-21 14:31:58 +02:00
Mike McQuaid
c1a2f94e01
dev-cmd/tap-new: fix root_url warning.
Ruby couldn't detect the `root_url` usage inside the ERB template.
Instead, use interpolation so it can for a fixed warning and more concise
syntax.
2025-05-21 13:19:11 +01:00
Mike McQuaid
a94037a6ff
dev-cmd/update-maintainers: various fixes.
- install the `man` gem group for `kramdown` so
  `Manpages.regenerate_man_pages` can run successfully
- hardcode the non-organisation PLC members so that they aren't
  missing from the GitHub team
- correctly populate the PLC members again
2025-05-21 13:08:37 +01:00
Mike McQuaid
e1c6513562
Merge pull request #19977 from colindean/patch-1
Prohibit non-ASCII characters in URLs, nudge toward punycode
2025-05-21 11:50:30 +00:00
Colin Dean
d5b3ae095c
Prohibit non-ASCII characters in URLs, nudge toward punycode
Inspired by curl's blog post, [Detecting malicious Unicode][1], this likely captures most if not all cases and nudges the user toward supplying IDNs with punycode.

A possible improvement would be telling the user exactly what punycode domain to use instead, but that may require another library as I can't quickly find something built into the Ruby stdlib that handles punycode encoding.

[1]: https://daniel.haxx.se/blog/2025/05/16/detecting-malicious-unicode/

Co-authored-by: Štefan Baebler <319826+stefanb@users.noreply.github.com>
2025-05-21 12:42:07 +01:00
Mike McQuaid
33a6d21eef
Merge pull request #19985 from Homebrew/dug/annotations
Include annotations in tapioca updates
2025-05-21 07:41:33 +00:00
Douglas Eichelberger
cd86e43fb1
Add rubocop exclusion 2025-05-20 20:59:24 -07:00
Douglas Eichelberger
1d4f1481ae
brew tc --update 2025-05-20 20:57:13 -07:00
Douglas Eichelberger
38bad25a86
Include annotations in typecheck updates 2025-05-20 20:56:53 -07:00
Dustin Rodrigues
5593a5cab9
utils/pypi: ensure pure Python wheels support py3 2025-05-20 23:14:14 -04:00
Patrick Linnane
cdf3964753
Merge pull request #19981 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.21
build(deps-dev): bump ruby-lsp from 0.23.20 to 0.23.21 in /Library/Homebrew
2025-05-20 21:07:21 +00:00
Patrick Linnane
df306e1426
Merge pull request #19978 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-251ed9551b
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-05-20 21:07:05 +00:00
Patrick Linnane
c2abb473bf
Merge pull request #19980 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-80.8.0
build(deps): bump setuptools from 80.7.1 to 80.8.0 in /Library/Homebrew/formula-analytics
2025-05-20 21:06:45 +00:00
Patrick Linnane
436eec1923
Merge pull request #19979 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/influxdb3-python-0.13.0
build(deps): bump influxdb3-python from 0.12.0 to 0.13.0 in /Library/Homebrew/formula-analytics
2025-05-20 21:06:31 +00:00
Patrick Linnane
ce7256b154
Merge branch 'master' into dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.21 2025-05-20 13:49:54 -07:00
Patrick Linnane
8e58386539
Merge branch 'master' into dependabot/bundler/Library/Homebrew/sorbet-251ed9551b 2025-05-20 13:49:51 -07:00
Patrick Linnane
303e4e4784
Merge branch 'master' into dependabot/pip/Library/Homebrew/formula-analytics/setuptools-80.8.0 2025-05-20 13:49:48 -07:00
Patrick Linnane
fe91ec3dbb
Merge branch 'master' into dependabot/pip/Library/Homebrew/formula-analytics/influxdb3-python-0.13.0 2025-05-20 13:49:44 -07:00
Patrick Linnane
33284e2a00
Merge pull request #19982 from Homebrew/faq-link-fix
docs/FAQ: fix broken link
2025-05-20 20:40:08 +00:00
BrewTestBot
87e4dfcd9f
Update RBI files for ruby-lsp.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-20 19:41:32 +00:00
BrewTestBot
8b643d7acf
brew vendor-gems: commit updates. 2025-05-20 19:41:23 +00:00
BrewTestBot
c2fac2047d
brew vendor-gems: commit updates. 2025-05-20 19:41:14 +00:00
Patrick Linnane
c0f4e11370
docs/FAQ: fix broken link
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-05-20 12:37:49 -07:00
dependabot[bot]
8b22e8a95f
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.20 to 0.23.21.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.20...v0.23.21)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-version: 0.23.21
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-20 19:11:52 +00:00
dependabot[bot]
2decd2158d
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 80.7.1 to 80.8.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v80.7.1...v80.8.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 80.8.0
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-20 18:45:25 +00:00
dependabot[bot]
bfc36c00d8
build(deps): bump influxdb3-python
Bumps [influxdb3-python](https://github.com/InfluxCommunity/influxdb3-python) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/InfluxCommunity/influxdb3-python/releases)
- [Changelog](https://github.com/InfluxCommunity/influxdb3-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/InfluxCommunity/influxdb3-python/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: influxdb3-python
  dependency-version: 0.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-20 18:45:12 +00:00
dependabot[bot]
bdbd39bb09
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12115 to 0.5.12117
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12115 to 0.5.12117
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12115 to 0.5.12117
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12115 to 0.5.12117
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12117
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12117
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12117
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12117
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-20 18:03:05 +00:00
Eric Knibbe
83249ef6ea
Merge pull request #19968 from Homebrew/docs-cask-cookbook
docs/Cask-Cookbook review
2025-05-20 14:40:53 +00:00
Eric Knibbe
d4c02e64e5
Cask-Cookbook: reorder some sections 2025-05-20 10:30:24 -04:00
Eric Knibbe
e8a0142150
Cask-Cookbook: review and update
with suggestions from code review

Co-Authored-By: Klaus Hipp <khipp@users.noreply.github.com>
Co-Authored-By: Bevan Kay <email@bevankay.me>
2025-05-20 10:30:24 -04:00
Eric Knibbe
2b25f34e85
Cask-Cookbook: mention replacement_formula/cask 2025-05-20 10:30:24 -04:00
Eric Knibbe
3320d7ee3e
Cask-Cookbook: mention version.csv methods 2025-05-20 10:30:24 -04:00
Eric Knibbe
ad5e03279b
Cask-Cookbook: relocate and update script: key lists 2025-05-20 10:30:24 -04:00
Carlo Cabrera
713289e2eb
Merge pull request #19885 from fidelity-contributions/github-16669
Anonymous OCI registry mirror support
2025-05-20 13:35:11 +00:00
Justin Rackliffe
f051510e67
Update Library/Homebrew/download_strategy.rb
Co-authored-by: Eric Knibbe <enk3@outlook.com>
2025-05-20 09:25:30 -04:00
Mike McQuaid
2bc642d501
Merge pull request #19976 from Homebrew/spdx_downcase
utils/spdx: do case insensitive comparison.
2025-05-20 12:59:06 +00:00
Mike McQuaid
8282ffa658
Merge pull request #19971 from Homebrew/bump-formula-pr-fix
bump-formula-pr: fix case when only `url` is provided
2025-05-20 11:40:18 +00:00
Bevan Kay
effb07ee76
bump-formula-pr: fix case when only url is provided 2025-05-20 21:23:52 +10:00
Mike McQuaid
7173f1fb60
utils/spdx: do case insensitive comparison.
Various places that use SPDX licenses specify them as downcased strings
so let's be more permissive in our comparisons/validations.
2025-05-20 12:12:55 +01:00
Mike McQuaid
28eab5c9a0
Merge pull request #19910 from botantony/no_autobump_extract_plist
cask/dsl: set `no_autobump!` automatically in some cases
2025-05-20 07:49:16 +00:00
Bevan Kay
14fbd47808
Merge pull request #19973 from Homebrew/livecheck/bitbucket-update-generated-urls
Bitbucket: update generated urls
2025-05-19 23:22:32 +00:00
Patrick Linnane
6a23486dd5
Merge pull request #19975 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-ab92e3fc5f
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-05-19 22:01:01 +00:00
Patrick Linnane
b371b6eb59
Merge pull request #19974 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.242.0
build(deps): bump ruby/setup-ruby from 1.240.0 to 1.242.0
2025-05-19 21:56:53 +00:00
BrewTestBot
a063889303
brew vendor-gems: commit updates. 2025-05-19 21:51:09 +00:00
dependabot[bot]
b554839ed9
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12109 to 0.5.12115
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12109 to 0.5.12115
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12109 to 0.5.12115
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12109 to 0.5.12115
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12115
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12115
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12115
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12115
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 18:20:29 +00:00
dependabot[bot]
5f037232c7
build(deps): bump ruby/setup-ruby from 1.240.0 to 1.242.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.240.0 to 1.242.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](1a0ff446f5...cb0fda56a3)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.242.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 18:19:44 +00:00
Sam Ford
95abc7360b
Bitbucket: update generated urls
The `Bitbucket` strategy checks download or tag pages but the content
is now fetched separately on page load, so the strategy is failing for
all related formulae. This updates the generated strategy URLs to
fetch the page content instead, which works as expected.
2025-05-19 12:13:49 -04:00
botantony
92832c258c
dev-cmd/create: add --cabal switch
Signed-off-by: botantony <antonsm21@gmail.com>
2025-05-18 20:18:34 +02:00
Patrick Linnane
69667974bc
Merge pull request #19967 from Homebrew/sponsors-maintainers-man-completions
sponsors maintainers man completions
2025-05-17 16:29:44 +00:00
BrewTestBot
efc91b27fb
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-05-17 16:19:58 +00:00
BrewTestBot
c75d06881a
Update sponsors.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-05-17 16:19:43 +00:00
Patrick Linnane
1cfc303969
Merge pull request #19960 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.240.0
build(deps): bump ruby/setup-ruby from 1.239.0 to 1.240.0
2025-05-16 15:40:31 +00:00
Patrick Linnane
7ce8b5a4ca
Merge pull request #19964 from Homebrew/dependabot/bundler/Library/Homebrew/vernier-1.7.1
build(deps-dev): bump vernier from 1.7.0 to 1.7.1 in /Library/Homebrew
2025-05-16 15:03:01 +00:00
Patrick Linnane
a760645936
Merge pull request #19952 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-8edb7b57e8
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-05-16 15:00:29 +00:00
Patrick Linnane
bd232b1e65
Merge pull request #19962 from Homebrew/dependabot/github_actions/docker/build-push-action-6.17.0
build(deps): bump docker/build-push-action from 6.16.0 to 6.17.0
2025-05-16 14:58:59 +00:00
Patrick Linnane
cf26ec1b3d
Merge pull request #19963 from Homebrew/dependabot/github_actions/github/codeql-action-3.28.18
build(deps): bump github/codeql-action from 3.28.17 to 3.28.18
2025-05-16 14:57:12 +00:00
Patrick Linnane
3f69fabbf0
Merge pull request #19961 from Homebrew/dependabot/github_actions/codecov/codecov-action-5.4.3
build(deps): bump codecov/codecov-action from 5.4.2 to 5.4.3
2025-05-16 14:55:41 +00:00
BrewTestBot
2358748321
Update RBI files for vernier.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-16 14:53:30 +00:00
BrewTestBot
a2f86b685d
brew vendor-gems: commit updates. 2025-05-16 14:53:24 +00:00
BrewTestBot
98ad7e3aa3
brew vendor-gems: commit updates. 2025-05-16 14:50:17 +00:00
dependabot[bot]
f53c125c0c
build(deps-dev): bump vernier from 1.7.0 to 1.7.1 in /Library/Homebrew
Bumps [vernier](https://github.com/jhawthorn/vernier) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/jhawthorn/vernier/releases)
- [Commits](https://github.com/jhawthorn/vernier/compare/v1.7.0...v1.7.1)

---
updated-dependencies:
- dependency-name: vernier
  dependency-version: 1.7.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 14:48:21 +00:00
dependabot[bot]
1dc2e07c3d
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12087 to 0.5.12104
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12087 to 0.5.12104
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12087 to 0.5.12104
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12087 to 0.5.12104
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12104
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12104
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12104
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12104
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 14:47:47 +00:00
dependabot[bot]
e271c89ee9
build(deps): bump github/codeql-action from 3.28.17 to 3.28.18
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.17 to 3.28.18.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](60168efe1c...ff0a06e83c)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 14:46:52 +00:00
dependabot[bot]
19d20a740a
build(deps): bump docker/build-push-action from 6.16.0 to 6.17.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.16.0 to 6.17.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](14487ce63c...1dc7386353)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 6.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 14:46:44 +00:00
dependabot[bot]
2723620d85
build(deps): bump codecov/codecov-action from 5.4.2 to 5.4.3
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.4.2 to 5.4.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](ad3126e916...18283e04ce)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 5.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 14:46:40 +00:00
dependabot[bot]
85aed4c430
build(deps): bump ruby/setup-ruby from 1.239.0 to 1.240.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.239.0 to 1.240.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](84684c07c1...1a0ff446f5)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.240.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 14:46:36 +00:00
Eric Knibbe
888dd7992e
Merge pull request #19958 from Homebrew/deprecating-disabling-review
docs/Deprecating-Disabling-* review
2025-05-16 14:13:22 +00:00
Eric Knibbe
d227f494ed
docs/Deprecating-Disabling-* review 2025-05-16 01:13:33 -04:00
Patrick Linnane
e4e75f5474
Merge pull request #19955 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.20
build(deps-dev): bump ruby-lsp from 0.23.19 to 0.23.20 in /Library/Homebrew
2025-05-15 23:14:28 +00:00
BrewTestBot
ce0ef75e33
Update RBI files for ruby-lsp.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-15 23:05:18 +00:00
BrewTestBot
12882a2942
brew vendor-gems: commit updates. 2025-05-15 23:05:09 +00:00
dependabot[bot]
e9edb7da20
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.19 to 0.23.20.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.19...v0.23.20)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-version: 0.23.20
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-15 22:51:46 +00:00
Patrick Linnane
736517cbdb
Merge pull request #19954 from Homebrew/dependabot/bundler/Library/Homebrew/rbs-3.9.4
build(deps-dev): bump rbs from 3.9.3 to 3.9.4 in /Library/Homebrew
2025-05-15 21:35:51 +00:00
Patrick Linnane
b1ec1e908b
Merge pull request #19953 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-1.75.6
build(deps-dev): bump rubocop from 1.75.5 to 1.75.6 in /Library/Homebrew
2025-05-15 21:35:42 +00:00
BrewTestBot
b58b8d5d77
Update RBI files for rubocop.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-15 21:25:24 +00:00
BrewTestBot
9a7835c9fd
Update RBI files for rbs.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-15 21:25:18 +00:00
BrewTestBot
00aed74cf0
brew vendor-gems: commit updates. 2025-05-15 21:25:09 +00:00
BrewTestBot
aea920b3bb
brew vendor-gems: commit updates. 2025-05-15 21:25:01 +00:00
Patrick Linnane
f1552bf3ec
Merge pull request #19956 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-80.7.1
build(deps): bump setuptools from 80.4.0 to 80.7.1 in /Library/Homebrew/formula-analytics
2025-05-15 21:23:24 +00:00
dependabot[bot]
ba9984cfd0
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 80.4.0 to 80.7.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v80.4.0...v80.7.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 80.7.1
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-15 18:28:13 +00:00
dependabot[bot]
91aa9a4856
build(deps-dev): bump rbs from 3.9.3 to 3.9.4 in /Library/Homebrew
Bumps [rbs](https://github.com/ruby/rbs) from 3.9.3 to 3.9.4.
- [Release notes](https://github.com/ruby/rbs/releases)
- [Changelog](https://github.com/ruby/rbs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby/rbs/compare/v3.9.3...v3.9.4)

---
updated-dependencies:
- dependency-name: rbs
  dependency-version: 3.9.4
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-15 18:06:31 +00:00
dependabot[bot]
a2b91764cf
build(deps-dev): bump rubocop from 1.75.5 to 1.75.6 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.75.5 to 1.75.6.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.75.5...v1.75.6)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-version: 1.75.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-15 18:05:51 +00:00
Eric Knibbe
bdf738ef10
Merge pull request #19943 from Homebrew/list-cask-versions
cmd/list: skip invalid Caskroom files
2025-05-15 16:01:57 +00:00
Eric Knibbe
28b1b74607
cmd/list: skip invalid Caskroom files 2025-05-15 11:48:36 -04:00
Eric Knibbe
ef314d9435
Merge pull request #19950 from Homebrew/generate-api-macos-latest
dev-cmd/generate-*-api: simulate latest macOS
2025-05-15 15:26:58 +00:00
Eric Knibbe
2b8d104281
dev-cmd/generate-*-api: simulate latest macOS 2025-05-15 11:06:24 -04:00
Sean Molenaar
107120e4d8
Merge pull request #19880 from Moisan/audit_bitbucket_patch
patches audit: bitbucket patches should use api
2025-05-15 12:45:30 +00:00
Patrick Linnane
32366b7e01
Merge pull request #19949 from Homebrew/portable-ruby-3.4.4
Portable Ruby 3.4.4
2025-05-15 00:25:14 +00:00
Patrick Linnane
63bc6477b5
Portable Ruby 3.4.4
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-05-14 17:13:58 -07:00
Patrick Linnane
e354d6f07f
Merge pull request #19948 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.239.0
build(deps): bump ruby/setup-ruby from 1.238.0 to 1.239.0
2025-05-15 00:03:32 +00:00
Patrick Linnane
19c4d129a5
How-To-Organize-AGM: update link
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-05-14 16:54:09 -07:00
dependabot[bot]
c5fd8e586f
build(deps): bump ruby/setup-ruby from 1.238.0 to 1.239.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.238.0 to 1.239.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](e34163cd15...84684c07c1)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.239.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-14 23:47:01 +00:00
Sean Molenaar
ca911fb446
feat: allow env for write_jar_script 2025-05-14 11:56:31 +02:00
Carlo Cabrera
1399d2e98a
Merge pull request #19941 from Homebrew/revert-19818-fix-trash
Revert "cask/artifact/abstract_uninstall: fix `trash_paths`"
2025-05-14 02:06:41 +00:00
Patrick Linnane
13d9d9803f
Merge pull request #19942 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.19
build(deps-dev): bump ruby-lsp from 0.23.17 to 0.23.19 in /Library/Homebrew
2025-05-13 20:17:52 +00:00
Patrick Linnane
7bd41e7c19
Merge pull request #19944 from xty/fedora
docs/Homebrew-on-Linux: update instructions for Fedora-based distros
2025-05-13 20:07:43 +00:00
BrewTestBot
5b6dbafb4c
Update RBI files for ruby-lsp.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-13 20:06:51 +00:00
BrewTestBot
a6fa333524
brew vendor-gems: commit updates. 2025-05-13 20:06:41 +00:00
dependabot[bot]
dafc62904e
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.17 to 0.23.19.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.17...v0.23.19)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-version: 0.23.19
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-13 18:07:44 +00:00
XTY
f39cb527fd
docs/Homebrew-on-Linux: update instructions for Fedora-based distros 2025-05-14 02:02:34 +08:00
Carlo Cabrera
7cd1972f39
Revert "cask/artifact/abstract_uninstall: fix trash_paths" 2025-05-14 01:39:47 +08:00
Bo Anderson
17de33e9ef
Merge pull request #19938 from Homebrew/cgi
Phase out using `cgi` library
2025-05-13 00:48:27 +00:00
Bo Anderson
923be69785
Phase out using cgi library 2025-05-13 01:33:14 +01:00
Patrick Linnane
75a5f03f75
Merge pull request #19937 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.238.0
build(deps): bump ruby/setup-ruby from 1.237.0 to 1.238.0
2025-05-12 21:42:49 +00:00
Patrick Linnane
088bd26f5d
Merge pull request #19933 from Homebrew/dependabot/bundler/Library/Homebrew/language_server-protocol-3.17.0.5
build(deps-dev): bump language_server-protocol from 3.17.0.4 to 3.17.0.5 in /Library/Homebrew
2025-05-12 21:38:16 +00:00
Patrick Linnane
0461237c03
Merge pull request #19934 from Homebrew/dependabot/bundler/Library/Homebrew/diff-lcs-1.6.2
build(deps-dev): bump diff-lcs from 1.6.1 to 1.6.2 in /Library/Homebrew
2025-05-12 21:37:41 +00:00
Patrick Linnane
47a2497202
Merge pull request #19935 from Homebrew/dependabot/bundler/Library/Homebrew/json-2.12.0
build(deps-dev): bump json from 2.11.3 to 2.12.0 in /Library/Homebrew
2025-05-12 21:36:31 +00:00
Patrick Linnane
e08aa7dd02
Merge pull request #19932 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-db92abd70b
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-05-12 21:36:20 +00:00
BrewTestBot
892d408f58
brew vendor-gems: commit updates. 2025-05-12 21:27:11 +00:00
BrewTestBot
241f74a797
brew vendor-gems: commit updates. 2025-05-12 21:27:03 +00:00
BrewTestBot
2d188a3071
brew vendor-gems: commit updates. 2025-05-12 21:26:46 +00:00
Patrick Linnane
9272ac9668
Merge pull request #19936 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-80.4.0
build(deps): bump setuptools from 80.3.1 to 80.4.0 in /Library/Homebrew/formula-analytics
2025-05-12 21:26:41 +00:00
BrewTestBot
ef9751b040
brew vendor-gems: commit updates. 2025-05-12 21:26:24 +00:00
dependabot[bot]
d7010dce07
build(deps): bump ruby/setup-ruby from 1.237.0 to 1.238.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.237.0 to 1.238.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](eaecf785f6...e34163cd15)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.238.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 18:44:25 +00:00
dependabot[bot]
9686d7063c
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 80.3.1 to 80.4.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v80.3.1...v80.4.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 80.4.0
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 18:31:31 +00:00
dependabot[bot]
68443f61a8
build(deps-dev): bump json from 2.11.3 to 2.12.0 in /Library/Homebrew
Bumps [json](https://github.com/ruby/json) from 2.11.3 to 2.12.0.
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/json/compare/v2.11.3...v2.12.0)

---
updated-dependencies:
- dependency-name: json
  dependency-version: 2.12.0
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 18:25:51 +00:00
dependabot[bot]
0b4e885434
build(deps-dev): bump diff-lcs from 1.6.1 to 1.6.2 in /Library/Homebrew
Bumps [diff-lcs](https://github.com/halostatue/diff-lcs) from 1.6.1 to 1.6.2.
- [Changelog](https://github.com/halostatue/diff-lcs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/halostatue/diff-lcs/compare/v1.6.1...v1.6.2)

---
updated-dependencies:
- dependency-name: diff-lcs
  dependency-version: 1.6.2
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 18:25:43 +00:00
dependabot[bot]
ed913ae061
build(deps-dev): bump language_server-protocol in /Library/Homebrew
Bumps [language_server-protocol](https://github.com/mtsmfm/language_server-protocol-ruby) from 3.17.0.4 to 3.17.0.5.
- [Changelog](https://github.com/mtsmfm/language_server-protocol-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mtsmfm/language_server-protocol-ruby/compare/v3.17.0.4...v3.17.0.5)

---
updated-dependencies:
- dependency-name: language_server-protocol
  dependency-version: 3.17.0.5
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 18:25:23 +00:00
dependabot[bot]
8b6183c7db
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12083 to 0.5.12087
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12083 to 0.5.12087
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12083 to 0.5.12087
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12083 to 0.5.12087
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12087
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12087
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12087
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12087
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 18:24:55 +00:00
Patrick Linnane
c9f58f83a4
Merge pull request #19931 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-05-11 01:35:51 +00:00
BrewTestBot
c25244a0f2
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-05-11 00:31:11 +00:00
Eric Knibbe
b0c5f613b9
Merge pull request #19929 from Homebrew/cask-shell-completions
cask: document shell completion stanzas
2025-05-10 17:17:43 +00:00
Bo Anderson
bb33840924
Merge pull request #19930 from Homebrew/dug-cmd-disabled-wording
Improve readability of disabled command message
2025-05-10 17:02:33 +00:00
Douglas Eichelberger
8253e89eea
Improve readability of disabled command message 2025-05-10 09:23:34 -07:00
Patrick Linnane
c089d8b9da
Merge pull request #19924 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-6fd83145b1
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-05-10 00:23:04 +00:00
BrewTestBot
bf0e09c847
brew vendor-gems: commit updates. 2025-05-10 00:10:59 +00:00
dependabot[bot]
0ceeb934d5
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12079 to 0.5.12083
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12079 to 0.5.12083
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12079 to 0.5.12083
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12079 to 0.5.12083
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12083
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12083
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12083
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12083
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-10 00:09:02 +00:00
Patrick Linnane
40c31c69f6
Merge pull request #19928 from Homebrew/dependabot/bundler/Library/Homebrew/spoom-1.6.3
build(deps-dev): bump spoom from 1.6.2 to 1.6.3 in /Library/Homebrew
2025-05-09 21:39:46 +00:00
BrewTestBot
4c393ffe40
Update RBI files for spoom.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-09 21:28:37 +00:00
BrewTestBot
59296b855f
brew vendor-gems: commit updates. 2025-05-09 21:28:29 +00:00
dependabot[bot]
5b68c3d6b6
build(deps-dev): bump spoom from 1.6.2 to 1.6.3 in /Library/Homebrew
Bumps [spoom](https://github.com/Shopify/spoom) from 1.6.2 to 1.6.3.
- [Release notes](https://github.com/Shopify/spoom/releases)
- [Commits](https://github.com/Shopify/spoom/compare/v1.6.2...v1.6.3)

---
updated-dependencies:
- dependency-name: spoom
  dependency-version: 1.6.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-09 21:22:29 +00:00
Patrick Linnane
9b94404891
Merge pull request #19926 from Homebrew/dependabot/bundler/Library/Homebrew/rbi-0.3.3
build(deps-dev): bump rbi from 0.3.2 to 0.3.3 in /Library/Homebrew
2025-05-09 20:59:55 +00:00
BrewTestBot
f4c6dd282d
Update RBI files for rbi.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-09 20:48:54 +00:00
BrewTestBot
b8639a5f48
brew vendor-gems: commit updates. 2025-05-09 20:48:46 +00:00
dependabot[bot]
58004e6ffb
build(deps-dev): bump rbi from 0.3.2 to 0.3.3 in /Library/Homebrew
Bumps [rbi](https://github.com/Shopify/rbi) from 0.3.2 to 0.3.3.
- [Release notes](https://github.com/Shopify/rbi/releases)
- [Commits](https://github.com/Shopify/rbi/compare/v0.3.2...v0.3.3)

---
updated-dependencies:
- dependency-name: rbi
  dependency-version: 0.3.3
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-09 20:45:49 +00:00
Patrick Linnane
e402ad336e
Merge pull request #19925 from Homebrew/dependabot/bundler/Library/Homebrew/parallel_tests-5.2.0
build(deps-dev): bump parallel_tests from 5.1.0 to 5.2.0 in /Library/Homebrew
2025-05-09 20:16:51 +00:00
Patrick Linnane
9fa7da4db8
Merge pull request #19927 from Homebrew/dependabot/bundler/Library/Homebrew/rbs-3.9.3
build(deps-dev): bump rbs from 3.9.2 to 3.9.3 in /Library/Homebrew
2025-05-09 20:15:59 +00:00
BrewTestBot
af6de739ca
Update RBI files for parallel_tests.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-09 18:59:32 +00:00
BrewTestBot
f4bc811a1c
brew vendor-gems: commit updates. 2025-05-09 18:59:25 +00:00
BrewTestBot
becc36a6da
Update RBI files for rbs.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-09 18:58:53 +00:00
BrewTestBot
ea8cc264b2
brew vendor-gems: commit updates. 2025-05-09 18:58:44 +00:00
Eric Knibbe
0838ceda90
cask: document shell completion stanzas
Also, allow them to be given a `target:` parameter.
2025-05-09 14:47:26 -04:00
dependabot[bot]
b30a0c69b5
build(deps-dev): bump rbs from 3.9.2 to 3.9.3 in /Library/Homebrew
Bumps [rbs](https://github.com/ruby/rbs) from 3.9.2 to 3.9.3.
- [Release notes](https://github.com/ruby/rbs/releases)
- [Changelog](https://github.com/ruby/rbs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby/rbs/compare/v3.9.2...v3.9.3)

---
updated-dependencies:
- dependency-name: rbs
  dependency-version: 3.9.3
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-09 18:08:31 +00:00
dependabot[bot]
5e931071f8
build(deps-dev): bump parallel_tests in /Library/Homebrew
Bumps [parallel_tests](https://github.com/grosser/parallel_tests) from 5.1.0 to 5.2.0.
- [Changelog](https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md)
- [Commits](https://github.com/grosser/parallel_tests/compare/v5.1.0...v5.2.0)

---
updated-dependencies:
- dependency-name: parallel_tests
  dependency-version: 5.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-09 18:07:57 +00:00
Mike McQuaid
a4cf69f261
Merge pull request #19923 from botantony/autobump
tap: get autobump list from `autobump.txt` file
2025-05-09 15:01:24 +00:00
botantony
56d91aaf28
tap: get autobump list from autobump.txt file
Signed-off-by: botantony <antonsm21@gmail.com>
2025-05-09 15:32:30 +02:00
Mike McQuaid
6f39076b3c
Merge pull request #19922 from Homebrew/brew_bundle_add_create
bundle/adder: create Brewfile if it doesn't exist.
2025-05-09 12:53:12 +00:00
Mike McQuaid
ef4bea60a4
bundle/adder: create Brewfile if it doesn't exist.
This provides a nicer interface into using `brew bundle add` as a first
command.
2025-05-09 12:58:06 +01:00
Mike McQuaid
bfce68a6be
Merge pull request #19921 from Homebrew/cask_args-combine
bundle/dsl: combine cask_args calls
2025-05-09 11:21:00 +00:00
Bo Anderson
288984bb0f
bundle/dsl: combine cask_args calls 2025-05-09 08:06:06 +01:00
Patrick Linnane
0be3fbdea7
Merge pull request #19917 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-2ba6a5281d
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-05-09 04:52:06 +00:00
Bo Anderson
c325ec2826
Merge pull request #19916 from scpeters/fix_brew_prof
dev-cmd/prof: require fileutils
2025-05-09 02:17:52 +00:00
BrewTestBot
3fe3f1f640
brew vendor-gems: commit updates. 2025-05-09 02:11:11 +00:00
Bevan Kay
4312f3a729
Merge pull request #19918 from Homebrew/cask-upgrade-ask
cmd/upgrade: only ask about cask upgrade with `--ask`
2025-05-09 01:20:36 +00:00
Bevan Kay
1c138a613b
cmd/upgrade: only ask about cask upgrade with --ask 2025-05-09 09:42:15 +10:00
Steve Peters
3dd87e6d17 dev-cmd/prof: require fileutils
Fixes error when running `brew prof`:
uninitialized constant Homebrew::DevCmd::Prof::FileUtils
2025-05-08 13:41:11 -07:00
dependabot[bot]
cc4a1cf0ae
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12070 to 0.5.12079
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12070 to 0.5.12079
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12070 to 0.5.12079
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12070 to 0.5.12079
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12079
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12079
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12079
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12079
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 18:04:55 +00:00
Mike McQuaid
c1d29f65a5
Merge pull request #19892 from tyuwags/master
`brew install--ask` for casks
2025-05-08 10:45:19 +00:00
Mike McQuaid
9ee2239f2c
Merge pull request #19915 from Homebrew/SMillerDev-patch-1
fix: make the "Open Pull Request" doc less daunting
2025-05-08 10:42:14 +00:00
Sean Molenaar
aa66185489
fix: make the "Open Pull Request" doc less daunting 2025-05-08 09:48:54 +02:00
Patrick Linnane
dda1befb79
Merge pull request #19912 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-8f3468f80a
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-05-08 02:46:49 +00:00
BrewTestBot
6b24243171
brew vendor-gems: commit updates. 2025-05-08 02:35:53 +00:00
dependabot[bot]
de3a9fcb47
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12067 to 0.5.12070
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12067 to 0.5.12070
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12067 to 0.5.12070
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12067 to 0.5.12070
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12070
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12070
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12070
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12070
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 02:31:39 +00:00
Ruoyu Zhong
b94a6de0cd
Merge pull request #19914 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-05-08 01:12:42 +00:00
BrewTestBot
96230004ff
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-05-08 00:29:01 +00:00
Eric Knibbe
49b1d4b4b1
Merge pull request #19913 from Homebrew/dependabot/bundler/Library/Homebrew/spoom-1.6.2
build(deps-dev): bump spoom from 1.6.1 to 1.6.2 in /Library/Homebrew
2025-05-07 20:06:29 +00:00
dependabot[bot]
f62b5b6034
build(deps-dev): bump spoom from 1.6.1 to 1.6.2 in /Library/Homebrew
Bumps [spoom](https://github.com/Shopify/spoom) from 1.6.1 to 1.6.2.
- [Release notes](https://github.com/Shopify/spoom/releases)
- [Commits](https://github.com/Shopify/spoom/compare/v1.6.1...v1.6.2)

---
updated-dependencies:
- dependency-name: spoom
  dependency-version: 1.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 18:06:08 +00:00
Thibaut Hérault
3799c4b77d
Merge branch 'master' into master 2025-05-07 12:52:16 -04:00
thibhero
76e7a13332 applying brew tests, typecheck, style 2025-05-07 12:29:32 -04:00
thibhero
499a9b9dae changing to installed_formulae, as its checked if it should be installed 2025-05-07 12:08:46 -04:00
thibhero
f875dbc8a7 Implementing ask input with casks
renamed `ask` to `ask_formulae`
moving option `--ask` to work with formulae and casks
2025-05-07 12:07:29 -04:00
botantony
6cea5ef4f0
cask/dsl: exclude from autobump if version is :latest
Signed-off-by: botantony <antonsm21@gmail.com>
2025-05-07 17:25:58 +02:00
botantony
4373aad153
cask/dsl: set no_autobump! if :extract_plist livecheck strategy is used
Signed-off-by: botantony <antonsm21@gmail.com>
2025-05-07 14:07:36 +02:00
Ruoyu Zhong
e5308b0245
Merge pull request #19908 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-4a9ad18406
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-05-06 19:40:09 +00:00
Ruoyu Zhong
eeda784f83
Merge pull request #19909 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.17
build(deps-dev): bump ruby-lsp from 0.23.16 to 0.23.17 in /Library/Homebrew
2025-05-06 19:38:49 +00:00
Ruoyu Zhong
7493fd4dd4
Merge pull request #19907 from Homebrew/dependabot/bundler/Library/Homebrew/rspec-155a31644a
build(deps-dev): bump rspec-mocks from 3.13.3 to 3.13.4 in /Library/Homebrew in the rspec group
2025-05-06 19:37:35 +00:00
BrewTestBot
ad72748cb9
Update RBI files for ruby-lsp.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-06 19:28:03 +00:00
BrewTestBot
664798afea
brew vendor-gems: commit updates. 2025-05-06 19:27:54 +00:00
BrewTestBot
2867da98b9
brew vendor-gems: commit updates. 2025-05-06 19:27:52 +00:00
BrewTestBot
dffe01a859
brew vendor-gems: commit updates. 2025-05-06 19:27:48 +00:00
dependabot[bot]
f800e211bc
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.16 to 0.23.17.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.16...v0.23.17)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-version: 0.23.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-06 18:48:37 +00:00
dependabot[bot]
b2c8706ea1
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12060 to 0.5.12067
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12060 to 0.5.12067
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12060 to 0.5.12067
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12060 to 0.5.12067
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12067
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12067
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12067
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12067
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-06 18:48:05 +00:00
dependabot[bot]
c02d788517
build(deps-dev): bump rspec-mocks
Bumps the rspec group in /Library/Homebrew with 1 update: [rspec-mocks](https://github.com/rspec/rspec).


Updates `rspec-mocks` from 3.13.3 to 3.13.4
- [Changelog](https://github.com/rspec/rspec/blob/rspec-mocks-v3.13.4/rspec-mocks/Changelog.md)
- [Commits](https://github.com/rspec/rspec/compare/rspec-mocks-v3.13.3...rspec-mocks-v3.13.4)

---
updated-dependencies:
- dependency-name: rspec-mocks
  dependency-version: 3.13.4
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: rspec
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-06 18:47:34 +00:00
Mike McQuaid
bad6554dbb
Merge pull request #19902 from Homebrew/utils_github_pr_error
utils/github: improve PR creation error message.
2025-05-06 12:53:05 +00:00
Mike McQuaid
97468c014c
Merge pull request #19905 from Homebrew/brew_services_root_bootsnap
brew.sh: don't run `sudo brew services` with Bootsnap.
2025-05-06 10:28:10 +00:00
Mike McQuaid
5bfa27aa79
brew.sh: don't run sudo brew services with Bootsnap.
This is necessary to avoid permission errors.
2025-05-06 11:16:46 +01:00
Mike McQuaid
faf27ae35f
utils/github: improve PR creation error message.
This may help with debugging why this has failed.
2025-05-06 10:11:10 +01:00
Patrick Linnane
541d8879c4
Merge pull request #19900 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-1.75.5
build(deps-dev): bump rubocop from 1.75.2 to 1.75.5 in /Library/Homebrew
2025-05-06 03:59:42 +00:00
Patrick Linnane
6169cd526c
Merge branch 'master' into dependabot/bundler/Library/Homebrew/rubocop-1.75.5 2025-05-05 15:18:06 -07:00
Patrick Linnane
c6a2fa335d
brew style --fix 2025-05-05 14:35:08 -07:00
Patrick Linnane
2af5eab36d
Merge pull request #19899 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-710de7e78e
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-05-05 21:25:39 +00:00
Patrick Linnane
e3e1b43f3a
Merge pull request #19901 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-80.3.1
build(deps): bump setuptools from 80.1.0 to 80.3.1 in /Library/Homebrew/formula-analytics
2025-05-05 21:25:19 +00:00
Patrick Linnane
7f6d6e01fb
Merge pull request #19898 from Homebrew/dependabot/github_actions/actions/create-github-app-token-2.0.6
build(deps): bump actions/create-github-app-token from 2.0.3 to 2.0.6
2025-05-05 21:24:59 +00:00
Patrick Linnane
f77ff1db1e
Merge pull request #19897 from Homebrew/dependabot/github_actions/github/codeql-action-3.28.17
build(deps): bump github/codeql-action from 3.28.16 to 3.28.17
2025-05-05 21:24:52 +00:00
BrewTestBot
75e184049c
Update RBI files for rubocop.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-05 20:35:59 +00:00
BrewTestBot
409c79a9c0
brew vendor-gems: commit updates. 2025-05-05 20:35:36 +00:00
BrewTestBot
0b8e8b3bb0
brew vendor-gems: commit updates. 2025-05-05 20:35:30 +00:00
dependabot[bot]
64f49828d9
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 80.1.0 to 80.3.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v80.1.0...v80.3.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 80.3.1
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 18:56:28 +00:00
dependabot[bot]
26d31f2f32
build(deps-dev): bump rubocop from 1.75.2 to 1.75.5 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.75.2 to 1.75.5.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.75.2...v1.75.5)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-version: 1.75.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 18:50:47 +00:00
dependabot[bot]
9b12f7c25d
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12053 to 0.5.12060
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12053 to 0.5.12060
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12053 to 0.5.12060
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12053 to 0.5.12060
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12060
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12060
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12060
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12060
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 18:47:42 +00:00
dependabot[bot]
bc2808310a
build(deps): bump actions/create-github-app-token from 2.0.3 to 2.0.6
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 2.0.3 to 2.0.6.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](30bf6253fa...df432ceedc)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 2.0.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 18:33:58 +00:00
dependabot[bot]
cab19e06cb
build(deps): bump github/codeql-action from 3.28.16 to 3.28.17
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.16 to 3.28.17.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](28deaeda66...60168efe1c)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.17
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 18:33:47 +00:00
Patrick Linnane
d301f5ff7e
Merge pull request #19895 from alex391/remove-refrence-to-force-auto-update-from-docs
Remove the sentence referencing --force-auto-update from the documentation
2025-05-05 17:03:09 +00:00
Alex Leute
1add568a6f
Remove the sentence referencing --force-auto-update
Because it was removed in 9ac3182
2025-05-04 23:49:02 -04:00
Bo Anderson
7617ac135f
Merge pull request #19888 from Homebrew/remove-es-kibana-refs
formula_auditor: remove elasticsearch and kibana refs
2025-05-04 04:38:15 +00:00
Bo Anderson
1dc5f5c55c
Merge pull request #19889 from Homebrew/update-eol_data
Update eol_data for API changes
2025-05-04 04:37:50 +00:00
Sam Ford
69dcbacb71
shared_audits: prevent duplicate eol_data fetches
The `eol_data` method uses `@eol_data["#{product}/#{cycle}"] ||=`,
which can unncessarily allow a duplicate API call if the same
product/cycle combination was previously tried but returned a 404
(Not Found) response. In this scenario, the value would be `nil` but
the existing logic doesn't check whether this is a missing key or a
`nil` value. If the key is present, we shouldn't make the same
request again.

This updates the method to return the existing value if the key
exists, which effectively prevents duplicate fetches. This new logic
only modifies `@eol_data` if `curl` is successful, so it does allow
the request to be made again if it failed before.

That said, this shouldn't normally be an issue and this is mostly
about refactoring the method to allow for nicer code organization.
This approach reduces the `begin` block to only the `JSON.parse` call,
which allows us to use `return unless result.status.success?` (this
previously led to a RuboCop offense because it was called within a
`begin` block).
2025-05-03 21:15:11 -04:00
Sam Ford
53c0780d85
shared_audits_spec: guard against nil value
The return value from `eol_data` can be `nil`, so we should use a
safe navigation operator before `#dig`.
2025-05-03 20:49:53 -04:00
Sam Ford
98b919f672
shared_audits_spec: use generic JSON values
This updates `eol_json_text` to use generic values (instead of values
from nodejs) and to omit some unused fields.
2025-05-03 20:48:20 -04:00
thibhero
5013c17474 formatting correctly with brew style 2025-05-03 15:39:43 -04:00
thibhero
fd97539b9e Merge remote-tracking branch 'tyuwags/master' 2025-05-03 15:24:27 -04:00
thibhero
96ca8d2e07 displaying a warning if ask is used with casks 2025-05-03 15:23:42 -04:00
thibhero
1416da262b returning if formulae is empty 2025-05-03 15:23:20 -04:00
Daeho Ro
2493be79cc
utils/shared_audits: add eol_data test 2025-05-04 02:10:08 +09:00
Sam Ford
85684f43bd
Update eol_data for API changes
The endoflife.date API has been updated, so this modifies the URL in
`SharedAudits.eol_data` to use the up to date URL and modifies the
related logic in `FormulaAuditor.audit_eol` to work with the new
response format. Specifically, there is now an `isEol` boolean value
and the EOL date is found in `eolFrom`.

One wrinkle of the new setup is that 404 responses now return HTML
content even if the request includes an `Accept: application/json`
header. This handles these types of responses by catching
`JSON::ParserError` but ideally we would parse the response headers
and use `Utils::Curl.http_status_ok?` to check for a good response
status before trying to parse the response body as JSON.
2025-05-03 12:26:54 -04:00
Rui Chen
9c2ac58709
formula_auditor: remove elasticsearch and kibana refs
Signed-off-by: Rui Chen <rui@chenrui.dev>
2025-05-03 10:58:13 -04:00
Patrick Linnane
97f9837a13
Merge pull request #19886 from botantony/no_autobump
autobump_constants: add `bumped_by_upstream` reason
2025-05-03 03:35:49 +00:00
botantony
fa26976b1d
autobump_constants: add bumped_by_upstream reason
Signed-off-by: botantony <antonsm21@gmail.com>
2025-05-03 02:00:37 +02:00
Justin Rackliffe
efa2786732 Resolving CI style errors with whitespace that are not flagged using stle locally 2025-05-02 15:00:22 -04:00
Patrick Linnane
01ffa85e9d
Merge pull request #19884 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-3af9ea9185
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-05-02 18:17:32 +00:00
BrewTestBot
4d7201f12d
brew vendor-gems: commit updates. 2025-05-02 18:07:23 +00:00
dependabot[bot]
ac48cc893f
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12048 to 0.5.12053
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12048 to 0.5.12053
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12048 to 0.5.12053
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12048 to 0.5.12053
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12053
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12053
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12053
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12053
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02 18:02:52 +00:00
Mike McQuaid
93e0e85352
Merge pull request #19882 from Homebrew/forbid_casks_var_output
cask/installer: output the correct environment variable.
2025-05-02 15:44:27 +00:00
Justin Rackliffe
3761d70785 Revised conditional logic to match CONTRIBUTING.md recommendations on adhering to brew style findings. 2025-05-02 11:33:48 -04:00
Mike McQuaid
7657b68ce4
Merge pull request #19883 from Homebrew/redis-8
formula_auditor: remove redis version limit
2025-05-02 14:15:10 +00:00
Mike McQuaid
eae31bacdc
cask/installer: output the correct environment variable.
We previously would output `HOMEBREW_FORBIDDEN_CASKS` for both when it
was used and when `HOMEBREW_FORBID_CASKS` was set.
2025-05-02 14:38:26 +01:00
Bevan Kay
285b5074b9
formula_auditor: remove redis version limit 2025-05-02 23:27:52 +10:00
Justin Rackliffe
d73b0079e9 Resolve the corner case of anonymous OCI registry access (#16669). 2025-05-02 08:22:01 -04:00
Mike McQuaid
77b3a6e848
Merge pull request #19881 from Homebrew/max-wait-default
cmd/services: change --max-wait default
2025-05-02 07:11:02 +00:00
Mike McQuaid
d7dedbd3ed
Merge pull request #19863 from Homebrew/service-stop-domain-fix
services: try multiple domains when stopping
2025-05-02 07:10:45 +00:00
Mike McQuaid
4219c60c12
Merge pull request #19877 from Homebrew/respond-to-cleanup
standalone/init: cleanup respond_to? check
2025-05-02 07:09:57 +00:00
Mike McQuaid
b44a475728
Merge pull request #19873 from botantony/github-runner-matrix
github_runner_matrix: emulate plaform when sending `compatible?` requests
2025-05-02 07:09:40 +00:00
Mike McQuaid
dde40ca393
Merge pull request #19865 from Homebrew/forbid_casks
Add `HOMEBREW_FORBID_CASKS` to allow forbidding all casks.
2025-05-02 07:08:55 +00:00
Bo Anderson
ae58b3ef21
services: try multiple domains when stopping 2025-05-02 06:19:53 +01:00
Bo Anderson
d3591482b2
cmd/services: change --max-wait default 2025-05-02 06:16:55 +01:00
Patrick Linnane
ad6a301d1b
Merge pull request #19879 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.237.0
build(deps): bump ruby/setup-ruby from 1.235.0 to 1.237.0
2025-05-02 04:18:22 +00:00
Patrick Linnane
e5569dbb22
Merge pull request #19878 from Homebrew/dependabot/github_actions/actions/create-github-app-token-2.0.3
build(deps): bump actions/create-github-app-token from 2.0.2 to 2.0.3
2025-05-02 04:17:58 +00:00
Thierry Moisan
84704c5587
patches audit: bitbucket patches should use api 2025-05-01 22:53:42 -04:00
Bo Anderson
1d025f9f8f
Merge pull request #19876 from Homebrew/gha-frozen-string-fix
utils/github/actions: fix frozen string handling
2025-05-02 01:17:02 +00:00
dependabot[bot]
babc5c0039
build(deps): bump ruby/setup-ruby from 1.235.0 to 1.237.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.235.0 to 1.237.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](dffc446db9...eaecf785f6)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.237.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02 00:45:44 +00:00
dependabot[bot]
fec6f7676d
build(deps): bump actions/create-github-app-token from 2.0.2 to 2.0.3
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](3ff1caaa28...30bf6253fa)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 2.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02 00:45:39 +00:00
Bo Anderson
dbf180cb89
standalone/init: cleanup respond_to? check 2025-05-02 01:40:13 +01:00
Bo Anderson
90a372b433
Merge pull request #19875 from Homebrew/lazy_object-fix
lazy_object: fix `__getobj__` signature
2025-05-02 00:38:58 +00:00
Bo Anderson
e35709cb43
utils/github/actions: fix frozen string handling 2025-05-02 01:35:04 +01:00
Patrick Linnane
731179a40a
Merge pull request #19874 from Homebrew/dependabot-rspec-group
dependabot: Group RSpec updates
2025-05-02 00:33:58 +00:00
Bo Anderson
6403d1379e
lazy_object: fix __getobj__ signature 2025-05-02 01:26:58 +01:00
Patrick Linnane
080ade602a
Merge pull request #19872 from Homebrew/dependabot/bundler/Library/Homebrew/rspec-expectations-3.13.4
build(deps-dev): bump rspec-expectations from 3.13.3 to 3.13.4 in /Library/Homebrew
2025-05-01 23:20:27 +00:00
Patrick Linnane
e79a0530d6
dependabot: Group RSpec updates
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-05-01 16:14:02 -07:00
BrewTestBot
b46ad9b838
Update RBI files for rspec-expectations.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-01 23:11:03 +00:00
BrewTestBot
cc9e91d997
brew vendor-gems: commit updates. 2025-05-01 23:10:55 +00:00
dependabot[bot]
a37be23616
build(deps-dev): bump rspec-expectations in /Library/Homebrew
Bumps [rspec-expectations](https://github.com/rspec/rspec-expectations) from 3.13.3 to 3.13.4.
- [Release notes](https://github.com/rspec/rspec-expectations/releases)
- [Changelog](https://github.com/rspec/rspec-expectations/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-expectations/commits)

---
updated-dependencies:
- dependency-name: rspec-expectations
  dependency-version: 3.13.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-01 23:08:20 +00:00
Patrick Linnane
dc971c3a86
Merge pull request #19868 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-9a544301f8
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-05-01 22:54:17 +00:00
Patrick Linnane
b20a6ea5ea
Merge pull request #19871 from Homebrew/dependabot/bundler/Library/Homebrew/rspec-mocks-3.13.3
build(deps-dev): bump rspec-mocks from 3.13.2 to 3.13.3 in /Library/Homebrew
2025-05-01 22:53:30 +00:00
Patrick Linnane
fa77e01765
Merge pull request #19870 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.16
build(deps-dev): bump ruby-lsp from 0.23.15 to 0.23.16 in /Library/Homebrew
2025-05-01 22:53:07 +00:00
Patrick Linnane
f3d26a3564
Merge pull request #19869 from Homebrew/dependabot/bundler/Library/Homebrew/rspec-support-3.13.3
build(deps-dev): bump rspec-support from 3.13.2 to 3.13.3 in /Library/Homebrew
2025-05-01 22:52:49 +00:00
BrewTestBot
0a7c4db1bf
brew vendor-gems: commit updates. 2025-05-01 22:43:49 +00:00
BrewTestBot
8ca9a1f121
Update RBI files for rspec-mocks.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-01 22:43:30 +00:00
BrewTestBot
c250e2d298
Update RBI files for ruby-lsp.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-01 22:43:27 +00:00
BrewTestBot
6d7b01c9b7
brew vendor-gems: commit updates. 2025-05-01 22:43:23 +00:00
BrewTestBot
9b12c9bf35
brew vendor-gems: commit updates. 2025-05-01 22:43:18 +00:00
BrewTestBot
a92fe2c81e
Update RBI files for rspec-support.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-05-01 22:43:11 +00:00
BrewTestBot
36dbe44e0f
brew vendor-gems: commit updates. 2025-05-01 22:43:05 +00:00
botantony
d8144ce5e3
github_runner_matrix: emulate plaform when sending compatible? requests
Signed-off-by: botantony <antonsm21@gmail.com>
2025-05-01 23:25:23 +02:00
dependabot[bot]
8e0a3649fc
build(deps-dev): bump rspec-mocks in /Library/Homebrew
Bumps [rspec-mocks](https://github.com/rspec/rspec-mocks) from 3.13.2 to 3.13.3.
- [Release notes](https://github.com/rspec/rspec-mocks/releases)
- [Changelog](https://github.com/rspec/rspec-mocks/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-mocks/commits)

---
updated-dependencies:
- dependency-name: rspec-mocks
  dependency-version: 3.13.3
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-01 18:17:51 +00:00
dependabot[bot]
2ed7470be1
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.15 to 0.23.16.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.15...v0.23.16)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-version: 0.23.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-01 18:17:23 +00:00
dependabot[bot]
ff51c9603e
build(deps-dev): bump rspec-support in /Library/Homebrew
Bumps [rspec-support](https://github.com/rspec/rspec) from 3.13.2 to 3.13.3.
- [Changelog](https://github.com/rspec/rspec/blob/rspec-support-v3.13.3/rspec-support/Changelog.md)
- [Commits](https://github.com/rspec/rspec/compare/rspec-support-v3.13.2...rspec-support-v3.13.3)

---
updated-dependencies:
- dependency-name: rspec-support
  dependency-version: 3.13.3
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-01 18:17:08 +00:00
dependabot[bot]
7ac55359a2
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12046 to 0.5.12048
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12046 to 0.5.12048
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12046 to 0.5.12048
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12046 to 0.5.12048
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12048
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12048
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12048
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12048
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-01 18:16:47 +00:00
Mike McQuaid
30d9ea24c5
Add HOMEBREW_FORBID_CASKS to allow forbidding all casks.
`HOMEBREW_FORBIDDEN_CASKS` allows forbidding specific casks but, in some
cases, you may wish to forbid all casks from installation.
2025-05-01 09:48:53 +01:00
Mike McQuaid
bbac5be4d3
Merge pull request #19864 from Homebrew/api-utf8
api: force encoding to UTF-8
2025-05-01 07:34:57 +00:00
Mike McQuaid
d317adb0d5
Merge pull request #19862 from tyuwags/master
Setting `HOMEBREW_ASK` to nil in case it was set before, fixes #19861
2025-05-01 07:24:15 +00:00
Bo Anderson
4c19e11abe
api: force encoding to UTF-8 2025-05-01 07:25:18 +01:00
thibhero
d19de85896 Setting HOMEBREW_ASK to nil in case it was set before 2025-04-30 23:50:07 -04:00
Patrick Linnane
d8b96a4385
Merge pull request #19859 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-094bd82d42
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-30 19:31:18 +00:00
Patrick Linnane
d36e5bfa2e
Merge pull request #19860 from Homebrew/dependabot/bundler/Library/Homebrew/public_suffix-6.0.2
build(deps): bump public_suffix from 6.0.1 to 6.0.2 in /Library/Homebrew
2025-04-30 19:30:40 +00:00
BrewTestBot
fabd49d34c
brew vendor-gems: commit updates. 2025-04-30 19:21:23 +00:00
BrewTestBot
72267c715b
brew vendor-gems: commit updates. 2025-04-30 19:21:11 +00:00
Patrick Linnane
aea398b650
Merge pull request #19858 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-80.1.0
build(deps): bump setuptools from 80.0.0 to 80.1.0 in /Library/Homebrew/formula-analytics
2025-04-30 19:19:49 +00:00
dependabot[bot]
86ea24ce3c
build(deps): bump public_suffix from 6.0.1 to 6.0.2 in /Library/Homebrew
Bumps [public_suffix](https://github.com/weppos/publicsuffix-ruby) from 6.0.1 to 6.0.2.
- [Changelog](https://github.com/weppos/publicsuffix-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/weppos/publicsuffix-ruby/compare/v6.0.1...v6.0.2)

---
updated-dependencies:
- dependency-name: public_suffix
  dependency-version: 6.0.2
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-30 18:26:45 +00:00
dependabot[bot]
e1cbfa7729
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12043 to 0.5.12046
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12043 to 0.5.12046
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12043 to 0.5.12046
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12043 to 0.5.12046
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12046
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12046
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12046
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12046
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-30 18:25:57 +00:00
dependabot[bot]
c8e5ed7329
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 80.0.0 to 80.1.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v80.0.0...v80.1.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 80.1.0
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-30 18:23:12 +00:00
Mike McQuaid
beef5fbae7
Merge pull request #19855 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-04-30 16:11:51 +00:00
Mike McQuaid
e33222b9c1
formula: remove unneeded attr_reader. 2025-04-30 16:42:29 +01:00
BrewTestBot
5e5f5b22df
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-04-30 16:41:49 +01:00
Mike McQuaid
b226a39585
Merge pull request #19852 from Homebrew/bluesky
README: add Bluesky link.
2025-04-30 11:08:50 +00:00
Mike McQuaid
568945fd1b
README: add Bluesky link.
We're on Bluesky now.
2025-04-30 11:59:59 +01:00
Bevan Kay
f3a418a917
Merge pull request #19854 from botantony/autobump-fix
tap: fix autobump logic for unofficial taps
2025-04-30 07:21:14 +00:00
botantony
1791c2e2a6
tap_auditor: do not audit autobump.txt in official taps
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 22:38:14 +02:00
botantony
a043e7bbf8
tap: fix autobump logic for unofficial taps
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 22:10:33 +02:00
Mike McQuaid
335933f67c
Merge pull request #19786 from botantony/autobump
formula/cask: add `no_autobump` method
2025-04-29 17:02:35 +00:00
botantony
11652a7a62 tap: exclude deprecated and disabled packages from autobump list
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 18:04:59 +02:00
botantony
18296808a2 dev-cmd/bump-*-pr: change autobump package message
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 18:04:59 +02:00
botantony
600826a7e7 no_autobump!: update manpage and completions
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 18:04:59 +02:00
botantony
a10b635fe9 no_autobump!: suggestions from contributors and docs
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 18:04:59 +02:00
botantony
79cf39fc1d formula/cask: add symbol support to no_autobump! method
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 18:04:59 +02:00
botantony
5c032d3616 formula: fix JSON API generation for no_autobump! method
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 18:04:59 +02:00
botantony
562c104b7e dev-cmd/bump: replace --no-auto with --no-autobump
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 18:04:59 +02:00
botantony
91f328950f test/fixtures: fix cask JSON fixture
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 18:04:59 +02:00
botantony
ad66e0c418 tap: get autobump list from formula/cask API
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 18:04:59 +02:00
botantony
9ff2abbcdf no_autobump!: rename no_autobump_msg field to no_autobump_message
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 18:04:59 +02:00
botantony
1fcacdc2dc formula/cask DSL: add no_autobump! method
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-29 18:04:59 +02:00
Bo Anderson
0195d9a6d6
Merge pull request #19853 from Homebrew/ci-fix
Fix CI errors on 20.04
2025-04-29 15:54:31 +00:00
Bo Anderson
9932c387d8
Fix CI errors on 20.04 2025-04-29 15:45:56 +01:00
Mike McQuaid
3332d3331b
Merge pull request #19839 from Homebrew/tap-new-for-private-repos
dev-cmd/tap-new: support private repos
2025-04-29 07:33:55 +00:00
Mike McQuaid
b69a620eff
Merge pull request #19833 from Homebrew/arm64-release-images
workflow/docker: push tagged arm64 images
2025-04-29 07:32:19 +00:00
Alexander Bayandin
d60e72a055 dev-cmd/tap-new: use ERB templates instead of string interpolation 2025-04-28 23:57:44 +01:00
Patrick Linnane
2465fa4ed4
Merge pull request #19843 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-5179d68c6e
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-28 22:35:08 +00:00
Patrick Linnane
6469e2024e
Merge pull request #19842 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.15
build(deps-dev): bump ruby-lsp from 0.23.14 to 0.23.15 in /Library/Homebrew
2025-04-28 22:33:08 +00:00
Patrick Linnane
f525c90c74
Merge pull request #19841 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-80.0.0
build(deps): bump setuptools from 79.0.1 to 80.0.0 in /Library/Homebrew/formula-analytics
2025-04-28 22:30:57 +00:00
BrewTestBot
20031a2f83
brew vendor-gems: commit updates. 2025-04-28 22:25:37 +00:00
Patrick Linnane
cb2b55e0dd
Merge pull request #19840 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/pyarrow-20.0.0
build(deps): bump pyarrow from 19.0.1 to 20.0.0 in /Library/Homebrew/formula-analytics
2025-04-28 22:25:20 +00:00
BrewTestBot
e3ed95f703
Update RBI files for ruby-lsp.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-04-28 22:24:56 +00:00
BrewTestBot
9c6aad8a69
brew vendor-gems: commit updates. 2025-04-28 22:24:47 +00:00
Patrick Linnane
f8a677e745
Merge pull request #19844 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.235.0
build(deps): bump ruby/setup-ruby from 1.233.0 to 1.235.0
2025-04-28 22:22:45 +00:00
Patrick Linnane
66a4a331c3
Merge pull request #19845 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/certifi-2025.4.26
build(deps): bump certifi from 2025.1.31 to 2025.4.26 in /Library/Homebrew/formula-analytics
2025-04-28 22:22:37 +00:00
Patrick Linnane
22e0eb9edb
Merge pull request #19847 from Homebrew/dependabot/github_actions/github/codeql-action-3.28.16
build(deps): bump github/codeql-action from 3.28.15 to 3.28.16
2025-04-28 22:22:08 +00:00
Patrick Linnane
117b77f752
Merge pull request #19848 from Homebrew/dependabot/github_actions/docker/build-push-action-6.16.0
build(deps): bump docker/build-push-action from 6.15.0 to 6.16.0
2025-04-28 22:21:58 +00:00
Patrick Linnane
f07cd6498e
Merge pull request #19849 from Homebrew/dependabot/github_actions/actions/setup-python-5.6.0
build(deps): bump actions/setup-python from 5.5.0 to 5.6.0
2025-04-28 22:21:44 +00:00
Patrick Linnane
1049f56135
Merge pull request #19850 from Homebrew/dependabot/github_actions/artifacts-beb19bfee9
build(deps): bump actions/download-artifact from 4.2.1 to 4.3.0 in the artifacts group
2025-04-28 22:21:19 +00:00
Patrick Linnane
d8cd00583e
Merge pull request #19851 from Homebrew/dependabot/github_actions/actions/attest-build-provenance-2.3.0
build(deps): bump actions/attest-build-provenance from 2.2.3 to 2.3.0
2025-04-28 22:20:54 +00:00
dependabot[bot]
64e3e990c4
build(deps): bump actions/attest-build-provenance from 2.2.3 to 2.3.0
Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) from 2.2.3 to 2.3.0.
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](c074443f1a...db473fddc0)

---
updated-dependencies:
- dependency-name: actions/attest-build-provenance
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 20:18:51 +00:00
dependabot[bot]
0fb9db6a40
build(deps): bump actions/download-artifact in the artifacts group
Bumps the artifacts group with 1 update: [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/download-artifact` from 4.2.1 to 4.3.0
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](95815c38cf...d3f86a106a)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: artifacts
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 20:09:54 +00:00
dependabot[bot]
0035a35036
build(deps): bump actions/setup-python from 5.5.0 to 5.6.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.5.0 to 5.6.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](8d9ed9ac5c...a26af69be9)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 5.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 20:08:38 +00:00
dependabot[bot]
79c57877d6
build(deps): bump docker/build-push-action from 6.15.0 to 6.16.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.15.0 to 6.16.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](471d1dc4e0...14487ce63c)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 6.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 19:55:06 +00:00
dependabot[bot]
04a873bf4d
build(deps): bump github/codeql-action from 3.28.15 to 3.28.16
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.15 to 3.28.16.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](45775bd823...28deaeda66)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 19:54:39 +00:00
dependabot[bot]
649b284624
build(deps): bump certifi in /Library/Homebrew/formula-analytics
Bumps [certifi](https://github.com/certifi/python-certifi) from 2025.1.31 to 2025.4.26.
- [Commits](https://github.com/certifi/python-certifi/compare/2025.01.31...2025.04.26)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2025.4.26
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 19:52:03 +00:00
dependabot[bot]
c94bec3be0
build(deps): bump ruby/setup-ruby from 1.233.0 to 1.235.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.233.0 to 1.235.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](ca041f971d...dffc446db9)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.235.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 19:50:22 +00:00
dependabot[bot]
6b42ef9329
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12039 to 0.5.12043
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12039 to 0.5.12043
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12039 to 0.5.12043
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12039 to 0.5.12043
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12043
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12043
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12043
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12043
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 19:39:25 +00:00
dependabot[bot]
278616ea48
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.14 to 0.23.15.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.14...v0.23.15)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-version: 0.23.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 19:37:24 +00:00
dependabot[bot]
71bcccba0d
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 79.0.1 to 80.0.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v79.0.1...v80.0.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 80.0.0
  dependency-type: indirect
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 19:36:49 +00:00
dependabot[bot]
ceee5e7abe
build(deps): bump pyarrow in /Library/Homebrew/formula-analytics
Bumps [pyarrow](https://github.com/apache/arrow) from 19.0.1 to 20.0.0.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/apache-arrow-19.0.1...apache-arrow-20.0.0)

---
updated-dependencies:
- dependency-name: pyarrow
  dependency-version: 20.0.0
  dependency-type: indirect
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 19:33:51 +00:00
Alexander Bayandin
875702d51a dev-cmd/tap-new: support private repos 2025-04-28 18:07:19 +01:00
Mike McQuaid
9eb0357716
Merge pull request #19836 from Homebrew/bundle_no_upgrade
cmd/bundle: fix no_upgrade type.
2025-04-28 11:28:38 +00:00
Mike McQuaid
0d86de5416
cmd/bundle: fix no_upgrade type.
If you set `HOMEBREW_BUNDLE_NO_UPGRADE=1`, `brew bundle check` will
output:

```
Error: Parameter 'no_upgrade': Expected type T::Boolean, got type String with value "1"
Caller: /opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.4.0/gems/sorbet-runtime-0.5.12039/lib/types/private/methods/call_validation.rb:227
Definition: /opt/homebrew/Library/Homebrew/bundle/commands/check.rb:14 (Homebrew::Bundle::Commands::Check.run)
```
2025-04-28 12:13:53 +01:00
Mike McQuaid
50b70e3cb7
Merge pull request #19834 from Homebrew/deprecate_linux_fonts
official_taps: deprecate homebrew-linux-fonts.
2025-04-28 07:45:09 +00:00
Mike McQuaid
c4ea7ef4f7
Merge pull request #19832 from Homebrew/docker-release-fix
workflows/docker: fix release push
2025-04-28 07:44:00 +00:00
Mike McQuaid
3f6c8fccec
Merge pull request #19790 from Homebrew/more-sorbet
Bump some files to Sorbet `typed: strict`
2025-04-28 07:43:04 +00:00
Mike McQuaid
ce3e8ddc70
official_taps: deprecate homebrew-linux-fonts.
This has been archived and migrated to Homebrew/homebrew-cask.
2025-04-28 08:36:04 +01:00
Bo Anderson
a2cbce9426
workflow/docker: push tagged arm64 images 2025-04-28 04:05:24 +01:00
Bo Anderson
7ce03b66f1
workflows/docker: fix release push 2025-04-28 04:01:20 +01:00
Patrick Linnane
fc897cc55a
Merge pull request #19829 from botantony/docs
docs/installation: replace `Tips N' Tricks` with `Tips and Tricks`
2025-04-27 22:38:51 +00:00
Issy Long
6c11916cbc
Bump some files to Sorbet typed: strict 2025-04-27 22:45:44 +01:00
botantony
da98aca4f3
docs/installation: replace Tips N' Tricks with Tips and Tricks
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-27 22:43:06 +02:00
Bo Anderson
0e7f19f2f1
Merge pull request #19825 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-7bf59fef91
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-25 22:41:12 +00:00
Bo Anderson
3329aada38
Merge pull request #19826 from Homebrew/dependabot/bundler/Library/Homebrew/json-2.11.3
build(deps-dev): bump json from 2.10.2 to 2.11.3 in /Library/Homebrew
2025-04-25 19:15:04 +00:00
BrewTestBot
ab03736b26
brew vendor-gems: commit updates. 2025-04-25 19:07:36 +00:00
BrewTestBot
fb970c9ac4
brew vendor-gems: commit updates. 2025-04-25 19:05:36 +00:00
dependabot[bot]
3976662bd2
build(deps-dev): bump json from 2.10.2 to 2.11.3 in /Library/Homebrew
Bumps [json](https://github.com/ruby/json) from 2.10.2 to 2.11.3.
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/json/compare/v2.10.2...v2.11.3)

---
updated-dependencies:
- dependency-name: json
  dependency-version: 2.11.3
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-25 18:17:58 +00:00
dependabot[bot]
dc064196ff
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12032 to 0.5.12039
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12032 to 0.5.12039
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12032 to 0.5.12039
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12032 to 0.5.12039
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12039
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12039
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12039
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12039
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-25 18:17:46 +00:00
Mike McQuaid
dcb28327d2
Merge pull request #19824 from Homebrew/linux_var_tmp
Change default temp on Linux to /var/tmp.
2025-04-25 17:06:20 +00:00
Mike McQuaid
eb175f01a0
brew.sh: only use /var/tmp on Linux if writable. 2025-04-25 17:56:58 +01:00
Aman Verma
9c79c5b632
Change default temp on Linux to /var/tmp.
Previously, the default temporary directory was /tmp on Linux and
/private/tmp on macOS. On many Linux distros, including at least Fedora,
/tmp is stored in RAM. This diverges from the behavior on macOS and has
led to bugs, most notably the inability to install large bottles on
memory-limited machines.
2025-04-25 17:56:34 +01:00
Mike McQuaid
83e4d73670
Merge pull request #19823 from Homebrew/brewfile_docs_tweaks
docs/Brew-Bundle-and-Brewfile: a couple of tweaks.
2025-04-25 14:25:38 +00:00
Mike McQuaid
736b445ac2
docs/Brew-Bundle-and-Brewfile: a couple of tweaks.
Felt some wording could be improved.
2025-04-25 14:20:59 +01:00
Mike McQuaid
60bbdd82c4
Merge pull request #19822 from Homebrew/brew_bundle_exec_consistent_env
bundle/commands/exec: make environment variables more consistent.
2025-04-25 11:02:07 +00:00
Mike McQuaid
a1e4e9eaf7
bundle/commands/exec: make environment variables more consistent.
Let's avoid having `exec` and `env`/`sh` subcommands have different
environment variables logic. Instead, let's e.g. add `HOMEBREW_PATH`
and remove `*/Homebrew/shims/*` from the `PATH` for all three
subcommands.

This allows more consistency for users and easier to debug and reason
about behaviour.
2025-04-25 11:53:23 +01:00
Mike McQuaid
f6e3de6dec
Merge pull request #19802 from Homebrew/brew_bundle_docs
docs/Brew-Bundle-and-Brewfile: improve docs.
2025-04-25 10:07:40 +00:00
Mike McQuaid
5f29ab8c89
docs/Brew-Bundle-and-Brewfile: improve docs.
The `brew bundle` documentation isn't great at explaining what the tool
is and why you should care. Let's improve that.
2025-04-25 10:59:32 +01:00
Mike McQuaid
04e77dd43d
docs/Tips-and-Tricks: rename from weird filename.
macOS likes the new one better.
2025-04-25 09:46:29 +01:00
Mike McQuaid
681e803c4f
docs: improve/fix jekyll setup 2025-04-25 09:46:29 +01:00
Patrick Linnane
8a5babc424
Merge pull request #19821 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-79.0.1
build(deps): bump setuptools from 79.0.0 to 79.0.1 in /Library/Homebrew/formula-analytics
2025-04-24 19:13:04 +00:00
dependabot[bot]
e7199b3c43
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 79.0.0 to 79.0.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v79.0.0...v79.0.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 79.0.1
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 18:39:18 +00:00
Bo Anderson
6fe715409b
Merge pull request #19819 from Homebrew/macho-error-output
formula_installer: always output errors with fixing linkage
2025-04-24 16:31:58 +00:00
Bo Anderson
9ae847dcae
formula_installer: always output errors with fixing linkage 2025-04-24 17:20:35 +01:00
Carlo Cabrera
cecbb4350e
Merge pull request #19818 from Homebrew/fix-trash
cask/artifact/abstract_uninstall: fix `trash_paths`
2025-04-24 10:17:55 +00:00
Carlo Cabrera
f816a39d1f
cask/artifact/abstract_uninstall: fix trash_paths
This is currently behaving incorrectly when calling `trash.swift` fails
due to lack of permissions. In this instance, `trash.swift` prints

    error: permissionDenied

to stdout, and this is incorrectly parsed as having successfully trashed
a file named `error` and another named ` permissionDenied`.

Let's fix this by ensuring that:
- any paths in `trashed` are in the `paths` that we wanted to trash in
  the first place
- define `untrashable` by removing the `trashed` paths from `paths`
2025-04-24 18:03:07 +08:00
Carlo Cabrera
acf455bac1
Merge pull request #19637 from Homebrew/bundle-exec-with-optional-check
bundle/commands/exec: check that `Brewfile` is installed with `--check`
2025-04-24 08:42:49 +00:00
Carlo Cabrera
08d5ca0d01
brew style --fix 2025-04-24 16:34:36 +08:00
Carlo Cabrera
f3c25498f8
bundle/commands/exec: check that Brewfile is installed with --check
`brew bundle exec` behaves correctly only after doing `brew bundle install`.

Running `brew bundle check` can be slow, so let's add a `--check` flag
to `brew bundle exec` which will also run `brew bundle check` before
`brew bundle exec` to ensure that the `Brewfile` has been installed
before proceeding.
2025-04-24 16:34:23 +08:00
Patrick Linnane
d19dca6228
Merge pull request #19815 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-8245ded0cf
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-24 00:23:26 +00:00
BrewTestBot
47c6fb048f
brew vendor-gems: commit updates. 2025-04-24 00:12:35 +00:00
dependabot[bot]
84934d7847
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12028 to 0.5.12032
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12028 to 0.5.12032
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12028 to 0.5.12032
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12028 to 0.5.12032
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12032
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12032
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12032
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12032
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 00:10:25 +00:00
Mike McQuaid
b97c763d91
Merge pull request #19814 from Homebrew/bundle_services
Add `HOMEBREW_BUNDLE_SERVICES` variable to `brew bundle`
2025-04-23 16:30:00 +00:00
Mike McQuaid
60c047b5ea
Add HOMEBREW_BUNDLE_SERVICES variable to brew bundle
This allows another way to pass `--services` to `brew bundle`.
2025-04-23 17:20:14 +01:00
Sam Ford
b711ecc26b
Merge pull request #19812 from Homebrew/cask-auditor-fix-language_blocks
Cask::Auditor: update language_blocks condition
2025-04-23 13:51:11 +00:00
Sam Ford
4917fb2c93
Cask::DSL: Remove duplicate token definition
I inadvertently duplicated the `@token` instance variable definition
in `Cask::DSL#initiailize`, so this removes the duplicate. This
didn't have any noticeable effect because it was redefined afterward,
so this is just a bit of tidying up.
2025-04-23 09:37:05 -04:00
Sam Ford
c0f23acdcd
Cask::Auditor: update language_blocks condition
I recently modified `Cask::DSL` to define instance variables in the
`#initialize` method and this involved some changes to the `language`,
`language_eval`, and `languages` methods. One of those was to
initialize `@language_blocks` to an empty hash instead of using a
`nil` default. I updated the related condition in the `language_eval`
method but I missed that `language_blocks` is used in `Cask::Auditor`
and it specifically relies on a false-y value to check if the variable
is set. An empty hash isn't false-y, so this is causing issues for
`brew audit`.

This updates the condition in `Cask::Auditor` to check for a non-empty
hash instead, which resolves the issue.
2025-04-23 09:19:41 -04:00
Bevan Kay
8db1a1f639
Merge pull request #19805 from botantony/zsh-completions-fix
fix: prevent Zsh crashes related to autocompletion
2025-04-23 10:35:41 +00:00
FX Coudert
4a3388cc03
Merge pull request #19811 from Homebrew/gcc15
compilers: add gcc-15
2025-04-23 10:21:03 +00:00
Francois-Xavier Coudert
10095f5cac compilers: add gcc-15 2025-04-23 10:09:45 +02:00
Mike McQuaid
141414a3c3
Merge pull request #19807 from Homebrew/downloadable-fixes
Cleanup Downloadable variables and types
2025-04-23 07:24:19 +00:00
Mike McQuaid
aeee3637e5
Merge pull request #19808 from Homebrew/cask-dsl-initialize-instance-variables-2
Cask::DSL: initialize more instance variables
2025-04-23 07:23:38 +00:00
Bevan Kay
94c91ed052
Merge pull request #19809 from Homebrew/bump-created-with
bump-formula-pr: restore pr message
2025-04-23 04:55:53 +00:00
Bevan Kay
b255a670c0
bump-formula-pr: restore pr message 2025-04-23 14:45:15 +10:00
Sam Ford
6f511ee4e2
Cask::DSL: initialize more instance variables
I recently updated `Cask::DSL` to define instance variables in
`#initialize` to get us closer to resolving a "shape variation"
warning from Ruby. The reason why we continued to receive this warning
after the previous changes is because I overlooked the variables that
are set using `set_unique_stanza`.

The tricky part about those instance variables is that we need to be
able to identify if they've been set. I've handled this by using a
`nil` initial value and updating the `instance_variable_defined?`
condition to check for a non-`nil` value instead. This works for these
variables but it would be a problem if we ever have a DSL method that
accepts a `nil` argument.
2025-04-22 23:21:05 -04:00
Bo Anderson
076fdc30ce
Merge pull request #19806 from Homebrew/cask-dsl-initialize-instance-variables
Cask::DSL: define instance variables in initialize
2025-04-23 02:34:05 +00:00
Bo Anderson
35f874c036
Cleanup Downloadable variables and types 2025-04-23 03:30:15 +01:00
Sam Ford
5b5c460ab9
Cask::DSL: define instance variables in initialize
We're now seeing warnings related to the cask DSL surfaced by Ruby
3.4:

```
/opt/homebrew/Library/Homebrew/cask/dsl.rb:456: warning: The class
Cask::DSL reached 8 shape variations, instance variables accesses
will be slower and memory usage increased.
It is recommended to define instance variables in a consistent order,
for instance by eagerly defining them all in the #initialize method.
```

I've been working on upgrading `Cask::DSL` to `typed: strict` and
part of that involves defining all of the instance variables in the
`initialize` method, so I've extracted this part of that work as a
way of helping to resolve the aforementioned warning. This doesn't
fully resolve the warning but it addresses what it was originally
referencing, at least.

For what it's worth, this includes some type fixes but I've only
included what's necessary to pass `brew typecheck`.
2025-04-22 18:12:33 -04:00
Sam Ford
c495aa3e63
Cask::DSL::DependsOn: add empty?, present? methods
`#present?` is called on a `DependsOn` object in `Cask::DSL` and this
is seemingly deferred to the underlying hash object but Sorbet doesn't
understand this kind of `SimpleDelegator` magic. This adds `empty?`
and `present?` methods that explicitly interact with the hash in a
way that Sorbet can understand.
2025-04-22 18:07:09 -04:00
botantony
2a03f2059c
completions: fix tests
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-22 22:31:45 +02:00
Patrick Linnane
3d2ab610c9
Merge pull request #19803 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-649fa9977a
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-22 20:11:07 +00:00
botantony
d15461608f
fix: prevent Zsh crashes related to autocompletion
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-22 22:02:38 +02:00
Patrick Linnane
2f67c29db6
Exclude parser again
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-22 13:00:19 -07:00
BrewTestBot
aed2a35362
Update RBI files for sorbet.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-04-22 19:24:40 +00:00
BrewTestBot
9dec0f5a8a
brew vendor-gems: commit updates. 2025-04-22 19:24:35 +00:00
dependabot[bot]
4ff6d1e94e
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12026 to 0.5.12028
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12026 to 0.5.12028
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12026 to 0.5.12028
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12026 to 0.5.12028
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12028
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12028
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12028
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12028
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-22 19:20:59 +00:00
Patrick Linnane
0443c627d0
Merge pull request #19800 from Homebrew/retry-docker-upload
workflows/docker: add retry to image push
2025-04-22 19:02:52 +00:00
Patrick Linnane
1134575c00
Merge pull request #19793 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.233.0
build(deps): bump ruby/setup-ruby from 1.231.0 to 1.233.0
2025-04-22 19:00:42 +00:00
Mike McQuaid
40ab36827c
Merge pull request #19779 from Homebrew/portable-ruby-3.4.3
Portable Ruby 3.4.3
2025-04-22 18:59:12 +00:00
Patrick Linnane
5d8d453a90
Portable Ruby 3.4.3 2025-04-22 11:50:08 -07:00
Mike McQuaid
82511c708c
Merge pull request #19801 from Homebrew/deprecate_disable
Homebrew 4.5 deprecations/disables/removals
2025-04-22 16:26:29 +00:00
Mike McQuaid
c9a7b62b1d
Homebrew 4.5 deprecations/disables/removals
The usual cycle of deprecating, disabling, and removing things in
Homebrew major/minor releases.
2025-04-22 17:15:23 +01:00
Patrick Linnane
ead6c13cf2
workflows/docker: reduce delay to 15 seconds
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-22 09:15:10 -07:00
Patrick Linnane
7ad5460336
Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-22 09:13:55 -07:00
Patrick Linnane
a3af7f823f
workflows/docker: add retry to image push
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-22 09:07:53 -07:00
Mike McQuaid
a47ff13114
Merge pull request #19798 from Homebrew/bump-synced-versions-v2
bump: bump synced formula together (v2)
2025-04-22 15:23:51 +00:00
Mike McQuaid
12a3d4a6f1
Merge pull request #19799 from Homebrew/sync-shared-config
Synchronize shared configuration
2025-04-22 15:18:47 +00:00
BrewTestBot
e99a41f85f
zizmor.yml: update to match main configuration 2025-04-22 14:42:39 +00:00
Bevan Kay
de8c088d15
fix opening PR from fork 2025-04-22 22:03:49 +10:00
Bevan Kay
2b132c0802
dev-cmd/bump-formula-pr: fix reference 2025-04-22 22:03:18 +10:00
Bevan Kay
c5a3879fdb
bump: bump synced formula together 2025-04-22 22:03:06 +10:00
Mike McQuaid
882b7bab96
Merge pull request #19797 from Homebrew/revert-19213-bump-synced-versions
Revert "bump: bump synced formula together"
2025-04-22 11:44:37 +00:00
Mike McQuaid
7873f0200f
Revert "bump: bump synced formula together" 2025-04-22 12:33:59 +01:00
Mike McQuaid
c45a734293
Merge pull request #19213 from bevanjkay/bump-synced-versions
bump: bump synced formula together
2025-04-22 10:02:12 +00:00
Mike McQuaid
444a520836
Merge pull request #19578 from botantony/replacement-type
deprecate!/disable!: allow to specify replacement type
2025-04-22 08:12:52 +00:00
Patrick Linnane
bc6a5d2844
Merge pull request #19791 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-79.0.0
build(deps): bump setuptools from 78.1.0 to 79.0.0 in /Library/Homebrew/formula-analytics
2025-04-22 04:12:30 +00:00
botantony
4fa1355be0 deprecate!/disable!: remove non-typed replacement field
Signed-off-by: botantony <antonsm21@gmail.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-04-21 21:13:25 +02:00
botantony
ca447e1ce9 deprecate!/disable!: replacement_formula/replacement_cask fields
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-21 21:13:25 +02:00
botantony
e594e7e0bb deprecate!/disable!: allow to specify replacement type
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-21 21:13:25 +02:00
Douglas Eichelberger
e32b0bd796
Merge pull request #19792 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-c0070ae3fb
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-21 18:57:22 +00:00
dependabot[bot]
c0af52f79d
build(deps): bump ruby/setup-ruby from 1.231.0 to 1.233.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.231.0 to 1.233.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](d8d83c3960...ca041f971d)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.233.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 18:45:42 +00:00
BrewTestBot
8d88ba3d1a
brew vendor-gems: commit updates. 2025-04-21 18:45:14 +00:00
dependabot[bot]
afbe1d86e1
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12024 to 0.5.12026
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12024 to 0.5.12026
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12024 to 0.5.12026
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12024 to 0.5.12026
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12026
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12026
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12026
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12026
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 18:31:22 +00:00
dependabot[bot]
9de4ca27df
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 78.1.0 to 79.0.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v78.1.0...v79.0.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 79.0.0
  dependency-type: indirect
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 18:29:39 +00:00
Patrick Linnane
5fb70f5a57
Merge pull request #19788 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-rspec-3.6.0
build(deps-dev): bump rubocop-rspec from 3.5.0 to 3.6.0 in /Library/Homebrew
2025-04-19 03:05:43 +00:00
Patrick Linnane
e8f7d02e37
Disable RSpec/IncludeExamples
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-18 19:54:16 -07:00
BrewTestBot
a505b67b91
Update RBI files for rubocop-rspec.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-04-18 18:53:39 -07:00
BrewTestBot
49cc9bc17b
brew vendor-gems: commit updates. 2025-04-18 18:53:39 -07:00
dependabot[bot]
9cf387c1ee
build(deps-dev): bump rubocop-rspec in /Library/Homebrew
Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rspec/compare/v3.5.0...v3.6.0)

---
updated-dependencies:
- dependency-name: rubocop-rspec
  dependency-version: 3.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-18 18:53:37 -07:00
Patrick Linnane
2f0c160739
Merge pull request #19787 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-185e0b1891
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-18 21:38:43 +00:00
BrewTestBot
fb64b796b0
brew vendor-gems: commit updates. 2025-04-18 21:28:31 +00:00
Bo Anderson
e67416d771
Merge pull request #19772 from Homebrew/warnings-for-devs
standalone/init: enable more warnings for developers
2025-04-18 18:55:12 +00:00
dependabot[bot]
885c9f65c0
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12020 to 0.5.12024
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12020 to 0.5.12024
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12020 to 0.5.12024
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12020 to 0.5.12024
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12024
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12024
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12024
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12024
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-18 18:54:03 +00:00
Bo Anderson
30c7e6024f
standalone/init: enable more warnings for developers 2025-04-18 17:41:56 +01:00
Patrick Linnane
f6d9276f8b
Merge pull request #19785 from Homebrew/pkg-installer-workflow-perms
workflows/pkg-installer: set default permissions
2025-04-18 02:50:24 +00:00
Patrick Linnane
d2f56e461d
workflows/pkg-installer: set default permissions
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-17 19:29:38 -07:00
Patrick Linnane
2c5f404c47
Merge pull request #19784 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-45adba2278
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-17 20:37:15 +00:00
BrewTestBot
8b942368a5
brew vendor-gems: commit updates. 2025-04-17 20:27:24 +00:00
dependabot[bot]
cade63c1dc
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12017 to 0.5.12020
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12017 to 0.5.12020
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12017 to 0.5.12020
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12017 to 0.5.12020
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12020
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12020
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12020
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12020
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-17 18:49:08 +00:00
Sam Ford
01429a2efc
Merge pull request #19766 from michaelstingl/docs-livecheck-prerelease
docs: Add section on handling temporary pre-release versions in livecheck
2025-04-17 02:47:24 +00:00
Patrick Linnane
55a9759bed
Merge pull request #19782 from Homebrew/vendor-version-fix
workflows/vendor-version: fix handling of Ruby upgrades
2025-04-16 18:07:48 +00:00
Bo Anderson
75169a1782
workflows/vendor-version: fix handling of Ruby upgrades 2025-04-16 18:58:26 +01:00
Patrick Linnane
980a471d08
Merge pull request #19781 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-3f69e4e342
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-16 17:32:56 +00:00
Patrick Linnane
48073180c0
Merge pull request #19780 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.231.0
build(deps): bump ruby/setup-ruby from 1.230.0 to 1.231.0
2025-04-16 17:19:52 +00:00
BrewTestBot
4800f9f580
brew vendor-gems: commit updates. 2025-04-16 17:19:08 +00:00
dependabot[bot]
ade01d62b4
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12016 to 0.5.12017
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12016 to 0.5.12017
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12016 to 0.5.12017
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12016 to 0.5.12017
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12017
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12017
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12017
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12017
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-16 17:11:09 +00:00
dependabot[bot]
08d7068286
build(deps): bump ruby/setup-ruby from 1.230.0 to 1.231.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.230.0 to 1.231.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](e5ac7b085f...d8d83c3960)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.231.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-16 17:10:50 +00:00
Bo Anderson
dc9d97cfc7
Merge pull request #19778 from Homebrew/rm-api-base64-gem
api: remove TODO comment
2025-04-16 16:35:59 +00:00
Patrick Linnane
2bb9f6f5e3
api: remove TODO comment
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-16 09:26:13 -07:00
Bo Anderson
f530863a29
Merge pull request #19770 from Homebrew/global-no-fileutils
global: mark `extend FileUtils` for dropping
2025-04-16 16:25:39 +00:00
Bo Anderson
dd298af691
Merge pull request #19777 from Homebrew/cask-container-test-fix-3.4
test/cask/dsl/container_spec: fix test failure with Ruby 3.4
2025-04-16 16:22:53 +00:00
Bo Anderson
3589574f67
Merge pull request #19776 from Homebrew/cask-warning-fix
cask/artifact/abstract_flight_block: fix warning in Ruby 3.4
2025-04-16 16:22:46 +00:00
Bo Anderson
f863e1ed51
Merge pull request #19775 from Homebrew/services-fileutils
services: fix FileUtils usage in Ruby 3.4
2025-04-16 16:22:39 +00:00
Bo Anderson
4a35e781d6
Merge pull request #19774 from Homebrew/aliases-require
aliases: fix missing require with Ruby 3.4
2025-04-16 16:22:32 +00:00
Bo Anderson
3049d21ca0
test/cask/dsl/container_spec: fix test failure with Ruby 3.4 2025-04-16 17:10:10 +01:00
Bo Anderson
b2dbc69dfb
Merge pull request #19771 from Homebrew/mktemp-no-fileutils
mktemp: drop include FileUtils
2025-04-16 16:07:25 +00:00
Bo Anderson
4cda5a1aa9
cask/artifact/abstract_flight_block: fix warning in Ruby 3.4 2025-04-16 17:06:59 +01:00
Bo Anderson
1db3f6d694
services: fix FileUtils usage in Ruby 3.4 2025-04-16 17:05:51 +01:00
Bo Anderson
9410a7858b
aliases: fix missing require with Ruby 3.4 2025-04-16 17:03:40 +01:00
Bo Anderson
ccee96511f
global: drop extend FileUtils 2025-04-16 17:02:22 +01:00
Bo Anderson
e8f9dfc3e9
mktemp: drop include FileUtils 2025-04-16 16:22:36 +01:00
Bevan Kay
7ccdc340a3
bump: bump synced formula together 2025-04-16 22:49:14 +10:00
Bo Anderson
e021a6b7dd
Merge pull request #19769 from Homebrew/debrew-mutex_m
debrew: migrate away from mutex_m
2025-04-16 04:55:50 +00:00
Patrick Linnane
81f63d7a72
Merge pull request #19768 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-75533ee6ca
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-16 02:17:26 +00:00
Bo Anderson
31c4116a78
debrew: migrate away from mutex_m 2025-04-15 23:02:00 +01:00
BrewTestBot
f84ee3d037
brew vendor-gems: commit updates. 2025-04-15 21:37:13 +00:00
dependabot[bot]
bdf7b9f578
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12010 to 0.5.12016
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12010 to 0.5.12016
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12010 to 0.5.12016
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12010 to 0.5.12016
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12016
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12016
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12016
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12016
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 18:28:18 +00:00
Michael Stingl
96a08dfaff
Merge branch 'master' into docs-livecheck-prerelease 2025-04-15 16:44:07 +02:00
Michael Stingl
e2992d4c3a
Apply suggestions from code review
Co-authored-by: Sam Ford <1584702+samford@users.noreply.github.com>
2025-04-15 16:42:52 +02:00
michaelstingl
66d36fb4f6 docs: Add section on handling temporary pre-release versions in livecheck 2025-04-15 07:28:55 +02:00
Patrick Linnane
0046519c08
Merge pull request #19763 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-md-2.0.1
build(deps-dev): bump rubocop-md from 2.0.0 to 2.0.1 in /Library/Homebrew
2025-04-14 22:41:20 +00:00
Patrick Linnane
5913b802ef
Merge pull request #19764 from Homebrew/dependabot/bundler/Library/Homebrew/parallel-1.27.0
build(deps-dev): bump parallel from 1.26.3 to 1.27.0 in /Library/Homebrew
2025-04-14 22:38:35 +00:00
Patrick Linnane
2ce12b0abc
Merge branch 'master' into dependabot/bundler/Library/Homebrew/parallel-1.27.0 2025-04-14 15:29:54 -07:00
Patrick Linnane
d1b23caf75
Merge branch 'master' into dependabot/bundler/Library/Homebrew/rubocop-md-2.0.1 2025-04-14 15:29:25 -07:00
Patrick Linnane
d2f9d62042
Merge pull request #19765 from Homebrew/rm-economist
Prose-Style-Guidelines: remove Economist's Style Guide
2025-04-14 22:19:42 +00:00
Patrick Linnane
53299fe556
Prose-Style-Guidelines: remove Economist's Style Guide
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-14 15:03:39 -07:00
Patrick Linnane
8d3aac5434
Merge pull request #19761 from Homebrew/dependabot/bundler/Library/Homebrew/parser-3.3.8.0
build(deps-dev): bump parser from 3.3.7.4 to 3.3.8.0 in /Library/Homebrew
2025-04-14 21:42:52 +00:00
Patrick Linnane
c80f96d08c
Merge pull request #19762 from Homebrew/dependabot/github_actions/codecov/codecov-action-5.4.1
build(deps): bump codecov/codecov-action from 5.4.0 to 5.4.2
2025-04-14 21:42:36 +00:00
dependabot[bot]
6bb1bb3b15
build(deps): bump codecov/codecov-action from 5.4.0 to 5.4.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.4.0 to 5.4.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](0565863a31...cf3f51a67d)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 5.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 20:35:19 +00:00
BrewTestBot
1ca9b57314
brew vendor-gems: commit updates. 2025-04-14 20:34:39 +00:00
BrewTestBot
f7ae5c12ca
brew vendor-gems: commit updates. 2025-04-14 20:34:38 +00:00
BrewTestBot
10b88e7948
brew vendor-gems: commit updates. 2025-04-14 20:31:35 +00:00
dependabot[bot]
b187308e3b
build(deps-dev): bump parallel in /Library/Homebrew
Bumps [parallel](https://github.com/grosser/parallel) from 1.26.3 to 1.27.0.
- [Commits](https://github.com/grosser/parallel/compare/v1.26.3...v1.27.0)

---
updated-dependencies:
- dependency-name: parallel
  dependency-version: 1.27.0
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 20:31:26 +00:00
dependabot[bot]
47b2100ebb
build(deps-dev): bump rubocop-md in /Library/Homebrew
Bumps [rubocop-md](https://github.com/rubocop/rubocop-md) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/rubocop/rubocop-md/releases)
- [Changelog](https://github.com/rubocop/rubocop-md/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-md/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: rubocop-md
  dependency-version: 2.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 20:31:07 +00:00
dependabot[bot]
6bdf9a42aa
build(deps-dev): bump parser in /Library/Homebrew
Bumps [parser](https://github.com/whitequark/parser) from 3.3.7.4 to 3.3.8.0.
- [Changelog](https://github.com/whitequark/parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/whitequark/parser/compare/v3.3.7.4...v3.3.8.0)

---
updated-dependencies:
- dependency-name: parser
  dependency-version: 3.3.8.0
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 18:37:01 +00:00
Mike McQuaid
9f49db135c
Merge pull request #19760 from Homebrew/improve_tmp_handling
Improve HOMEBREW_TEMP handling
2025-04-14 18:23:35 +00:00
Mike McQuaid
dbbffbaca5
Improve HOMEBREW_TEMP handling
- if HOMEBREW_TEMP is not writable, use the default temp directory
- when running `brew bundle exec`, strip various temporary directories
  from the environment if they are not writable
2025-04-14 19:10:58 +01:00
Mike McQuaid
2664c0568d
Merge pull request #19758 from Homebrew/cleanup_vscode_cursor_tests
spec_helper: cleanup VSCode/Cursor test files.
2025-04-14 14:44:07 +00:00
Mike McQuaid
66902cb3ad
spec_helper: cleanup VSCode/Cursor test files. 2025-04-14 15:32:42 +01:00
Patrick Linnane
f9fe0f573b
Merge pull request #19727 from Homebrew/portable-ruby-3.3.8
Portable Ruby 3.3.8
2025-04-14 01:34:41 +00:00
Patrick Linnane
0091846643
Merge branch 'master' into portable-ruby-3.3.8 2025-04-13 18:19:27 -07:00
Patrick Linnane
1d140e536d
Merge pull request #19756 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.230.0
build(deps): bump ruby/setup-ruby from 1.229.0 to 1.230.0
2025-04-14 01:02:32 +00:00
Patrick Linnane
7200f0bb35
Merge pull request #19753 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-23f98703e0
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-14 01:00:09 +00:00
Patrick Linnane
c664406806
Merge pull request #19754 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-ast-1.44.1
build(deps-dev): bump rubocop-ast from 1.44.0 to 1.44.1 in /Library/Homebrew
2025-04-14 01:00:07 +00:00
Patrick Linnane
9fd5bd1c21
Merge pull request #19755 from Homebrew/dependabot/bundler/Library/Homebrew/bindata-2.5.1
build(deps): bump bindata from 2.5.0 to 2.5.1 in /Library/Homebrew
2025-04-14 00:59:23 +00:00
BrewTestBot
5cf755a675
Update RBI files for bindata.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-04-14 00:50:43 +00:00
BrewTestBot
d2776142c6
brew vendor-gems: commit updates. 2025-04-14 00:50:33 +00:00
BrewTestBot
50f860868d
Update RBI files for rubocop-ast.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-04-14 00:50:14 +00:00
BrewTestBot
17ffdb04a0
brew vendor-gems: commit updates. 2025-04-14 00:50:06 +00:00
BrewTestBot
04d7db6c06
brew vendor-gems: commit updates. 2025-04-14 00:49:56 +00:00
dependabot[bot]
aef242897b
build(deps): bump ruby/setup-ruby from 1.229.0 to 1.230.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.229.0 to 1.230.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](354a1ad156...e5ac7b085f)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.230.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 00:49:19 +00:00
dependabot[bot]
61af42d496
build(deps): bump bindata from 2.5.0 to 2.5.1 in /Library/Homebrew
Bumps [bindata](https://github.com/dmendel/bindata) from 2.5.0 to 2.5.1.
- [Changelog](https://github.com/dmendel/bindata/blob/master/ChangeLog.rdoc)
- [Commits](https://github.com/dmendel/bindata/compare/v2.5.0...v2.5.1)

---
updated-dependencies:
- dependency-name: bindata
  dependency-version: 2.5.1
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 00:48:24 +00:00
dependabot[bot]
4419af3777
build(deps-dev): bump rubocop-ast in /Library/Homebrew
Bumps [rubocop-ast](https://github.com/rubocop/rubocop-ast) from 1.44.0 to 1.44.1.
- [Release notes](https://github.com/rubocop/rubocop-ast/releases)
- [Changelog](https://github.com/rubocop/rubocop-ast/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-ast/compare/v1.44.0...v1.44.1)

---
updated-dependencies:
- dependency-name: rubocop-ast
  dependency-version: 1.44.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 00:48:15 +00:00
dependabot[bot]
8687f5c25e
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.12003 to 0.5.12010
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.12003 to 0.5.12010
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.12003 to 0.5.12010
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.12003 to 0.5.12010
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12010
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12010
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12010
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12010
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 00:47:41 +00:00
Patrick Linnane
7d5961188d
Merge pull request #19752 from Homebrew/sponsors-maintainers-man-completions
Update sponsors.
2025-04-14 00:46:22 +00:00
BrewTestBot
ddbfbbb468
Update sponsors.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-04-14 00:08:41 +00:00
Patrick Linnane
ee80a2daca
Merge pull request #19751 from Homebrew/support-tiers-westmere
Support-Tiers: clarify OCLP tiers based on CPU generation
2025-04-13 20:23:28 +00:00
Patrick Linnane
e53688c7ce
Installation: Update OCLP note
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-13 09:55:02 -07:00
Patrick Linnane
9754d5f79d
Support-Tiers: clarify OCLP tiers based on CPU generation 2025-04-13 09:40:09 -07:00
Mike McQuaid
cb5a375d07
Merge pull request #19748 from Homebrew/oclp-support
docs: clarify OCLP support status
2025-04-13 14:19:51 +00:00
Mike McQuaid
4a842f6f1f
Merge pull request #19749 from Homebrew/tap-new-no-git
test/dev-cmd/tap-new_spec: use `--no-git` to avoid auth prompt
2025-04-13 14:19:39 +00:00
Mike McQuaid
219d427631
Merge pull request #19746 from Homebrew/no-cpuid-allowlist
formula_cellar_checks: add no_cpuid_allowlist
2025-04-13 14:18:08 +00:00
Patrick Linnane
86f56c8bd5
test/dev-cmd/tap-new_spec: use --no-git to avoid auth prompt
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-12 19:15:07 -07:00
Patrick Linnane
2c9b094bea
os/mac/diagnostic: set OCLP Support Tiers
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-12 17:03:54 -07:00
Patrick Linnane
76b3cf0334
docs: clarify OCLP support status
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-12 16:45:44 -07:00
Patrick Linnane
213633371c
Merge pull request #19747 from Olexandr88/patch-2
docs(readme): added shield and license link
2025-04-12 18:28:29 +00:00
Patrick Linnane
d807014964
Merge pull request #19745 from Homebrew/support-tiers-nit
Support-Tiers: minor rewording
2025-04-12 17:37:12 +00:00
Olexandr88
22f11dff93
Update README.md 2025-04-12 19:50:51 +03:00
Michael Cho
b5b049ab64
formula_cellar_checks: add no_cpuid_allowlist
Sometimes the CPUID instruction exists in a dependency, e.g.
`aws-checksums` performs CPU detection via `aws-c-common`.
2025-04-12 12:40:38 -04:00
Patrick Linnane
b6c6a34565
Support-Tiers: minor rewording
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-12 09:17:46 -07:00
Patrick Linnane
053e3424fa
Merge branch 'master' into portable-ruby-3.3.8 2025-04-11 13:12:28 -07:00
Patrick Linnane
7b34fcc330
Merge pull request #19739 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-d3e0b5a11d
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-11 16:11:59 +00:00
BrewTestBot
2cb9ef9a05
brew vendor-gems: commit updates. 2025-04-11 16:02:28 +00:00
dependabot[bot]
8c245c9838
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11998 to 0.5.12003
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11998 to 0.5.12003
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11998 to 0.5.12003
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11998 to 0.5.12003
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.12003
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.12003
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.12003
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.12003
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-11 15:59:50 +00:00
Mike McQuaid
61634007f5
Merge pull request #19622 from abitrolly/actionable-edit
dev-cmd/edit: Actionable message about no API install
2025-04-11 15:15:44 +00:00
Mike McQuaid
e98a052896
dev-cmd/edit: remove unneeded variable. 2025-04-11 16:07:29 +01:00
Anatoli Babenia
fff2c3ea79 edit: move no_env and no_install checks out of the loop 2025-04-11 17:21:17 +03:00
Anatoli Babenia
ccf506f7f9 brew style --fix 2025-04-11 17:15:55 +03:00
Anatoli Babenia
7523daaf33 edit: review fixes
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-04-11 17:15:55 +03:00
Anatoli Babenia
a0e68613f5 Fix false/Boolean type check
https://sorbet.org/docs/error-reference#7001
2025-04-11 17:15:55 +03:00
Anatoli Babenia
9bf4e620e0 edit: show --build-from-source only for formulas 2025-04-11 17:15:55 +03:00
Anatoli Babenia
fb5438bfd1 Update Library/Homebrew/dev-cmd/edit.rb
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-04-11 17:15:54 +03:00
Anatoli Babenia
fc0d7ac21d dev-cmd/edit: Actionable message about no API install 2025-04-11 17:15:54 +03:00
Mike McQuaid
458512183b
Merge pull request #19741 from rafaelgallani/master
dev-cmd/create: Handle nil stdin
2025-04-11 11:12:48 +00:00
Rafael Gallani
ef13b69b03
dev-cmd/create: handle nil stdin 2025-04-11 08:48:54 +01:00
Patrick Linnane
fab8865b26
Merge pull request #19740 from Homebrew/dependabot/bundler/Library/Homebrew/rbi-0.3.2
build(deps-dev): bump rbi from 0.3.1 to 0.3.2 in /Library/Homebrew
2025-04-11 07:45:28 +00:00
Mike McQuaid
37eff7bc52
Merge pull request #19736 from Homebrew/drop_tests_macos_13
workflows/tests: drop macOS 13 tests.
2025-04-11 07:43:38 +00:00
BrewTestBot
93ddb1e6b9
Update RBI files for rbi.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-04-11 07:31:16 +00:00
BrewTestBot
f320358a86
brew vendor-gems: commit updates. 2025-04-11 07:31:08 +00:00
Patrick Linnane
cd57dbabb1
Merge pull request #19737 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/typing-extensions-4.13.2
build(deps): bump typing-extensions from 4.13.1 to 4.13.2 in /Library/Homebrew/formula-analytics
2025-04-11 07:29:53 +00:00
Patrick Linnane
6a32009951
Merge pull request #19738 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/urllib3-2.4.0
build(deps): bump urllib3 from 2.3.0 to 2.4.0 in /Library/Homebrew/formula-analytics
2025-04-11 07:29:30 +00:00
dependabot[bot]
0cbecb8598
build(deps-dev): bump rbi from 0.3.1 to 0.3.2 in /Library/Homebrew
Bumps [rbi](https://github.com/Shopify/rbi) from 0.3.1 to 0.3.2.
- [Release notes](https://github.com/Shopify/rbi/releases)
- [Commits](https://github.com/Shopify/rbi/compare/v0.3.1...v0.3.2)

---
updated-dependencies:
- dependency-name: rbi
  dependency-version: 0.3.2
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-10 18:27:32 +00:00
dependabot[bot]
0503a074dd
build(deps): bump urllib3 in /Library/Homebrew/formula-analytics
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.3.0...2.4.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.4.0
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-10 18:16:52 +00:00
dependabot[bot]
1dcc4e03a1
build(deps): bump typing-extensions
Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.13.1 to 4.13.2.
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.13.1...4.13.2)

---
updated-dependencies:
- dependency-name: typing-extensions
  dependency-version: 4.13.2
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-10 18:16:41 +00:00
Mike McQuaid
8aeaefe629
Merge pull request #19735 from Homebrew/brew_bundle_exec_env
bundle/commands/exec: adjust environment variable handling (again)
2025-04-10 15:40:44 +00:00
Mike McQuaid
2b92fc18fe
workflows/tests: drop macOS 13 tests.
These are almost 2x as slow as the next slowest tests and we'll be
dropping them around September this year at the latest anyway.

There's still some basic coverage from the "default formula" tests
which are much quicker to run on macOS 13.
2025-04-10 16:32:36 +01:00
Mike McQuaid
1a1aac9715
bundle/commands/exec: adjust environment variable handling (again)
We need to ensure that we keep around some `HOMEBREW_` variables so that
the e.g. `git` shim still works in `brew bundle exec`.
2025-04-10 16:16:53 +01:00
Mike McQuaid
1fb3bf8a14
Merge pull request #19733 from Homebrew/improve_brew_bundle_env
Improve `brew bundle exec`/`env`/`sh` environment handling
2025-04-10 14:43:27 +00:00
Mike McQuaid
359b68f827
Improve brew bundle exec/env/sh environment handling
- Rather than maintaining a list of Homebrew environment variables to
  delete, delete all Homebrew (and Portable Ruby) internal variables
  that won't be used by other tools.
- When exporting variables, only export variables that have changed.
- When exporting PATH-like variables, ensure the PATH is appending to
  the existing path rather than replacing it and ensure we only include
  newly added paths.
2025-04-10 15:23:02 +01:00
Mike McQuaid
8d62e7650d
Merge pull request #19734 from Homebrew/commands_exec_test_fix
bundle/commands/exec: add missing require.
2025-04-10 12:19:04 +00:00
Mike McQuaid
a1343c94d0
bundle/commands/exec: add missing require.
This should fix the flaky test failures in `exec_spec.rb`.
2025-04-10 13:04:01 +01:00
Patrick Linnane
9709c4f30f
Merge pull request #19732 from Moisan/formula_php_shebang
shebang: include php language in formula
2025-04-10 08:38:33 +00:00
Mike McQuaid
eb786171ae
Merge pull request #19725 from unitof/fix-docs
docs: fix Formula Cookbook build command
2025-04-10 08:29:58 +00:00
Patrick Linnane
98e78bc79a
Merge branch 'master' into formula_php_shebang 2025-04-09 12:54:30 -07:00
Patrick Linnane
a3d508f3f9
Merge pull request #19728 from Homebrew/dependabot/github_actions/github/codeql-action-3.28.15
build(deps): bump github/codeql-action from 3.28.14 to 3.28.15
2025-04-09 19:46:29 +00:00
Patrick Linnane
2faeb169c0
Merge pull request #19730 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.14
build(deps-dev): bump ruby-lsp from 0.23.13 to 0.23.14 in /Library/Homebrew
2025-04-09 19:37:30 +00:00
dependabot[bot]
c5a0be7e75
build(deps): bump github/codeql-action from 3.28.14 to 3.28.15
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.14 to 3.28.15.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](fc7e4a0fa0...45775bd823)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 12:31:21 -07:00
Jacob Ford
b7c9214b81
docs: fix Formula Cookbook build command 2025-04-09 15:22:32 -04:00
BrewTestBot
ad07a0f355
Update RBI files for ruby-lsp.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-04-09 12:15:43 -07:00
BrewTestBot
6e93200765
brew vendor-gems: commit updates. 2025-04-09 12:15:43 -07:00
dependabot[bot]
b513f8561d
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.13 to 0.23.14.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.13...v0.23.14)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-version: 0.23.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 12:15:43 -07:00
Patrick Linnane
eb847470b0
Merge pull request #19729 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-242e723c03
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-09 19:14:20 +00:00
Patrick Linnane
f365f70381
Merge pull request #19731 from Homebrew/vendor-gems-bundler-fix
dev-cmd/vendor-gems: fix incorrect Bundler version being used
2025-04-09 19:04:32 +00:00
BrewTestBot
c47da2b393
brew vendor-gems: commit updates. 2025-04-09 18:51:27 +00:00
Patrick Linnane
addd57f963
Merge pull request #19726 from Homebrew/upgrade-fix-test-regex
cmd/upgrade: fix output regex in test
2025-04-09 18:49:26 +00:00
Patrick Linnane
a272310c37
utils/gems: update Bundler version
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-09 11:43:19 -07:00
Bo Anderson
5ff37113ff
dev-cmd/vendor-gems: fix incorrect Bundler version being used 2025-04-09 19:35:13 +01:00
dependabot[bot]
70089c6d53
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11993 to 0.5.11998
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11993 to 0.5.11998
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11993 to 0.5.11998
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11993 to 0.5.11998
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.11998
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.11998
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.11998
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.11998
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 18:19:08 +00:00
Sam Ford
7b2d84337e
cmd/upgrade: fix output regex in test
The "upgrades with asking for user prompts with dependants checks"
test for `cmd/upgrade` has been failing on CI. The regex in the test
doesn't match expected output because the negative lookaheads aren't
working as expected. The intention is to make sure that the names
aren't repeated (i.e., second shouldn't match first, third shouldn't
match first or second) but the negative lookaheads should be
_inside_ the second/third capture group for this to work as intended.

This updated regex should work as expected. I manually tested it
using the output from CI to make sure that it matches when no formula
names are repeated (e.g., `Formulae (3): testball, testball4,
testball5`) and does not match if formula names are repeated (e.g.,
`Formulae (3): testball5, testball4, testball5`).
2025-04-09 12:56:06 -04:00
Patrick Linnane
304cf64d2d
Portable Ruby 3.3.8
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-09 09:48:25 -07:00
Thierry Moisan
8211e0de85
shebang: include php language in formula 2025-04-09 12:32:08 -04:00
Mike McQuaid
35897fe49c
Merge pull request #19723 from boblail/lail/dont-invalidate-cached-location-if-redirect
fix: Don't invalidate the cached location if the response is a redirect
2025-04-09 13:19:14 +00:00
Patrick Linnane
c370200dba
Merge pull request #19724 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-a6e2b33930
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-08 19:57:23 +00:00
BrewTestBot
63bc52413e
brew vendor-gems: commit updates. 2025-04-08 19:29:50 +00:00
dependabot[bot]
4de0689ff6
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11989 to 0.5.11993
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11989 to 0.5.11993
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11989 to 0.5.11993
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11989 to 0.5.11993
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.11993
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.11993
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.11993
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.11993
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-08 18:48:49 +00:00
Bob Lail
a6a8306c46 fix: Don't invalidate the cached location if the response is a redirect
A bug introduced with #19460 is that if a redirection has a file size (for example, if it is a 302 that also has HTML content), Homebrew will invalidate the cached location.
2025-04-08 11:14:56 -07:00
Mike McQuaid
96d32774b9
Merge pull request #19722 from Homebrew/moar_brew_bundle_services_tests
workflows/tests: add more brew bundle/services tests.
2025-04-08 10:09:22 +00:00
Mike McQuaid
7081129767
workflows/tests: add more brew bundle/services tests.
Add a few more commands for integration testing
2025-04-08 10:26:35 +01:00
Patrick Linnane
bf5bfd5a22
Merge pull request #19718 from Homebrew/dependabot/github_actions/actions/create-github-app-token-2.0.2
build(deps): bump actions/create-github-app-token from 1.12.0 to 2.0.2
2025-04-07 20:33:22 +00:00
Mike McQuaid
9bca39d89c
Merge pull request #19712 from Homebrew/brew_bundle_services_integration_tests
Add `brew bundle` and `brew services` integration tests
2025-04-07 18:14:48 +00:00
Patrick Linnane
2eb614a465
Merge pull request #19719 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-a3f059fb94
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-07 16:48:00 +00:00
Patrick Linnane
38628a3bf1
Merge pull request #19720 from Homebrew/dependabot/github_actions/github/codeql-action-3.28.14
build(deps): bump github/codeql-action from 3.28.13 to 3.28.14
2025-04-07 16:47:15 +00:00
Mike McQuaid
e6420932bf
Add brew bundle and brew services integration tests
We've had a few regressions in `brew bundle` and `brew services`
recently that would have been caught by actual integration tests.

This is similar to the "default formula" jobs but we want to run outside
of those containers so we can run e.g. systemd.

This will avoid bloating the runtime of already longer-running jobs.
2025-04-07 17:33:50 +01:00
BrewTestBot
5d30fe5573
brew vendor-gems: commit updates. 2025-04-07 16:32:50 +00:00
dependabot[bot]
694f4b3040
build(deps): bump github/codeql-action from 3.28.13 to 3.28.14
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.13 to 3.28.14.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](1b549b9259...fc7e4a0fa0)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 16:30:18 +00:00
dependabot[bot]
287e6132c4
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11987 to 0.5.11989
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11987 to 0.5.11989
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11987 to 0.5.11989
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11987 to 0.5.11989
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.11989
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.11989
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.11989
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.11989
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 16:30:14 +00:00
dependabot[bot]
9327644397
build(deps): bump actions/create-github-app-token from 1.12.0 to 2.0.2
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.12.0 to 2.0.2.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](d72941d797...3ff1caaa28)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 2.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 16:30:10 +00:00
Mike McQuaid
58df019fcc
Merge pull request #19716 from Homebrew/move_homebrew_bootsnap_gem_path
utils/ruby: set HOMEBREW_BOOTSNAP_GEM_PATH after Ruby install.
2025-04-07 16:10:50 +00:00
Mike McQuaid
020a30caa7
utils/ruby: set HOMEBREW_BOOTSNAP_GEM_PATH after Ruby install.
This should ensure it's set to the correct path.
2025-04-07 16:55:20 +01:00
Bo Anderson
25214f1f39
Merge pull request #19714 from Homebrew/bundle-sim-services-2
Reland "bundle: handle simultaneous exec --services better"
2025-04-07 15:46:39 +00:00
Mike McQuaid
568b707bc9
Merge pull request #19713 from Homebrew/services-loaded_file-2
Revert "Revert "services: add loaded_file data""
2025-04-07 14:53:01 +00:00
Bo Anderson
80f5c42f02
bundle/commands/exec: handle no services to start 2025-04-07 14:12:41 +01:00
Bo Anderson
f2513965e8
Revert "Revert "bundle: handle simultaneous exec --services better""
This reverts commit 94db0b2f3408280e20ca3888ed5c91672ab4fca2.
2025-04-07 14:10:42 +01:00
Bo Anderson
52a7b67ba5
Revert "Revert "services: add loaded_file data""
This reverts commit 76901b1352d776a0fb53696b0e61eed420186b0c.
2025-04-07 14:05:39 +01:00
Mike McQuaid
334bf23768
Merge pull request #19709 from Homebrew/bump-cask-pr-respect-os-arch
bump-cask-pr: respect `depends_on arch`
2025-04-07 07:34:05 +00:00
Sam Ford
99681d7fbc
bump-cask-pr: replace "host" naming with "current"
`Homebrew::SimulateSystem.current_os` may be returning the host OS or
a simulated OS and we can't be sure which in this context. At the
moment, this is expected to be the host OS but that may change in the
future. It shouldn't matter on a technical level but using "host" in
these variable names may lead to confusion.

This replaces "host" in names with "current", as it more accurately
describes the information.
2025-04-06 10:58:47 -04:00
Sam Ford
b7065d5fcf
bump-cask-pr: extract system_options generation
This extracts the logic for generating the `system_options` array in
the `replace_version_and_checksum` method into a separate
`generate_system_options` method. This logic is becoming more complex
(after recent changes) and manually testing it is a pain, so this
change is intended to allow us to add tests. The tests added here
provide 100% coverage for the method.
2025-04-06 10:58:46 -04:00
Sam Ford
6f06afbc11
bump-cask-pr: respect depends_on arch
This reworks the `SimulateSystem` args in the `bump-cask-pr`
`replace_version_and_checksum` method to respect `depends_on arch`
values in casks. That is to say, we shouldn't simulate Intel for a
cask using `depends_on arch: :arm64` and we shouldn't simulate ARM if
the cask uses `depends_on arch: :x86_64`.

In the process, this refactors how we collect/combine OS/arch values.
To make this approach work predictably, I removed the logic that
omits OS values matching the host OS (as `SimulateSystem` already
handles this). The `[{ os:, arch: }]` hash format only made sense when
we were omitting values, so this returns to the previous
`[[os, arch]]` array format (to align with the
`OnSystem::ALL_OS_ARCH_COMBINATIONS` array format).
2025-04-06 10:58:46 -04:00
Patrick Linnane
d6da002a6e
Merge pull request #19708 from Homebrew/dependabot/bundler/Library/Homebrew/vernier-1.7.0
build(deps-dev): bump vernier from 1.6.0 to 1.7.0 in /Library/Homebrew
2025-04-04 15:32:31 +00:00
Patrick Linnane
01cc0ee798
Merge pull request #19707 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-633609048a
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-04 15:31:16 +00:00
BrewTestBot
b3d14a1b09
Update RBI files for vernier.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-04-04 15:17:41 +00:00
BrewTestBot
e07d2b334b
brew vendor-gems: commit updates. 2025-04-04 15:17:33 +00:00
BrewTestBot
2911ea1117
Update RBI files for sorbet.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-04-04 15:17:28 +00:00
BrewTestBot
1435ce56a9
brew vendor-gems: commit updates. 2025-04-04 15:17:24 +00:00
dependabot[bot]
b8434f86fb
build(deps-dev): bump vernier from 1.6.0 to 1.7.0 in /Library/Homebrew
Bumps [vernier](https://github.com/jhawthorn/vernier) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/jhawthorn/vernier/releases)
- [Commits](https://github.com/jhawthorn/vernier/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: vernier
  dependency-version: 1.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-04 15:15:59 +00:00
dependabot[bot]
535dc372f6
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11984 to 0.5.11987
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11984 to 0.5.11987
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11984 to 0.5.11987
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11984 to 0.5.11987
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.11987
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.11987
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.11987
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.11987
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-04 15:15:41 +00:00
Mike McQuaid
0d6de643f8
Merge pull request #19706 from Homebrew/revert-19703-bundle-exec-simultaneous-services
Revert "bundle: handle simultaneous `exec --services` better"
2025-04-04 14:47:04 +00:00
Mike McQuaid
94db0b2f34
Revert "bundle: handle simultaneous exec --services better" 2025-04-04 15:30:47 +01:00
Mike McQuaid
4c56360267
Merge pull request #19700 from Homebrew/livecheck/make-os-available
Make `os` available in `livecheck` blocks
2025-04-04 14:29:16 +00:00
Sam Ford
8d52d9b3fc
livecheck: add tests for delegates
This adds tests for the livecheck DSL's `version` and `arch`
delegates. This doesn't affect test coverage but it ensures that the
methods work as expected in `livecheck` blocks.
2025-04-04 09:17:32 -04:00
Sam Ford
ed48426a33
tests: support :needs_arm, :needs_intel metadata
This adds the ability to specify tests that depend on a certain CPU
architecture using `:needs_arm` or `:needs_intel`, similar to the
existing `:needs_macos` and `:needs_linux` metadata for tests that
depend on a certain OS.
2025-04-04 09:17:32 -04:00
Sam Ford
97cce36779
Make os available in cask livecheck blocks
Casks now support an `os` DSL method, similar to `arch`. This makes
it available in `livecheck` blocks, like we do with `arch`.
2025-04-04 09:17:32 -04:00
Mike McQuaid
fc86107ebe
Merge pull request #19705 from Homebrew/revert-19702-services-loaded_file
Revert "services: add loaded_file data"
2025-04-04 12:24:20 +00:00
Mike McQuaid
76901b1352
Revert "services: add loaded_file data" 2025-04-04 13:11:13 +01:00
Mike McQuaid
74992445af
Merge pull request #19703 from Homebrew/bundle-exec-simultaneous-services
bundle: handle simultaneous `exec --services` better
2025-04-04 11:04:06 +00:00
Mike McQuaid
79d5115ba3
Merge pull request #19689 from Homebrew/bump-cask-pr-fix-macos-host-handling
bump-cask-pr: fix macOS host handling
2025-04-04 07:51:44 +00:00
Mike McQuaid
0d9c0561e1
Merge pull request #19702 from Homebrew/services-loaded_file
services: add loaded_file data
2025-04-04 07:51:38 +00:00
Bo Anderson
1ef00cb55f
bundle: handle simultaneous exec --services better 2025-04-04 08:10:11 +01:00
Bo Anderson
a6bee0736f
services: add loaded_file data 2025-04-04 07:25:10 +01:00
Bo Anderson
1c71c200bf
Merge pull request #19698 from Homebrew/fix-cop-namespace
os/linux/development_tools: update cop namespace
2025-04-04 05:40:59 +00:00
Patrick Linnane
997ea136b6
os/linux/development_tools: update cop namespace
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-03 19:43:31 -07:00
Patrick Linnane
5a72a46ab0
Merge pull request #19694 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-1.75.2
build(deps-dev): bump rubocop from 1.75.1 to 1.75.2 in /Library/Homebrew
2025-04-03 22:25:04 +00:00
Sam Ford
612fec47f3
bump-cask-pr: rescue CaskUnreadableError
The `replace_version_and_checksum` method handles a `CaskInvalidError`
when loading a cask (handling casks that aren't valid on Linux) but
we can sometimes still encounter an error when bumping a cask with
on_system blocks. For example, bumping `displaylink` will produce a
`Cask 'displaylink' is unreadable: undefined method 'csv' for nil`
error when `SimulateSystem` runs as Linux, as the cask interpolates
`version.csv.first` in a `license` string but `version` isn't set on
Linux.

This adds `Cask::CaskUnreadableError` to the `rescue` arguments,
which accounts for this particular situation (allowing `displaylink`
to be bumped like before).
2025-04-03 17:56:48 -04:00
Sam Ford
38410f5432
bump-cask-pr: fix macOS host handling
`bump-cask-pr` was recently updated to add Linux support but the
change to the `replace_version_and_checksum` logic has broken the
command for casks that have on_system blocks that reference specific
macOS versions (e.g., `on_monterey :or_newer` in `logi-options+`).

The previous logic only simulated the arch, so the `current_os` value
on macOS was a specific version like `:sequoia`. The current logic
uses generic `:macos` values, which work for `on_macos` blocks but
don't work for blocks like `on_sequoia`, etc. This leads to an
`undefined method 'latest?' for nil` error, as `old_cask.version` is
`nil` in this scenario (i.e., none of the on_system blocks apply to
`:macos`, so `version` is never set).

This updates the method to only specify the OS in `system_options` if
the value doesn't align with the host (e.g., `:linux` on macOS),
which restores the previous behavior.

This also replaces `:macos` values with the newest macOS version
(e.g., `:sequoia`), so that `bump-cask-pr` on Linux can update casks
with on_system blocks that reference specific macOS versions. A
generic `:macos` value doesn't work with those on_system blocks, so
`version` is never called on Linux in that scenario but it works as
expected if we use the newest macOS value instead. This may not be
perfect but it brings `bump-cask-pr` a little closer to parity with
macOS on Linux.

Lastly, this skips `system_options` values where `old_cask` has no
version, as this means the cask doesn't apply to that OS/arch. We've
been seeing a related error on homebrew/cask autobump CI and this
guard should help to avoid it.
2025-04-03 17:56:47 -04:00
BrewTestBot
d0476b4a3d
Update RBI files for rubocop.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-04-03 20:32:27 +00:00
BrewTestBot
f5f84ee233
brew vendor-gems: commit updates. 2025-04-03 20:32:04 +00:00
dependabot[bot]
fee0621256
build(deps-dev): bump rubocop from 1.75.1 to 1.75.2 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.75.1 to 1.75.2.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.75.1...v1.75.2)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-version: 1.75.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-03 20:27:31 +00:00
Patrick Linnane
b250ca8055
Merge pull request #19695 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-ast-1.44.0
build(deps-dev): bump rubocop-ast from 1.43.0 to 1.44.0 in /Library/Homebrew
2025-04-03 20:06:49 +00:00
Patrick Linnane
e863fe3ee0
Merge pull request #19693 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-997f6512ce
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-03 20:05:21 +00:00
BrewTestBot
1d1732d053
Update RBI files for rubocop-ast.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-04-03 19:52:02 +00:00
BrewTestBot
be30f8b84c
brew vendor-gems: commit updates. 2025-04-03 19:51:54 +00:00
BrewTestBot
d72f74abb6
brew vendor-gems: commit updates. 2025-04-03 19:51:49 +00:00
Patrick Linnane
adcd8e050a
Merge pull request #19696 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/typing-extensions-4.13.1
build(deps): bump typing-extensions from 4.12.2 to 4.13.1 in /Library/Homebrew/formula-analytics
2025-04-03 19:51:47 +00:00
dependabot[bot]
75a72b90e3
build(deps): bump typing-extensions
Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.12.2 to 4.13.1.
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.12.2...4.13.1)

---
updated-dependencies:
- dependency-name: typing-extensions
  dependency-version: 4.13.1
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-03 18:54:37 +00:00
dependabot[bot]
83486fbe9d
build(deps-dev): bump rubocop-ast in /Library/Homebrew
Bumps [rubocop-ast](https://github.com/rubocop/rubocop-ast) from 1.43.0 to 1.44.0.
- [Release notes](https://github.com/rubocop/rubocop-ast/releases)
- [Changelog](https://github.com/rubocop/rubocop-ast/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-ast/compare/v1.43.0...v1.44.0)

---
updated-dependencies:
- dependency-name: rubocop-ast
  dependency-version: 1.44.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-03 18:37:04 +00:00
dependabot[bot]
e942d9e369
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11980 to 0.5.11984
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11980 to 0.5.11984
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11980 to 0.5.11984
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11980 to 0.5.11984
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.5.11984
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-version: 0.5.11984
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-version: 0.5.11984
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-version: 0.5.11984
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-03 18:36:20 +00:00
Mike McQuaid
e3137f192f
Merge pull request #19642 from Homebrew/linux_ci_gcc
Update Linux GCC code.
2025-04-03 15:25:43 +00:00
Mike McQuaid
8937beb3a1
Merge pull request #19688 from Homebrew/unbottled-linux-arch
dev-cmd/unbottled: check arch requirement on Linux
2025-04-03 15:11:49 +00:00
Mike McQuaid
0c476a0a97
Merge pull request #19692 from Homebrew/services_prioritise_print
services: prioritise `launchctl print` over `launchctl list`.
2025-04-03 14:13:50 +00:00
Michael Cho
053fa14fc2
dev-cmd/unbottled: check arch requirement on Linux 2025-04-03 10:01:07 -04:00
Mike McQuaid
2b4324af9b
Update Linux GCC code.
Update both the variables that dictate this and the documents that
explain our GCC/glibc policies.

These should ease a future migration to a newer GCC version.
2025-04-03 12:47:21 +01:00
Mike McQuaid
5a211a022d
Merge pull request #19691 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-04-03 11:05:27 +00:00
Mike McQuaid
08633d4cb6
Merge pull request #19686 from Homebrew/bundle_exec_env_version
bundle: fix up formula name for environment variable.
2025-04-03 10:15:47 +00:00
Mike McQuaid
3012f427df
bundle: fix up formula name for environment variable.
We previously were trying to pass through invalid environment variable
names so let's fix these up and query those instead.
2025-04-03 11:05:07 +01:00
Mike McQuaid
c592ae63dd
services: prioritise launchctl print over launchctl list.
In https://github.com/Homebrew/brew/pull/19602 we changed
`launchctl list` to pass the domain target. Sadly, this is not valid
syntax. Instead, restore passing the `service_name` to `launchctl list`
and instead use `launchctl print` first to query the more specific
domain target before we fall back to the less specific service name.
2025-04-03 10:01:45 +01:00
BrewTestBot
12e2818d1b
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-04-03 08:12:33 +00:00
Mike McQuaid
e537b716e8
Merge pull request #19685 from botantony/bump-no-auto
dev-cmd/bump: add `--no-autobump` flag
2025-04-03 07:47:20 +00:00
Mike McQuaid
b44dfb2999
Merge pull request #19676 from Homebrew/brew_bundle_upgrade_formula
Add `brew bundle --upgrade-formulae`
2025-04-03 07:37:07 +00:00
Patrick Linnane
b534d61c0b
Merge pull request #19687 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-46ed8de968
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-03 02:35:00 +00:00
BrewTestBot
b93734c336
brew vendor-gems: commit updates. 2025-04-03 01:55:24 +00:00
botantony
3c33fa9d43
dev-cmd/bump: update shell completions and man page
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-02 20:29:50 +02:00
dependabot[bot]
64f71f53bb
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11971 to 0.5.11980
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11971 to 0.5.11980
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11971 to 0.5.11980
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11971 to 0.5.11980
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-02 18:10:10 +00:00
Mike McQuaid
89d0309b9c
Add brew bundle --upgrade-formulae
This flag allows you to specify formulae to upgrade, even if
`$HOMEBREW_BUNDLE_NO_UPGRADE` is set.

This is useful for upgrading specific formulae without upgrading all
formulae.

While we're here, let's add Sorbet signatures to the `Bundle` module
because I needed to add a new method there anyway.
2025-04-02 17:15:36 +01:00
Bo Anderson
e42c792fe3
Merge pull request #19684 from Homebrew/bundle-exec-tests
bundle: add tests for `exec --services`
2025-04-02 15:52:26 +00:00
botantony
aa86fcc9b3
dev-cmd/bump: suggestions from MikeMcQuaid
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-02 17:23:09 +02:00
Bo Anderson
4254b75cb8
bundle: add tests for exec --services 2025-04-02 16:09:16 +01:00
botantony
e3875f790e
dev-cmd/bump: add --no-auto flag
I do not like that `brew bump` command checks every single formula/cask,
even ones updated by BrewTestBot. Instead of showing useful info about
outdated packages, my terminal buffer is fludded with `Formula is
autobumped so will have bump PRs opened by BrewTestBot every ~3 hours`.
This flag excludes autobumped packages before checking them.

Signed-off-by: botantony <antonsm21@gmail.com>
2025-04-02 16:44:44 +02:00
Mike McQuaid
c7634843d7
Merge pull request #19680 from kvokka/docs-improve-homebrew-on-linux-docs
docs: Remove aarch64 unsupported note for Homebrew on Linux #1
2025-04-02 08:26:55 +00:00
Mike McQuaid
ee6d5689a8
Merge pull request #19681 from Homebrew/parser-optimizations
perf: rubocop/tapioca parser optimizations
2025-04-02 08:15:00 +00:00
Mike McQuaid
7ef0daa6fb
Add Linux kernel requirement for Tier 1 support 2025-04-02 09:08:47 +01:00
Mike McQuaid
59569bbc69
Update Homebrew on Linux documentation
More support tier tweaks.
2025-04-02 09:07:47 +01:00
Mike McQuaid
37c357c258
docs/Homebrew-on-Linux: reference support tiers. 2025-04-02 09:06:16 +01:00
Mike McQuaid
d6f0e9f0fe
Merge pull request #19682 from Homebrew/cask-audit-container-dep
cask/audit: install container deps
2025-04-02 08:00:39 +00:00
Mike McQuaid
540bf02f6d
Merge pull request #19679 from Homebrew/update-if-needed
brew.sh: fix update-if-needed failing after update
2025-04-02 07:31:39 +00:00
Bevan Kay
4852829931
cask/audit: install container deps 2025-04-02 16:34:28 +11:00
Douglas Eichelberger
b3b6c147fb
perf: rubocop/tapioca parser optimizations 2025-04-01 21:26:09 -07:00
Mikhail Beliakov
1acba980c3
Remove aarch64 unsupported note for Homebrew on Linux 2025-04-02 05:01:13 +01:00
Bo Anderson
e0f7085299
brew.sh: fix update-if-needed failing after update 2025-04-02 02:44:12 +01:00
Patrick Linnane
b4ae6f5513
Merge pull request #19677 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-sorbet-0.10.0
build(deps-dev): bump rubocop-sorbet from 0.9.0 to 0.10.0 in /Library/Homebrew
2025-04-02 01:14:11 +00:00
Patrick Linnane
c1f98de96b
rubocop-sorbet: convert to plugin
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-04-01 18:00:11 -07:00
BrewTestBot
0dcdeb6cb4
brew vendor-gems: commit updates. 2025-04-01 18:00:10 -07:00
dependabot[bot]
e088eb2caf
build(deps-dev): bump rubocop-sorbet in /Library/Homebrew
Bumps [rubocop-sorbet](https://github.com/shopify/rubocop-sorbet) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/shopify/rubocop-sorbet/releases)
- [Commits](https://github.com/shopify/rubocop-sorbet/compare/v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: rubocop-sorbet
  dependency-version: 0.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-01 18:00:08 -07:00
Patrick Linnane
44f5f4cb15
Merge pull request #19678 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-performance-1.25.0
build(deps-dev): bump rubocop-performance from 1.24.0 to 1.25.0 in /Library/Homebrew
2025-04-01 20:53:11 +00:00
BrewTestBot
087279ebc1
brew vendor-gems: commit updates. 2025-04-01 20:40:25 +00:00
dependabot[bot]
6732ddfe8f
build(deps-dev): bump rubocop-performance in /Library/Homebrew
Bumps [rubocop-performance](https://github.com/rubocop/rubocop-performance) from 1.24.0 to 1.25.0.
- [Release notes](https://github.com/rubocop/rubocop-performance/releases)
- [Changelog](https://github.com/rubocop/rubocop-performance/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-performance/compare/v1.24.0...v1.25.0)

---
updated-dependencies:
- dependency-name: rubocop-performance
  dependency-version: 1.25.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-01 18:51:59 +00:00
Patrick Linnane
09ae8e93f3
Merge pull request #19675 from Homebrew/bundle_formula_version
bundle: use HOMEBREW_BUNDLE_FORMULA_VERSION_* for formula version.
2025-04-01 16:20:15 +00:00
Patrick Linnane
407d64108c
Merge pull request #19673 from Homebrew/bundle_tests_coverage
test/bundle: add additional test coverage.
2025-04-01 16:19:46 +00:00
Patrick Linnane
8df90c8e6f
Merge pull request #19674 from Homebrew/bundle_cleanup_keepme
bundle/commands/cleanup: correctly handle `.keepme` references.
2025-04-01 16:19:26 +00:00
Patrick Linnane
b4d18a8c6d
Merge pull request #19657 from Homebrew/support_tiers_code
Link to Support Tiers in diagnostic/error messages
2025-04-01 16:19:01 +00:00
Patrick Linnane
39afba427e
Merge pull request #19670 from Homebrew/bump_warn_unofficial_taps
dev-cmd/bump-*: only warn on duplicate PRs for official taps.
2025-04-01 16:18:22 +00:00
Patrick Linnane
139fa6dc4c
Merge pull request #19659 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-40b20f2084
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-04-01 16:17:21 +00:00
BrewTestBot
f9ea1956d2
brew vendor-gems: commit updates. 2025-04-01 14:59:45 +00:00
Mike McQuaid
37752e3088
bundle: use HOMEBREW_BUNDLE_FORMULA_VERSION_* for formula version.
As this variable is no longer just used for `brew bundle exec`.
2025-04-01 15:35:27 +01:00
Mike McQuaid
cf8835eff7
test/bundle: add additional test coverage.
Add missing test coverage, requires, fix a TODO and remove `needs_macos`
from a cask test.
2025-04-01 15:17:19 +01:00
Mike McQuaid
c72386e3c3
bundle/commands/cleanup: correctly handle .keepme references.
Extract the relevant logic from `formula.rb`, moving to `keg.rb` and
then use this logic in `bundle/commands/cleanup.rb` to ensure that we
don't say we need to uninstall formulae that should be still kept.
2025-04-01 15:12:12 +01:00
dependabot[bot]
d433876dea
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11965 to 0.5.11966
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11965 to 0.5.11966
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11965 to 0.5.11966
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11965 to 0.5.11966
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-01 13:23:45 +00:00
Mike McQuaid
f9baac24a2
Merge pull request #19672 from Homebrew/fix_bump_cask_pr_os_arch
dev-cmd/bump-cask-pr: fix Linux cask bumping.
2025-04-01 13:20:08 +00:00
Mike McQuaid
ce720c1d61
Merge pull request #19649 from botantony/php-shebang
language: add php shebang module
2025-04-01 13:14:48 +00:00
Mike McQuaid
7c691aad9b
Merge pull request #19671 from Homebrew/dockerfile_formatting
Dockerfile: autoformat.
2025-04-01 12:46:05 +00:00
Mike McQuaid
7250624b56
dev-cmd/bump-cask-pr: fix Linux cask bumping.
- Remove check for `cask.depends_on.macos` as it seems to be always
  present and set to at least >=10.11
- When we've specified multiple architectures, allow casks to be invalid
  on some architectures.
2025-04-01 12:07:16 +01:00
Mike McQuaid
ca65389584
Dockerfile: autoformat.
When I was working on this in VSCode with auto-formatting enabled: it
wanted to make these changes which seem nicer to let's let it.
2025-04-01 11:35:43 +01:00
Mike McQuaid
d899f00c4b
Link to Support Tiers in diagnostic/error messages
Now that we have this nice URL let's reference it to allow our other
messages to be a bit shorter/kinder.
2025-04-01 11:35:27 +01:00
Mike McQuaid
108ecf9aac
dev-cmd/bump-*: only warn on duplicate PRs for official taps.
The default behaviour is too strict for unofficial taps. We can still
warn elsewhere but, given the potential for false positives, let's
loosen things a bit.
2025-04-01 11:01:17 +01:00
Carlo Cabrera
3f7c0854a3
Merge pull request #19669 from Homebrew/formula-grammar
formula: fix warning message grammar
2025-04-01 09:34:01 +00:00
Carlo Cabrera
b66c682dc6
formula: fix warning message grammar
The sentence needs a verb.
2025-04-01 17:19:57 +08:00
Mike McQuaid
319c3e95b5
Merge pull request #19658 from Homebrew/bootsnap_default
Enable Bootsnap by default
2025-04-01 07:31:26 +00:00
Patrick Linnane
0b0467716f
Merge pull request #19666 from Homebrew/rm-ssh-no-op
workflows: remove no-op ssh signing value
2025-04-01 01:13:00 +00:00
Bevan Kay
c9abd145cb
Merge pull request #19667 from Homebrew/unsupported-configs
docs/Support-Tiers: update unsupported config examples
2025-03-31 23:45:07 +00:00
Patrick Linnane
9fd33121da
docs/Support-Tiers: update unsupported config examples
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-03-31 16:11:28 -07:00
Patrick Linnane
b6cad3be14
workflows: remove no-op ssh signing value
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-03-31 16:09:20 -07:00
Patrick Linnane
3300807905
Merge pull request #19660 from Homebrew/dependabot/bundler/Library/Homebrew/parser-3.3.7.4
build(deps-dev): bump parser from 3.3.7.3 to 3.3.7.4 in /Library/Homebrew
2025-03-31 22:54:14 +00:00
Patrick Linnane
e73e9fa10a
Merge pull request #19661 from Homebrew/dependabot/bundler/Library/Homebrew/rbs-3.9.2
build(deps-dev): bump rbs from 3.9.1 to 3.9.2 in /Library/Homebrew
2025-03-31 22:54:11 +00:00
BrewTestBot
80ae335b2f
Update RBI files for parser.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-31 22:41:56 +00:00
Patrick Linnane
3278f931d3
Merge pull request #19664 from Homebrew/dependabot/github_actions/actions/create-github-app-token-1.12.0
build(deps): bump actions/create-github-app-token from 1.11.7 to 1.12.0
2025-03-31 22:38:58 +00:00
BrewTestBot
80a9659a13
Update RBI files for rbs.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-31 22:38:33 +00:00
BrewTestBot
2eda7c418e
brew vendor-gems: commit updates. 2025-03-31 22:38:24 +00:00
BrewTestBot
c9e2fb9689
brew vendor-gems: commit updates. 2025-03-31 22:38:13 +00:00
Patrick Linnane
5e739ea4d6
Merge pull request #19663 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.229.0
build(deps): bump ruby/setup-ruby from 1.227.0 to 1.229.0
2025-03-31 22:38:08 +00:00
Patrick Linnane
45c7a29209
Merge pull request #19662 from Homebrew/dependabot/github_actions/actions/setup-python-5.5.0
build(deps): bump actions/setup-python from 5.4.0 to 5.5.0
2025-03-31 22:37:46 +00:00
dependabot[bot]
f29901daec
build(deps): bump actions/create-github-app-token from 1.11.7 to 1.12.0
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.7 to 1.12.0.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](af35edadc0...d72941d797)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 19:54:34 +00:00
dependabot[bot]
2acd33060f
build(deps): bump ruby/setup-ruby from 1.227.0 to 1.229.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.227.0 to 1.229.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](1a615958ad...354a1ad156)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 19:54:24 +00:00
dependabot[bot]
fabcad58ae
build(deps): bump actions/setup-python from 5.4.0 to 5.5.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](42375524e2...8d9ed9ac5c)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 19:53:01 +00:00
dependabot[bot]
47d53a7f85
build(deps-dev): bump rbs from 3.9.1 to 3.9.2 in /Library/Homebrew
Bumps [rbs](https://github.com/ruby/rbs) from 3.9.1 to 3.9.2.
- [Release notes](https://github.com/ruby/rbs/releases)
- [Changelog](https://github.com/ruby/rbs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby/rbs/compare/v3.9.1...v3.9.2)

---
updated-dependencies:
- dependency-name: rbs
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 19:24:00 +00:00
dependabot[bot]
37b3a94a37
build(deps-dev): bump parser in /Library/Homebrew
Bumps [parser](https://github.com/whitequark/parser) from 3.3.7.3 to 3.3.7.4.
- [Changelog](https://github.com/whitequark/parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/whitequark/parser/compare/v3.3.7.3...v3.3.7.4)

---
updated-dependencies:
- dependency-name: parser
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 19:23:45 +00:00
Mike McQuaid
9560c01453
Enable Bootsnap by default
- do some optimisation of `require`s before Bootsnap
- remove `HOMEBREW_BOOTSTRAP` environment variable as it's set by
  default
- add fast require in `bootsnap.rb` using logic from `ruby.sh`
- cleanup `bootsnap.rb` a bit
- remove setting `HOMEBREW_BOOTSNAP` in GitHub Actions
2025-03-31 17:55:07 +01:00
Sean Molenaar
faddb73204
Merge pull request #19510 from Homebrew/feat/bump-cask/on_linux
feat: add linux support to bump-cask-pr
2025-03-31 13:30:34 +00:00
Mike McQuaid
9b1efcd944
Merge pull request #19641 from Homebrew/support_tiers
Add Support Tiers documentation
2025-03-31 08:55:01 +00:00
Mike McQuaid
50bdbd657d
Merge pull request #19654 from infogrind/fix_homepage
Correctly handle missing homepage in GitHub API response
2025-03-31 08:44:57 +00:00
Mike McQuaid
7f17aeca61
Add Support Tiers documentation
This provides clarify to users about the support tiers for Homebrew.

Co-authored-by: Douglas Eichelberger <697964+dduugg@users.noreply.github.com>
Co-authored-by: Bo Anderson <mail@boanderson.me>
Co-authored-by: Sam Ford <1584702+samford@users.noreply.github.com>
2025-03-31 09:40:47 +01:00
Marius Kleiner
24e849b75e
Merge branch 'master' into fix_homepage 2025-03-31 09:55:17 +02:00
Mike McQuaid
a9e387e0db
Merge pull request #19656 from Homebrew/whalebrew-test-fix
test/bundle/whalebrew_installer: fix flaky test from missing resets
2025-03-31 07:34:49 +00:00
Bo Anderson
f69ff29d93
test/bundle/whalebrew_installer: fix flaky test from missing resets 2025-03-30 19:29:42 +01:00
Carlo Cabrera
7707ef146c
Merge pull request #19651 from gromgit/diagnostic/mac_fuse3_allow
diagnostic: allow macFUSE FUSE3 files
2025-03-30 17:30:43 +00:00
Marius Kleiner
c18dab0e2c Fix style errors 2025-03-30 18:15:00 +02:00
Marius Kleiner
812f953d39 Even simpler check for nil/empty string/etc. 2025-03-30 18:08:20 +02:00
Marius Kleiner
426336a6ae Simplify nil check 2025-03-30 18:01:02 +02:00
Marius Kleiner
59b441e718 Don't fail if GitHub repo homepage is not present 2025-03-30 17:09:01 +02:00
Adrian Ho
af49990b4f diagnostic: allow macFUSE FUSE3 files
FUSE 3 support was introduced in macFUSE 4.10.0.

Resolves #19650.
2025-03-30 21:41:16 +08:00
botantony
fc39f14eff
.rubocop.yml: add language/php.rb file
Signed-off-by: botantony <antonsm21@gmail.com>
2025-03-30 03:24:25 +02:00
botantony
342d39e8a4
language: add php shebang module
Signed-off-by: botantony <antonsm21@gmail.com>
2025-03-30 03:24:24 +02:00
Patrick Linnane
458c126929
Merge pull request #19643 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-ead9bf2037
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-29 04:38:17 +00:00
Patrick Linnane
b5fc858c92
Merge pull request #19644 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.13
build(deps-dev): bump ruby-lsp from 0.23.12 to 0.23.13 in /Library/Homebrew
2025-03-29 04:35:19 +00:00
BrewTestBot
10becee570
Update RBI files for ruby-lsp.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-28 19:08:17 +00:00
BrewTestBot
199813f738
brew vendor-gems: commit updates. 2025-03-28 19:08:07 +00:00
BrewTestBot
7589a105db
brew vendor-gems: commit updates. 2025-03-28 19:07:56 +00:00
dependabot[bot]
2c663d8f17
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.12 to 0.23.13.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.12...v0.23.13)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-28 18:57:36 +00:00
dependabot[bot]
1b8b6d7860
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11960 to 0.5.11965
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11960 to 0.5.11965
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11960 to 0.5.11965
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11960 to 0.5.11965
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-28 18:57:13 +00:00
Douglas Eichelberger
138eba20f8
Merge pull request #19618 from Homebrew/formula-url-getter
fix: Allow Formula.url with no args to get url
2025-03-28 17:31:45 +00:00
Mike McQuaid
fea657156f
Merge pull request #19638 from Homebrew/services_named_args
cmd/services: add named arguments.
2025-03-28 17:22:41 +00:00
Mike McQuaid
f54b4183a0
cmd/services: add named arguments.
This improves the generated completions.

Co-authored-by: Eric Knibbe <enk3@outlook.com>
2025-03-28 16:11:12 +00:00
Mike McQuaid
11426c9680
Merge pull request #19623 from abitrolly/github-homepage-empty
create: use GitHub project URL if homepage is empty
2025-03-28 11:52:05 +00:00
Ruoyu Zhong
380bfbb5c9
Merge pull request #19640 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-03-28 09:37:14 +00:00
BrewTestBot
2cee8e9c08
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-03-28 09:05:47 +00:00
Mike McQuaid
7b2ca65eac
Merge pull request #19621 from abitrolly/create-url-not-file
create: check that downloaded URL is actually archive
2025-03-28 08:52:00 +00:00
Mike McQuaid
2603401bcb
Merge pull request #19552 from Homebrew/bundle-services
Add `brew bundle exec --services`
2025-03-28 08:43:43 +00:00
Bo Anderson
c273d8b467
test/bundle: improve coverage 2025-03-28 05:54:59 +00:00
Bo Anderson
650f62bcba
Fold brew bundle services into exec 2025-03-28 05:54:58 +00:00
Bo Anderson
c7e8b66da3
bundle: add --services flag for sh and exec 2025-03-28 05:54:57 +00:00
Bo Anderson
786ad348a5
bundle: use version env for installer service handling 2025-03-28 05:54:52 +00:00
Bo Anderson
2b906e4fe3
services: support --file= in restart command 2025-03-28 05:21:08 +00:00
Bo Anderson
615fb764a1
Add brew bundle services helper 2025-03-28 05:21:07 +00:00
Bo Anderson
0b58e8fd37
services: add --keep flag 2025-03-28 05:21:05 +00:00
Anatoli Babenia
d90a1990ac create: fix brew style 2025-03-28 07:27:47 +03:00
Anatoli Babenia
9f1093266d Update Library/Homebrew/formula_creator.rb
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-03-28 07:27:47 +03:00
Anatoli Babenia
62753a5ec6 create: check that downloaded URL is actually archive
My common mistake is to specify release URL, like

    brew crate https://github.com/hugelgupf/p9/releases/tag/v0.3.0

which gives unpacking errors later. It should be archive instead

    brew create https://github.com/hugelgupf/p9/archive/refs/tags/v0.3.0.tar.gz

Ideally we can try to autodetect the archive from release page,
but erroring out if downloaded file is HTML page should be handy
for early spotting other URL mistakes too.
2025-03-28 07:27:47 +03:00
Patrick Linnane
ad75e9b337
Merge pull request #19627 from Homebrew/bundle_check_already_output_formulae_errors
Allow callers of `brew bundle check` to filter errors.
2025-03-27 23:52:13 +00:00
Patrick Linnane
791f5d4ebb
Merge pull request #19629 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-1.75.1
build(deps-dev): bump rubocop from 1.74.0 to 1.75.1 in /Library/Homebrew
2025-03-27 23:49:16 +00:00
Patrick Linnane
2ad06594f8
Merge pull request #19628 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-9483504e1e
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-27 21:30:11 +00:00
BrewTestBot
c1c35b5473
Update RBI files for rubocop.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-27 21:16:43 +00:00
BrewTestBot
50cb6dc139
brew vendor-gems: commit updates. 2025-03-27 21:16:18 +00:00
BrewTestBot
cb94105685
brew vendor-gems: commit updates. 2025-03-27 21:15:33 +00:00
dependabot[bot]
f4c05b1903
build(deps-dev): bump rubocop from 1.74.0 to 1.75.1 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.74.0 to 1.75.1.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.74.0...v1.75.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-27 21:14:35 +00:00
Patrick Linnane
17a5b72645
Merge pull request #19630 from Homebrew/dependabot/bundler/Library/Homebrew/logger-1.7.0
build(deps-dev): bump logger from 1.6.6 to 1.7.0 in /Library/Homebrew
2025-03-27 21:14:08 +00:00
Carlo Cabrera
3c64c26535
Merge pull request #19620 from Homebrew/bootsnap-reset
Reset Bootsnap after installing gems
2025-03-27 18:47:11 +00:00
BrewTestBot
71792ebb01
brew vendor-gems: commit updates. 2025-03-27 18:20:01 +00:00
dependabot[bot]
039ecd21d8
build(deps-dev): bump logger from 1.6.6 to 1.7.0 in /Library/Homebrew
Bumps [logger](https://github.com/ruby/logger) from 1.6.6 to 1.7.0.
- [Release notes](https://github.com/ruby/logger/releases)
- [Commits](https://github.com/ruby/logger/compare/v1.6.6...v1.7.0)

---
updated-dependencies:
- dependency-name: logger
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-27 18:04:17 +00:00
dependabot[bot]
1c84abbd5e
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11956 to 0.5.11960
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11956 to 0.5.11960
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11956 to 0.5.11960
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11956 to 0.5.11960
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-27 18:03:53 +00:00
Patrick Linnane
e0b1cf2234
Merge pull request #19614 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-1.75.0 2025-03-27 09:13:22 -07:00
Mike McQuaid
d3a64157e1
Allow callers of brew bundle check to filter errors.
If callers of `brew bundle check` have already output some formulae
errors, they can set the
`HOMEBREW_BUNDLE_CHECK_ALREADY_OUTPUT_FORMULAE_ERRORS` environment
variable to the names of the formulae that have already been output.
2025-03-27 15:37:31 +00:00
Mike McQuaid
c8d8c09d77
Merge pull request #19626 from Homebrew/update_if_needed
Add `brew update-if-needed`
2025-03-27 14:41:09 +00:00
Mike McQuaid
5ec5063dc7
Add brew update-if-needed
This uses the logic in `brew.sh` for deciding whether or not to run
`brew update --auto-update` and makes it a dedicated command that can
be used instead of `brew update` in scripts to be really fast in the
no-op case.

`brew update` will always do at least some updating which is a nicer
default but is much slower.
2025-03-27 13:16:00 +00:00
Mike McQuaid
928985103d
Merge pull request #19625 from Homebrew/fix_linux_bundle_skipper
linux/bundle/skipper: fix skipper logic.
2025-03-27 12:19:02 +00:00
Mike McQuaid
11875cde2f linux/bundle/skipper: fix skipper logic.
This should be reversed to work as expected on Linux.
2025-03-27 11:49:10 +00:00
Anatoli Babenia
c0476672b5 create: use GitHub project URL if homepage is empty 2025-03-27 08:00:30 +03:00
Patrick Linnane
9821a7e896
fix new offenses
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-03-27 03:38:09 +00:00
BrewTestBot
656ad07548
Update RBI files for rubocop.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-27 03:38:08 +00:00
BrewTestBot
3a899dbeea
brew vendor-gems: commit updates. 2025-03-27 03:38:07 +00:00
dependabot[bot]
0d4c8cdc30
build(deps-dev): bump rubocop from 1.74.0 to 1.75.0 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.74.0 to 1.75.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.74.0...v1.75.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-27 03:38:06 +00:00
Bo Anderson
1168ec1feb
Reset Bootsnap after installing gems 2025-03-27 03:37:17 +00:00
Patrick Linnane
76e154fe82
Merge pull request #19619 from Homebrew/sponsors-maintainers-man-completions
Update sponsors.
2025-03-27 02:01:05 +00:00
BrewTestBot
8748b0ab5e
Update sponsors.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-03-27 00:07:47 +00:00
Douglas Eichelberger
e58486cd4c
fix: Allow Formula.url with no args to get url 2025-03-26 12:15:25 -07:00
Patrick Linnane
95fd892fb1
Merge pull request #19617 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/influxdb3-python-0.12.0
build(deps): bump influxdb3-python from 0.11.0 to 0.12.0 in /Library/Homebrew/formula-analytics
2025-03-26 18:54:02 +00:00
Patrick Linnane
e659a0db1b
Merge pull request #19615 from abitrolly/create-show-install
create: show command to install formula for testing
2025-03-26 18:51:30 +00:00
Patrick Linnane
d29db5414c
Merge pull request #19616 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-78.1.0
build(deps): bump setuptools from 78.0.2 to 78.1.0 in /Library/Homebrew/formula-analytics
2025-03-26 18:49:03 +00:00
dependabot[bot]
a6bbf374d8
build(deps): bump influxdb3-python
Bumps [influxdb3-python](https://github.com/InfluxCommunity/influxdb3-python) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/InfluxCommunity/influxdb3-python/releases)
- [Changelog](https://github.com/InfluxCommunity/influxdb3-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/InfluxCommunity/influxdb3-python/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: influxdb3-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-26 18:33:28 +00:00
dependabot[bot]
35f0096f1a
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 78.0.2 to 78.1.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v78.0.2...v78.1.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-26 18:33:19 +00:00
Anatoli Babenia
202e52ded4
Update Library/Homebrew/dev-cmd/create.rb
Co-authored-by: Adrian Ho <the.gromgit@gmail.com>
2025-03-26 21:32:05 +03:00
Anatoli Babenia
901f9166f9 create: show command to install formula for testing 2025-03-26 21:12:00 +03:00
Patrick Linnane
e532dea382
Merge pull request #19613 from Homebrew/dependabot/bundler/Library/Homebrew/parser-3.3.7.3
build(deps-dev): bump parser from 3.3.7.2 to 3.3.7.3 in /Library/Homebrew
2025-03-26 17:14:39 +00:00
Patrick Linnane
c7f8707beb
Merge pull request #19612 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-2919139758
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-26 16:53:28 +00:00
BrewTestBot
2aed5c6cf1
Update RBI files for parser.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-26 16:42:36 +00:00
BrewTestBot
c6768519cb
brew vendor-gems: commit updates. 2025-03-26 16:38:16 +00:00
BrewTestBot
db00f34a7e
brew vendor-gems: commit updates. 2025-03-26 16:38:14 +00:00
dependabot[bot]
d777757f25
build(deps-dev): bump parser in /Library/Homebrew
Bumps [parser](https://github.com/whitequark/parser) from 3.3.7.2 to 3.3.7.3.
- [Changelog](https://github.com/whitequark/parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/whitequark/parser/compare/v3.3.7.2...v3.3.7.3)

---
updated-dependencies:
- dependency-name: parser
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-26 16:36:40 +00:00
dependabot[bot]
4de34b81be
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11954 to 0.5.11956
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11954 to 0.5.11956
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11954 to 0.5.11956
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11954 to 0.5.11956
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-26 16:36:17 +00:00
Carlo Cabrera
1a9684da53
Merge pull request #19611 from Homebrew/linux-cask-private
extend/os/linux/cask/installer: make `check_stanza_os_requirements` non-private
2025-03-26 16:32:54 +00:00
Carlo Cabrera
d130b53394
extend/os/linux/cask/installer: make check_stanza_os_requirements non-private
The method it overrides is not `private`, so it doesn't seem like this
should be private. This causes errors when using `brew bundle` on Linux
with a `Brewfile` that contains `cask` entries.
2025-03-26 17:26:20 +08:00
Mike McQuaid
c68682a33c
Merge pull request #19604 from Homebrew/tweak_brew_bundle_version_file
bundle/brew_installer: strip revision number from version file.
2025-03-26 01:46:49 +00:00
Patrick Linnane
ccd6d14fb1
Merge pull request #19610 from Homebrew/bundle_skipper_require
linux/bundle/skipper: add missing requires.
2025-03-25 19:35:40 +00:00
Patrick Linnane
91cb7e2670
Merge pull request #19609 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-78.0.2
build(deps): bump setuptools from 78.0.1 to 78.0.2 in /Library/Homebrew/formula-analytics
2025-03-25 19:23:45 +00:00
Mike McQuaid
3b49babbfe
linux/bundle/skipper: add missing requires. 2025-03-25 19:11:19 +00:00
dependabot[bot]
50b10f47fd
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 78.0.1 to 78.0.2.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v78.0.1...v78.0.2)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-25 19:08:23 +00:00
Patrick Linnane
36c1f626d4
Merge pull request #19606 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-ff9ed044d6
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-25 19:03:33 +00:00
Patrick Linnane
ed9c53a3db
Merge pull request #19607 from Homebrew/dependabot/bundler/Library/Homebrew/diff-lcs-1.6.1
build(deps-dev): bump diff-lcs from 1.6.0 to 1.6.1 in /Library/Homebrew
2025-03-25 19:01:26 +00:00
BrewTestBot
f87728d6f5
brew vendor-gems: commit updates. 2025-03-25 18:47:12 +00:00
BrewTestBot
39d2734156
brew vendor-gems: commit updates. 2025-03-25 18:47:10 +00:00
Mike McQuaid
3289196603
Merge pull request #19605 from Homebrew/bottle_manifest_cleanup
cleanup: fix handling of bottle manifest rebuilds.
2025-03-25 18:47:07 +00:00
dependabot[bot]
42c05bf7ff
build(deps-dev): bump diff-lcs from 1.6.0 to 1.6.1 in /Library/Homebrew
Bumps [diff-lcs](https://github.com/halostatue/diff-lcs) from 1.6.0 to 1.6.1.
- [Changelog](https://github.com/halostatue/diff-lcs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/halostatue/diff-lcs/compare/v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: diff-lcs
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-25 18:37:34 +00:00
dependabot[bot]
a241db0e30
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11953 to 0.5.11954
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11953 to 0.5.11954
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11953 to 0.5.11954
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11953 to 0.5.11954
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-25 18:37:15 +00:00
Mike McQuaid
38fc1afacc
cleanup: fix handling of bottle manifest rebuilds.
We need to handle these slightly different as otherwise they can be
cleaned up incorrectly.
2025-03-25 17:48:26 +00:00
Mike McQuaid
e97a226b62
bundle/brew_installer: tweak approach.
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-03-25 17:46:41 +00:00
Patrick Linnane
dd46e6cf0d
Merge pull request #19589 from Homebrew/dependabot/bundler/Library/Homebrew/rbs-3.9.1
build(deps-dev): bump rbs from 3.9.0 to 3.9.1 in /Library/Homebrew
2025-03-25 16:36:53 +00:00
Mike McQuaid
f2139c61ed
bundle/brew_installer: strip revision number from version file.
This doesn't make sense for consumption outside of Homebrew.
2025-03-25 15:39:50 +00:00
Mike McQuaid
5105b7077b
Merge pull request #19603 from Homebrew/more_bundle_missing_requires
test/bundle/commands/check_spec: add missing requires.
2025-03-25 15:15:39 +00:00
Mike McQuaid
29d852c012
Merge pull request #19602 from Homebrew/service_list_domain_target
services: use domain target in `launchctl list` command.
2025-03-25 15:05:24 +00:00
Mike McQuaid
6910e05163
bundle/mac_app_store_checker: add missing require. 2025-03-25 15:01:50 +00:00
Mike McQuaid
90712429c0
test/bundle/commands/check_spec: add missing requires.
More missing requires that need added.
2025-03-25 14:53:41 +00:00
Mike McQuaid
2dcd8846a3
services: use domain target in launchctl list command.
If a service is somehow duplicated across multiple domains, this ensures
that the correct output is produced.
2025-03-25 14:16:29 +00:00
Mike McQuaid
8a3e6c60e3
Merge pull request #19601 from Homebrew/brew_bundle_improve_env_output
`brew bundle env`: sort and filter output.
2025-03-25 14:03:47 +00:00
Mike McQuaid
4c97a795a9
brew bundle env: sort and filter output.
- Sort output by key so it's more readable.
- Skip exporting empty values because shell scripts treat them as unset.
- Skip exporting non-Homebrew things that were already set in the old
  environment to avoid massive duplication and higher chances of e.g.
  bad escapes breaking things.
2025-03-25 13:47:44 +00:00
Mike McQuaid
8cd59b6345
Merge pull request #19600 from Homebrew/brew_bundle_env_sh_quote
`brew bundle env`: quote values correctly.
2025-03-25 13:40:28 +00:00
BrewTestBot
b31bd7fc3c Update RBI files for rbs.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-25 09:16:44 -04:00
BrewTestBot
8b605f2fcc brew vendor-gems: commit updates. 2025-03-25 09:16:44 -04:00
dependabot[bot]
27c1532094 build(deps-dev): bump rbs from 3.9.0 to 3.9.1 in /Library/Homebrew
Bumps [rbs](https://github.com/ruby/rbs) from 3.9.0 to 3.9.1.
- [Release notes](https://github.com/ruby/rbs/releases)
- [Changelog](https://github.com/ruby/rbs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby/rbs/compare/v3.9.0...v3.9.1)

---
updated-dependencies:
- dependency-name: rbs
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-25 09:16:44 -04:00
Eric Knibbe
d8b5daea14
Merge pull request #19581 from Homebrew/caveats-remove-ansi
cask/api: remove control characters from cask caveats
2025-03-25 12:11:18 +00:00
Mike McQuaid
fcd9b340a8
brew bundle env: quote values correctly.
Otherwise, certain output will break the script when `eval`ed.
2025-03-25 11:55:52 +00:00
Eric Knibbe
ffa83ea341
Merge branch 'master' into caveats-remove-ansi 2025-03-25 07:54:52 -04:00
Mike McQuaid
f5eff57edb
Merge pull request #19599 from Homebrew/fix_bundle_cask_skip
linux/bundle/skipper: add support for Linux casks.
2025-03-25 11:48:34 +00:00
Mike McQuaid
8e89be7fe8
Merge pull request #19597 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-03-25 11:47:41 +00:00
Mike McQuaid
08a9b44b72
linux/bundle/skipper: add support for Linux casks.
Don't unconditionally skip Linux casks but instead check if they are
supported on Linux.
2025-03-25 11:08:21 +00:00
Mike McQuaid
2dbce6bac5
Merge pull request #19579 from Homebrew/bundle_version_file
Add `version_file:` DSL to `Brewfile`
2025-03-25 10:11:52 +00:00
Mike McQuaid
8a3050a624
Merge pull request #19598 from Homebrew/bundle_missing_requires
test/bundle: add more missing requires.
2025-03-25 10:06:57 +00:00
Mike McQuaid
949aaa78e6
test/bundle: add more missing requires.
See https://github.com/Homebrew/brew/actions/runs/14055694149/job/39354629119?pr=19597
2025-03-25 09:32:56 +00:00
BrewTestBot
b5d1e7426b
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-03-25 09:07:49 +00:00
Mike McQuaid
1ce12ae6e5
Merge pull request #19575 from Homebrew/brew_bundle_filtering
Don't filter the environment for `brew bundle (exec|env|sh)`
2025-03-25 09:07:39 +00:00
Carlo Cabrera
6c49462b41
Merge pull request #19593 from Homebrew/dispatch-arm64-linux
dev-cmd/dispatch-build-bottle: support arm64 Linux
2025-03-25 08:52:12 +00:00
Ruoyu Zhong
358af263b4
Merge pull request #19595 from gromgit/popen/fix-err-msg
popen: get correct cmd name on error
2025-03-25 06:03:13 +00:00
Patrick Linnane
63bc00ebcd
Merge pull request #19584 from Homebrew/dependabot/github_actions/artifacts-aeec8888df
build(deps): bump the artifacts group with 2 updates
2025-03-25 05:09:38 +00:00
Patrick Linnane
89b392dd5f
Merge pull request #19585 from Homebrew/dependabot/github_actions/actions/create-github-app-token-1.11.7
build(deps): bump actions/create-github-app-token from 1.11.6 to 1.11.7
2025-03-25 05:09:16 +00:00
Adrian Ho
0efa6aab32 popen: get correct cmd name on error
Blindly using args[0] misleads users when an env is passed.

Before:
```
==> go build -ldflags=-s -w -X main.version=1.64.8 -X main.commit=8b37f14 -X main.date=2025-03-17T16:54:02Z ./cmd/golangci-lint
brew: command not found: {"SHELL"=>"bash"}
Error: Failure while executing; `\{\"SHELL\"=\>\"bash\"\} /opt/homebrew/Cellar/golangci-lint@1/1.64.8/bin/golangci-lint completion bash` exited with 127. Here's the output:
```
After:
```
==> go build -ldflags=-s -w -X main.version=1.64.8 -X main.commit=8b37f14 -X main.date=2025-03-17T16:54:02Z ./cmd/golangci-lint
brew: command not found: /opt/homebrew/Cellar/golangci-lint@1/1.64.8/bin/golangci-lint
Error: Failure while executing; `\{\"SHELL\"=\>\"bash\"\} /opt/homebrew/Cellar/golangci-lint@1/1.64.8/bin/golangci-lint completion bash` exited with 127. Here's the output:
```
2025-03-25 11:36:23 +08:00
Carlo Cabrera
a1df0c9dbe
Merge pull request #19594 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-03-25 03:19:05 +00:00
BrewTestBot
d914539bda
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-03-25 03:06:12 +00:00
Carlo Cabrera
40588b0ad9
dev-cmd/dispatch-build-bottle: support arm64 Linux
This will make it easier to dispatch bottle builds for arm64 Linux.
2025-03-25 11:03:37 +08:00
Mike McQuaid
07dd04efc4
Merge pull request #19577 from Homebrew/env_sync_strict
cmd/*env-sync: add `HOMEBREW_ENV_SYNC_STRICT` mode.
2025-03-25 02:51:26 +00:00
Mike McQuaid
21ec0dd655
Merge pull request #19576 from Homebrew/tab_bottle_rebuild
tab: add `bottle_rebuild` to `runtime_dependencies`.
2025-03-25 02:50:26 +00:00
Eric Knibbe
cfe6e0407a
Merge pull request #19586 from Homebrew/dependabot/github_actions/github/codeql-action-3.28.13
build(deps): bump github/codeql-action from 3.28.11 to 3.28.13
2025-03-25 02:06:06 +00:00
Eric Knibbe
f83c043930
Merge pull request #19587 from Homebrew/dependabot/github_actions/actions/cache-4.2.3
build(deps): bump actions/cache from 4.2.2 to 4.2.3
2025-03-25 02:05:42 +00:00
Eric Knibbe
9f1cf423a8
Merge pull request #19588 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.227.0
build(deps): bump ruby/setup-ruby from 1.226.0 to 1.227.0
2025-03-25 02:05:26 +00:00
Eric Knibbe
5f31bed410
Merge pull request #19590 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-78.0.1
build(deps): bump setuptools from 77.0.3 to 78.0.1 in /Library/Homebrew/formula-analytics
2025-03-25 02:05:10 +00:00
Eric Knibbe
0540a6add4
Merge pull request #19592 from Homebrew/dependabot/bundler/Library/Homebrew/vernier-1.6.0
build(deps-dev): bump vernier from 1.5.0 to 1.6.0 in /Library/Homebrew
2025-03-25 02:03:58 +00:00
Eric Knibbe
3329d71b76
Merge pull request #19591 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-7f967ee0df
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-25 02:02:03 +00:00
BrewTestBot
7752d84415
brew vendor-gems: commit updates. 2025-03-24 20:52:05 +00:00
BrewTestBot
148e520829
Update RBI files for vernier.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-24 20:52:01 +00:00
BrewTestBot
d99694c4b0
brew vendor-gems: commit updates. 2025-03-24 20:51:55 +00:00
dependabot[bot]
ee6611fd54
build(deps-dev): bump vernier from 1.5.0 to 1.6.0 in /Library/Homebrew
Bumps [vernier](https://github.com/jhawthorn/vernier) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/jhawthorn/vernier/releases)
- [Commits](https://github.com/jhawthorn/vernier/compare/v1.5.0...v1.6.0)

---
updated-dependencies:
- dependency-name: vernier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 20:03:04 +00:00
dependabot[bot]
d6c6534801
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11952 to 0.5.11953
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11952 to 0.5.11953
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11952 to 0.5.11953
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11952 to 0.5.11953
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 20:02:42 +00:00
dependabot[bot]
fa30ebcb8f
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 77.0.3 to 78.0.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v77.0.3...v78.0.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: indirect
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 19:58:55 +00:00
Eric Knibbe
57f764a1d8 cask/api: remove control characters from cask caveats 2025-03-24 15:43:15 -04:00
dependabot[bot]
c55ad5f3bb
build(deps): bump ruby/setup-ruby from 1.226.0 to 1.227.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.226.0 to 1.227.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](922ebc4c52...1a615958ad)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 19:04:34 +00:00
dependabot[bot]
c38595e93b
build(deps): bump actions/cache from 4.2.2 to 4.2.3
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.2 to 4.2.3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](d4323d4df1...5a3ec84eff)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 19:04:28 +00:00
dependabot[bot]
f77cdb21cf
build(deps): bump actions/create-github-app-token from 1.11.6 to 1.11.7
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.6 to 1.11.7.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](21cfef2b49...af35edadc0)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 19:04:10 +00:00
dependabot[bot]
f547db6517
build(deps): bump github/codeql-action from 3.28.11 to 3.28.13
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.11 to 3.28.13.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](6bb031afdd...1b549b9259)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 19:04:10 +00:00
dependabot[bot]
b35a796469
build(deps): bump the artifacts group with 2 updates
Bumps the artifacts group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/upload-artifact` from 4.6.1 to 4.6.2
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](4cec3d8aa0...ea165f8d65)

Updates `actions/download-artifact` from 4.1.9 to 4.2.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](cc20338598...95815c38cf)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: artifacts
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: artifacts
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 19:03:52 +00:00
Bo Anderson
7d8870401c
Merge pull request #19583 from janosorcsik/add_missing_brew_dumper_require_to_dumper
Add brew_dumper.rb to dumper.rb file
2025-03-24 19:00:39 +00:00
János Orcsik
ef95548be8
Add brew_dumper.rb 2025-03-24 19:38:23 +01:00
Mike McQuaid
9e789279f5
tab: add bottle_rebuild to runtime_dependencies.
It can be useful to know, if a formula's dependencies were installed
from a bottle, what rebuild of the bottle was used for debugging.
2025-03-24 17:37:06 +00:00
Mike McQuaid
df0fe8a802
Add version_file: DSL to Brewfile
This allows writing to e.g. `.ruby-version` files directly from the
`Brewfile`, making it easy to keep these versions in sync.
2025-03-24 17:34:35 +00:00
Mike McQuaid
85a8aba9bc
Merge pull request #19580 from Homebrew/bundle_missing_require
bundle/installer: add missing require.
2025-03-24 17:10:02 +00:00
Mike McQuaid
9033719820
bundle/installer: add missing require. 2025-03-24 16:45:22 +00:00
Carlo Cabrera
09eceba798
Merge pull request #19568 from Homebrew/bundle-lazy-require
bundle: `require` more lazily
2025-03-24 16:24:07 +00:00
Mike McQuaid
61bb2f6225
cmd/*env-sync: add HOMEBREW_ENV_SYNC_STRICT mode.
If this variable is set, `brew *env-sync` will only sync the exact
installed versions of formulae rather than all the patch (or, for node,
minor and patch) versions.
2025-03-24 15:00:16 +00:00
Carlo Cabrera
f7ee1902e4
bundle: require more lazily
This will hopefully make using `brew bundle` a little bit snappier.
2025-03-24 22:48:58 +08:00
Mike McQuaid
6e20cedb67
Don't filter the environment for brew bundle (exec|env|sh)
It's both unexpected and undesirable for `brew bundle (exec|env|sh)` to
filter the environment and makes these tools less useful.

Not filtering the environment, though, causes issues with the
`brew bundle sh` shell. Fix this up and, while we're here, also improve
the formatting for both `zsh` and `bash` (the default) to use nicer and
more consistent prompts and colours.

To simplify this, consolidate some logic in a new
`Utils::Shell.shell_with_prompt` method and add tests for it and a
similar notice for `brew bundle sh`.

Finally, avoid printing out the notice when `HOMEBREW_NO_ENV_HINTS` is
set.
2025-03-24 13:37:25 +00:00
Eric Knibbe
f104184214
Merge pull request #19571 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-0b5483616e
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-24 02:42:00 +00:00
BrewTestBot
b8fec9624a
brew vendor-gems: commit updates. 2025-03-23 22:22:20 +00:00
dependabot[bot]
f7a0ae0dab
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11948 to 0.5.11952
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11948 to 0.5.11952
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11948 to 0.5.11952
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11948 to 0.5.11952
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-21 18:46:25 +00:00
Mike McQuaid
fa9f8bd781
Merge pull request #19570 from Homebrew/install_as_dependency
Add `brew install --as-dependency`
2025-03-21 16:03:40 +00:00
Mike McQuaid
e41a1f6d8a
Add brew install --as-dependency
This option avoids needing to immediately use
`brew tab --no-installed-on-request` when manually installing a
dependency.
2025-03-21 15:49:22 +00:00
Mike McQuaid
7ddc4b0196
Merge pull request #19569 from Homebrew/homebrew_brew_file_public
Make some global variables part of the public API
2025-03-21 10:26:05 +00:00
Mike McQuaid
f7b9ed11b9
Make some global variables part of the public API
These are all useful to be able to tell users to rely on them and
we've used them long enough for it to make sense as a public API.

Relatedly, these are all used in at least some Homebrew/homebrew-core
or Homebrew/homebrew-cask formulae.

While we're here, update the descriptions to be a bit more user
friendly.
2025-03-21 10:11:58 +00:00
Mike McQuaid
6f04ee4cff
Merge pull request #19563 from botantony/python-shebang
shebangs: fix broken shebangs like `#!python`
2025-03-21 09:22:54 +00:00
Mike McQuaid
81bf90bb70
Merge pull request #19566 from Homebrew/bundle-no-kernel
bundle: remove `include Kernel` references
2025-03-21 09:12:38 +00:00
Mike McQuaid
85aa028cb5
Merge pull request #19565 from Homebrew/services-multi-arg
cmd/services: support passing multiple formulae
2025-03-21 09:11:59 +00:00
Carlo Cabrera
37af9b6b09
Merge pull request #19567 from Homebrew/linux-job-names
github_runner_matrix: include arch in Linux job names
2025-03-21 09:09:22 +00:00
Mike McQuaid
e5406f7ba0
Merge pull request #19557 from Homebrew/no_app_management_permissions_prompt
quarantine: allow skipping the app management permissions prompt.
2025-03-21 08:08:40 +00:00
Carlo Cabrera
7274fb183d
github_runner_matrix: include arch in Linux job names
This will make it easier to distinguish the two jobs in the GitHub UI.
2025-03-21 15:42:19 +08:00
Bo Anderson
7e64051479
bundle: remove include Kernel references 2025-03-21 04:43:08 +00:00
Carlo Cabrera
a47388880d
Merge pull request #19556 from Homebrew/deploy-arm64-on-prs
github_runner_matrix: deploy arm64 Linux runners on PRs with `:arm64_linux` bottles
2025-03-21 04:21:06 +00:00
Bo Anderson
72d47678c7
cmd/services: support passing multiple formulae 2025-03-21 03:48:44 +00:00
Anton
41f3a7bd49
Merge branch 'master' into python-shebang 2025-03-21 04:03:55 +01:00
Bo Anderson
75de3aaeb5
Merge pull request #19561 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-ast-1.41.0
build(deps-dev): bump rubocop-ast from 1.39.0 to 1.41.0 in /Library/Homebrew
2025-03-21 00:51:51 +00:00
Bo Anderson
e362776078
Merge pull request #19562 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-77.0.3
build(deps): bump setuptools from 76.1.0 to 77.0.3 in /Library/Homebrew/formula-analytics
2025-03-21 00:41:21 +00:00
BrewTestBot
02b3df7d10
Update RBI files for rubocop-ast.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-21 00:38:13 +00:00
BrewTestBot
e4f94bb6a6
brew vendor-gems: commit updates. 2025-03-21 00:34:29 +00:00
Eric Knibbe
630c1fe90e
Merge pull request #19564 from Homebrew/cache-ignore-zero-size
download_strategy: ignore Content-Length value if zero
2025-03-21 00:22:54 +00:00
Nanda H Krishna
aaf1258396
Merge pull request #19558 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-ebf21ebd89
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-21 00:05:07 +00:00
botantony
dac4b6fd56
shebangs: fix broken shebangs like #!python
Signed-off-by: botantony <antonsm21@gmail.com>
2025-03-21 00:34:14 +01:00
BrewTestBot
124d310278
brew vendor-gems: commit updates. 2025-03-20 23:12:05 +00:00
Bo Anderson
245510c6fd
Merge pull request #19548 from botantony/gnu-homepage
homepage audit: fix for gnu.org and nongnu.org
2025-03-20 23:10:59 +00:00
Eric Knibbe
a82a8efce9
download_strategy: ignore Content-Length value if zero 2025-03-20 15:38:06 -04:00
dependabot[bot]
3c821aa898
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 76.1.0 to 77.0.3.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v76.1.0...v77.0.3)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: indirect
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-20 18:50:57 +00:00
dependabot[bot]
97aed7b9ff
build(deps-dev): bump rubocop-ast in /Library/Homebrew
Bumps [rubocop-ast](https://github.com/rubocop/rubocop-ast) from 1.39.0 to 1.41.0.
- [Release notes](https://github.com/rubocop/rubocop-ast/releases)
- [Changelog](https://github.com/rubocop/rubocop-ast/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-ast/compare/v1.39.0...v1.41.0)

---
updated-dependencies:
- dependency-name: rubocop-ast
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-20 18:21:59 +00:00
dependabot[bot]
60eb737739
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11945 to 0.5.11948
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11945 to 0.5.11948
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11945 to 0.5.11948
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11945 to 0.5.11948
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-20 18:21:13 +00:00
Mike McQuaid
2a7c7511c3
cask/quarantine: tweak wording.
Co-authored-by: Eric Knibbe <enk3@outlook.com>
2025-03-20 18:07:30 +00:00
Mike McQuaid
10ad72c348
quarantine: allow skipping the app management permissions prompt.
If we know that we don't care about this prompt, let's allow setting
a variable to avoid alarming users.
2025-03-20 16:22:41 +00:00
Carlo Cabrera
84e50f50ec
github_runner_matrix: deploy arm64 Linux runners on PRs with :arm64_linux bottles
This will help us avoid losing bottles on version bumps.

Also, let's do the same on Intel macOS 15 and newer. This is essentially
a simpler version of #18363. Instead of trying to use complicated
criteria or a DSL, let's just run the build on Intel macOS 15 if the
formula already has a `:sequoia` bottle.
2025-03-20 23:50:43 +08:00
Carlo Cabrera
b337351d5c
Merge pull request #19555 from Homebrew/optflags-comment
shims/super/cc: add comment for optimisation flag handling
2025-03-20 15:33:46 +00:00
Carlo Cabrera
ec8f3033e0
shims/super/cc: add comment for optimisation flag handling
Follow up to #19551
2025-03-20 23:19:31 +08:00
Carlo Cabrera
f3bd91d3af
Merge pull request #19551 from Homebrew/runtime-cpu-detect-optflags
shims/super/cc: tweak optimisation flag handling for runtime CPU detection builds
2025-03-20 07:55:34 +00:00
Carlo Cabrera
351f7f82f3
shims/super/cc: tweak optimisation flag handling for runtime CPU detection builds
Let's reinstate adding our own optimisation flags if the compiler
was not invoked with a conflicting optimisation flag.
2025-03-20 15:42:50 +08:00
Eric Knibbe
fd0c3c059c
Merge pull request #19530 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-ast-1.39.0
build(deps-dev): bump rubocop-ast from 1.38.1 to 1.39.0 in /Library/Homebrew
2025-03-19 22:53:40 +00:00
Eric Knibbe
b57640f801
Merge pull request #19550 from Homebrew/dependabot/bundler/Library/Homebrew/prism-1.4.0
build(deps-dev): bump prism from 1.3.0 to 1.4.0 in /Library/Homebrew
2025-03-19 22:53:19 +00:00
Eric Knibbe
0dd5747e1a
Merge pull request #19549 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-f9ae6c231f
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-19 22:52:55 +00:00
Mike McQuaid
417421b99b
Merge pull request #19546 from Homebrew/downloadable_warning
cask/download: avoid some checksum warnings.
2025-03-19 22:50:55 +00:00
BrewTestBot
320eab0636
brew vendor-gems: commit updates. 2025-03-19 19:07:30 +00:00
BrewTestBot
acab72a5da
Update RBI files for prism.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-19 19:05:48 +00:00
BrewTestBot
d2ad6c594c
brew vendor-gems: commit updates. 2025-03-19 19:05:22 +00:00
dependabot[bot]
6fccf8ee69
build(deps-dev): bump prism from 1.3.0 to 1.4.0 in /Library/Homebrew
Bumps [prism](https://github.com/ruby/prism) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/ruby/prism/releases)
- [Changelog](https://github.com/ruby/prism/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ruby/prism/compare/v1.3.0...v1.4.0)

---
updated-dependencies:
- dependency-name: prism
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-19 18:24:30 +00:00
dependabot[bot]
442b8f147e
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11942 to 0.5.11945
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11942 to 0.5.11945
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11942 to 0.5.11945
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11942 to 0.5.11945
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-19 18:23:59 +00:00
botantony
73bdc8f615
homepage audit: fix for gnu.org and nongnu.org
Signed-off-by: botantony <antonsm21@gmail.com>
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-03-19 17:43:48 +01:00
BrewTestBot
fb37a50942
Update RBI files for rubocop-ast.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-19 14:17:47 +00:00
BrewTestBot
2dba60a90c
brew vendor-gems: commit updates. 2025-03-19 14:17:39 +00:00
Mike McQuaid
fec5b645e0
Merge pull request #19547 from Homebrew/bundle-exec-path-lookup
bundle/exec: fix command `PATH` lookup
2025-03-19 14:07:44 +00:00
Carlo Cabrera
a4f2797612
bundle/exec: fix command PATH lookup
We are checking `PATH` for the command too early, since the code below
it mutates `PATH`.

Let's defer the check to later to fix this.
2025-03-19 21:55:15 +08:00
Mike McQuaid
4a4aeca424
cask/download: avoid some checksum warnings.
These are always output in CI for e.g. `brew fetch google-chrome` and
are completely unactionable by the user.

Ultimately this is not disabling any security checks, it's just changing
when a warning is output and unifying the logic with the other similar
warning.
2025-03-19 12:45:50 +00:00
Mike McQuaid
14fe53b9fd
Merge pull request #19521 from Homebrew/pac-bti
Use PAC+BTI where possible on arm64 Linux
2025-03-19 12:45:34 +00:00
Mike McQuaid
e0597c0dc4
Merge pull request #19542 from Homebrew/brew_bundle_docs
Import documentation for `brew bundle`
2025-03-19 12:34:40 +00:00
Mike McQuaid
2b46940876
Merge pull request #19545 from Homebrew/vscode_variants
Look for VSCode variants
2025-03-19 12:33:47 +00:00
Mike McQuaid
d240eda154
os/linux/extend/ENV/super: add comment. 2025-03-19 12:30:59 +00:00
Mike McQuaid
d84fac5af4
Look for VSCode variants
We've had requests for this in Homebrew/bundle a few times so let's
implement it both for there and for `brew edit`.

Tested on my machine with `cursor` and working as expected.
2025-03-19 11:42:37 +00:00
Mike McQuaid
dea26d02b7
Import documentation for brew bundle
This was in the (soon to be archived) Homebrew/homebrew-bundle
repository's `README`. There's some good content here that doesn't
cleanly fit into the `brew` manpage so let's move it here.

While we're here, let's de-emphasize `whalebrew` as it's not
widely used and add commented-out deprecation warnings for its future
deprecation.
2025-03-19 10:53:00 +00:00
Mike McQuaid
1fa4128112
Merge pull request #19543 from Homebrew/bundle_services_installed
bundle: remove services_installed?
2025-03-19 10:50:01 +00:00
Carlo Cabrera
261e8fc9f8
Merge pull request #19544 from Homebrew/bundle_services_brew
bundle/brew_services: use HOMEBREW_BREW_FILE.
2025-03-19 18:28:38 +08:00
Mike McQuaid
a502ae2920
bundle/brew_services: use HOMEBREW_BREW_FILE.
This ensures the correct `brew` binary is always used.
2025-03-19 10:24:42 +00:00
Mike McQuaid
c7f6fc639b
bundle: remove services_installed?
`brew services` is now always "installed".
2025-03-19 10:14:56 +00:00
Mike McQuaid
f8baea29cb
Merge pull request #19540 from Homebrew/brew_bundle_cleanup
Cleanup some missing references to Homebrew Bundle.
2025-03-19 10:07:37 +00:00
Mike McQuaid
7a57af242e
Cleanup some missing references to Homebrew Bundle.
Let's just call it `brew bundle` from now on as it's a normal command.

Also, fix a reference to "Homebrew Services" while we're here.
2025-03-19 09:51:39 +00:00
Mike McQuaid
51388bf58a
Merge pull request #19539 from Homebrew/bundle_debugging
bundle/cask_installer: remove debugging output.
2025-03-19 09:37:07 +00:00
Mike McQuaid
f3ca306a51
Merge pull request #19541 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-03-19 09:35:54 +00:00
BrewTestBot
eb1430f7ce
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-03-19 09:21:20 +00:00
Mike McQuaid
f686c577e0
Merge pull request #19538 from Homebrew/codespaces_on_create
devcontainer/on-create-command: fix permissions harder.
2025-03-19 09:09:07 +00:00
Mike McQuaid
2fb3f35634
Merge pull request #19535 from Homebrew/services-run-file
Support `--file` for `brew services run`
2025-03-19 09:08:02 +00:00
Carlo Cabrera
03bc77e600
Merge pull request #19528 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-dcdbf2bc1b
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-19 09:04:23 +00:00
Mike McQuaid
f4b9d85c1f
Merge pull request #19536 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-03-19 09:03:40 +00:00
Mike McQuaid
7434dfcbb5
bundle/cask_installer: remove debugging output.
This was accidentally left in but should have been removed.
2025-03-19 09:02:12 +00:00
Mike McQuaid
9076213cad
devcontainer/on-create-command: fix permissions harder.
This `chmod -t` seems to fix things on other Codespaces so let's try it
here too.
2025-03-19 08:57:13 +00:00
BrewTestBot
3bb7db20a2
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-03-19 07:11:41 +00:00
Mike McQuaid
81313133f1
Merge pull request #19487 from Homebrew/bundle
Migrate Homebrew/bundle to Homebrew/brew
2025-03-19 06:59:07 +00:00
Mike McQuaid
bdeca530ff
Migrate Homebrew/bundle to Homebrew/brew
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-03-19 06:47:01 +00:00
BrewTestBot
470a1f3f66
Update RBI files for sorbet.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-19 06:25:57 +00:00
BrewTestBot
5dc292a45e
brew vendor-gems: commit updates. 2025-03-19 06:25:46 +00:00
Bo Anderson
da003521c6
Support --file for brew services run 2025-03-19 06:13:34 +00:00
Carlo Cabrera
9b9265e241
Merge pull request #19534 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-03-19 05:16:55 +00:00
BrewTestBot
4fd1b9300e
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-03-19 00:27:34 +00:00
dependabot[bot]
4001394378
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11933 to 0.5.11942
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11933 to 0.5.11942
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11933 to 0.5.11942
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11933 to 0.5.11942
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-18 21:12:21 +00:00
Eric Knibbe
e59fd841f1
Merge pull request #19531 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.12
build(deps-dev): bump ruby-lsp from 0.23.11 to 0.23.12 in /Library/Homebrew
2025-03-18 21:01:05 +00:00
Eric Knibbe
98e3663316
Merge pull request #19532 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-76.1.0
build(deps): bump setuptools from 76.0.0 to 76.1.0 in /Library/Homebrew/formula-analytics
2025-03-18 21:00:52 +00:00
dependabot[bot]
7b2a9411dd
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 76.0.0 to 76.1.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v76.0.0...v76.1.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-18 18:37:58 +00:00
dependabot[bot]
07ef5b2dd7
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.11 to 0.23.12.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.11...v0.23.12)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-18 18:28:58 +00:00
dependabot[bot]
ee1f6573f3
build(deps-dev): bump rubocop-ast in /Library/Homebrew
Bumps [rubocop-ast](https://github.com/rubocop/rubocop-ast) from 1.38.1 to 1.39.0.
- [Release notes](https://github.com/rubocop/rubocop-ast/releases)
- [Changelog](https://github.com/rubocop/rubocop-ast/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-ast/compare/v1.38.1...v1.39.0)

---
updated-dependencies:
- dependency-name: rubocop-ast
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-18 18:28:39 +00:00
Patrick Linnane
af6bbd7213
Merge pull request #19520 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-03-18 18:03:43 +00:00
Carlo Cabrera
19389448d2
Merge branch 'master' into sorbet-files-update 2025-03-19 01:49:15 +08:00
Carlo Cabrera
49dac599da
Merge branch 'master' into pac-bti 2025-03-19 01:32:54 +08:00
Mike McQuaid
893b947923
Merge pull request #19523 from Homebrew/test-bot-arm64
workflows/docker: run `brew test-bot` on arm64 Linux builds
2025-03-18 13:53:25 +00:00
Carlo Cabrera
1c00c24192
workflows/docker: run brew test-bot on arm64 Linux builds
We can stop `brew doctor` from throwing an error if we set
`HOMEBREW_ARM64_TESTING`.
2025-03-18 21:25:11 +08:00
Mike McQuaid
3aaabf4b23
Merge pull request #19519 from NeimadTL/add-common-curl-connectivity-issues-doc
Add possible curl issues
2025-03-18 12:20:15 +00:00
Mike McQuaid
3e5f7b95a5
Merge pull request #19526 from botantony/dmg-unpack
unpack `.dmg`: ignore `.HFS+ Private*` metadata directories
2025-03-18 12:10:19 +00:00
botantony
d3cfc3d193
unpack .dmg: ignore .HFS+ Private* metadata directories
Signed-off-by: botantony <antonsm21@gmail.com>
2025-03-18 12:59:21 +01:00
Mike McQuaid
067c4252cc
Merge branch 'master' into add-common-curl-connectivity-issues-doc 2025-03-18 11:52:37 +00:00
Mike McQuaid
3f6d30f885
Merge pull request #19517 from botantony/brew-doctor
fix: ignore broken kegs during gcc linkage test
2025-03-18 11:50:21 +00:00
Carlo Cabrera
68f0838fc9
Merge pull request #19525 from gromgit/cpu/amd_k10_llano
linux/hardware/cpu: fix amd_k12 reference
2025-03-18 11:11:38 +00:00
Adrian Ho
c180d636ef linux/hardware/cpu: fix amd_k12 reference
AMD K12 was an planned ARM microarchitecture that never existed.

Ref: https://en.wikipedia.org/wiki/List_of_AMD_CPU_microarchitectures#Nomenclature
2025-03-18 18:45:46 +08:00
botantony
4b62b9d2c5
fix: ignore broken kegs during gcc linkage test
Signed-off-by: botantony <antonsm21@gmail.com>
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-03-18 11:00:14 +01:00
Carlo Cabrera
9a62e88bda
Merge pull request #19522 from Homebrew/arm64-linux-bottle-blocks
Fix bottle block generation and audit for arm64 Linux
2025-03-18 09:37:31 +00:00
Carlo Cabrera
ab59e2d5dc
Merge branch 'master' into arm64-linux-bottle-blocks 2025-03-18 17:25:00 +08:00
Carlo Cabrera
75b056e2a3
Merge pull request #19524 from Homebrew/arm64-git-core-ppa
Dockerfile: skip git-core PPA on arm64 Linux
2025-03-18 09:09:02 +00:00
Carlo Cabrera
4510333e9a
Dockerfile: skip git-core PPA on arm64 Linux
This seems to be broken on Ubuntu 22.04 at the moment. The system seems
to ship a reasonably modern version (2.34.1), so I think we can make do
with that for now.
2025-03-18 16:56:44 +08:00
Mike McQuaid
689fb13299
docs/Common-Issues: fix style. 2025-03-18 08:43:51 +00:00
Mike McQuaid
e81794c96a
docs/Common-Issues: tweak wording. 2025-03-18 08:41:25 +00:00
Carlo Cabrera
11827656a9
Fix bottle block generation and audit for arm64 Linux
Before this change, `brew bottle` would add the `:arm64_linux` bottle
lines last. This would make `brew style` complain because it wants the
`arm64_*` bottles listed first.

Let's fix this by retaining the existing style as closely as possible:
- macOS bottles are listed first
- for each OS, arm64 bottles are listed first (just as we do on macOS)

In particular, `brew bottle` will now insert `:arm64_linux` bottle lines
just above the `:x86_64_linux` bottle lines (but still below the macOS
bottle lines).

x86_64 may continue to be a more popular platform on Linux for quite
some time. However, users looking for those bottles can continue to look
in the same place as before this change (i.e., the last line of the
bottle block). Taking this together with the consistency on macOS
mentioned above, I think this is the right way forward here.

For concreteness, here are some examples of bottle blocks before and after
this change.

Before this change, immediately after `brew bottle`:

    bottle do
      sha256 arm64_sequoia: "1a57e04052f4bae4172d546a7927c645fc29d2ef5fafbec19d08ee1dddc542fb"
      sha256 arm64_sonoma:  "a58cf9af5d04d3d5709b5337f3793586087a79e178da51d1f3978c0c13b8cf34"
      sha256 ventura:       "6d8b90b2cbb31dcb78394c6540f5454cd57232fc309921173814f880e63718f0"
      sha256 x86_64_linux:  "cd5faac2834ba79e39429b9aac99e4f69d6e6023cbb1cbcd0b62e94cfc69bb2a"
      sha256 arm64_linux:   "457d3e9bd0c287483e27f29a488a18c90e1f55be076fc49b07942ef396c419be"
    end

Before this change, after doing `brew style --fix`:

    bottle do
      sha256 arm64_sequoia: "1a57e04052f4bae4172d546a7927c645fc29d2ef5fafbec19d08ee1dddc542fb"
      sha256 arm64_sonoma:  "a58cf9af5d04d3d5709b5337f3793586087a79e178da51d1f3978c0c13b8cf34"
      sha256 arm64_linux:   "457d3e9bd0c287483e27f29a488a18c90e1f55be076fc49b07942ef396c419be"
      sha256 ventura:       "6d8b90b2cbb31dcb78394c6540f5454cd57232fc309921173814f880e63718f0"
      sha256 x86_64_linux:  "cd5faac2834ba79e39429b9aac99e4f69d6e6023cbb1cbcd0b62e94cfc69bb2a"
    end

After this change:

    bottle do
      sha256 arm64_sequoia: "1a57e04052f4bae4172d546a7927c645fc29d2ef5fafbec19d08ee1dddc542fb"
      sha256 arm64_sonoma:  "a58cf9af5d04d3d5709b5337f3793586087a79e178da51d1f3978c0c13b8cf34"
      sha256 ventura:       "6d8b90b2cbb31dcb78394c6540f5454cd57232fc309921173814f880e63718f0"
      sha256 arm64_linux:   "457d3e9bd0c287483e27f29a488a18c90e1f55be076fc49b07942ef396c419be"
      sha256 x86_64_linux:  "cd5faac2834ba79e39429b9aac99e4f69d6e6023cbb1cbcd0b62e94cfc69bb2a"
    end
2025-03-18 16:10:43 +08:00
Bo Anderson
6fed6c10e2
Use PAC+BTI where possible on arm64 Linux 2025-03-18 06:14:16 +00:00
BrewTestBot
0429c858c0
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-03-18 00:27:00 +00:00
NeimadTL
7c23b7aa4a Add possible curl issues
This new part of documentation has been added in order to provide
users a way to identify curl related issues which may or may not be
caused by their workstation.
2025-03-17 19:29:39 -04:00
Patrick Linnane
8c1e9c7c33
Merge pull request #19516 from Homebrew/dependabot/github_actions/docker/login-action-3.4.0
build(deps): bump docker/login-action from 3.3.0 to 3.4.0
2025-03-17 21:06:19 +00:00
Patrick Linnane
07e9ab4b35
Merge pull request #19512 from Homebrew/dependabot/github_actions/artifacts-7137b7c593
build(deps): bump the artifacts group with 2 updates
2025-03-17 21:03:29 +00:00
Patrick Linnane
3ac0464724
Merge pull request #19515 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.226.0
build(deps): bump ruby/setup-ruby from 1.222.0 to 1.226.0
2025-03-17 21:01:46 +00:00
Patrick Linnane
78156d601d
Merge pull request #19514 from Homebrew/dependabot/github_actions/codecov/test-results-action-1.1.0
build(deps): bump codecov/test-results-action from 1.0.4 to 1.1.0
2025-03-17 21:01:32 +00:00
Patrick Linnane
af3d7d1f16
Merge pull request #19513 from Homebrew/dependabot/github_actions/docker/setup-buildx-action-3.10.0
build(deps): bump docker/setup-buildx-action from 3.8.0 to 3.10.0
2025-03-17 21:01:17 +00:00
dependabot[bot]
64ba973bbc
build(deps): bump docker/login-action from 3.3.0 to 3.4.0
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](9780b0c442...74a5d14239)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 18:24:50 +00:00
dependabot[bot]
65c06755c1
build(deps): bump ruby/setup-ruby from 1.222.0 to 1.226.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.222.0 to 1.226.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](277ba2a127...922ebc4c52)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 18:24:47 +00:00
dependabot[bot]
41ab993dbd
build(deps): bump codecov/test-results-action from 1.0.4 to 1.1.0
Bumps [codecov/test-results-action](https://github.com/codecov/test-results-action) from 1.0.4 to 1.1.0.
- [Release notes](https://github.com/codecov/test-results-action/releases)
- [Commits](5c441a7bcc...f2dba722c6)

---
updated-dependencies:
- dependency-name: codecov/test-results-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 18:24:36 +00:00
dependabot[bot]
a84336112f
build(deps): bump docker/setup-buildx-action from 3.8.0 to 3.10.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.8.0 to 3.10.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.8.0...b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 18:24:18 +00:00
dependabot[bot]
33392d5d66
build(deps): bump the artifacts group with 2 updates
Bumps the artifacts group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/upload-artifact` from 4.6.0 to 4.6.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.6.0...4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1)

Updates `actions/download-artifact` from 4.1.8 to 4.1.9
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4.1.8...cc203385981b70ca67e1cc392babf9cc229d5806)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: artifacts
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: artifacts
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 18:23:19 +00:00
Patrick Linnane
a4ba96b1ca
Merge pull request #19509 from Homebrew/fix-livecheck-options-types
livecheck: update types to allow nested JSON hashes
2025-03-17 15:13:52 +00:00
Patrick Linnane
57054642d6
Merge pull request #19507 from Homebrew/cask-stanzas-arch-os-ordered
rubocops/cask/stanza_order: Ensure `arch` and `os` are adjacent
2025-03-17 15:06:48 +00:00
Mike McQuaid
8588898530
Merge pull request #19511 from Homebrew/doctor-arm64-linux
os/linux/diagnostic: skip error on arm64 when `HOMEBREW_ARM64_TESTING` is set
2025-03-17 13:22:00 +00:00
Carlo Cabrera
343eac915b
os/linux/diagnostic: skip error on arm64 when HOMEBREW_ARM64_TESTING is set
This[^1] will enable us to start testing arm64 bottle builds in
Homebrew/core when this environment variable is set.

[^1]: Along with some tweaks to the `dispatch-build-bottle` workflow.
2025-03-17 20:52:12 +08:00
Sean Molenaar
4f7e45881d feat: add linux support to bump-cask-pr 2025-03-17 12:08:27 +01:00
Sean Molenaar
7687ae3891 feat: add linux support to bump-cask-pr 2025-03-17 11:58:00 +01:00
Klaus Hipp
d993a8e04d
livecheck: update types to allow nested JSON hashes 2025-03-17 10:19:42 +01:00
Mike McQuaid
2462e40ca5
Merge pull request #19506 from botantony/go-tags
std_go_args: add `-tags` flag
2025-03-17 09:01:20 +00:00
Issy Long
089680c76f
rubocops/cask/stanza_order: Ensure arch and os are adjacent
- Because Patrick wanted this to be codified.
2025-03-16 21:36:07 +00:00
botantony
96eacb7fd9
std_go_args: add -tags flag
Signed-off-by: botantony <antonsm21@gmail.com>
2025-03-16 21:41:19 +01:00
Bo Anderson
c4fe6f2c29
Merge pull request #19503 from Homebrew/sponsors-maintainers-man-completions
Update sponsors.
2025-03-16 03:33:05 +00:00
Bo Anderson
3d8e895748
Merge pull request #19501 from botantony/ignore-gnu-homepage
Skip homepage audit for `www.gnu.org` and `www.nongnu.org` on GitHub runners
2025-03-16 03:32:57 +00:00
Anton
db130b65f3
Use one regex for gnu.org homepage
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-03-16 01:55:28 +01:00
BrewTestBot
e0efd2d9a5
Update sponsors.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-03-16 00:08:38 +00:00
botantony
da3cb65857
Skip homepage audit for www.gnu.org on GitHub runners
Signed-off-by: botantony <antonsm21@gmail.com>
2025-03-16 00:45:09 +01:00
Bo Anderson
7ba9e9a0fc
Merge pull request #19502 from jimeh/fix-brew-services-list
fix(services/list): correctly handle services with an error code
2025-03-15 23:30:46 +00:00
Bo Anderson
104fa68171
Merge pull request #19497 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-03-15 23:14:56 +00:00
Jim Myhrberg
f969c05b20
fix(services/list): correctly handle services with an error code
The `brew services list` command was not correctly handling services
that had an error code status.

While the `#zero?` method returns a boolean, the `#nonzero?` method
confusingly returns self or nil. Hence a negated `#zero?` call to check
for a non-zero exit code fixes the error.

While here, `#pid?` method uses a negated `#zero?`, which is not
accurate, as a negative PID value would not be a valid PID. Hence I
changed it to use `#positive?` instead.

The tests for the `#error?` method were marked as needing systemd, but I
saw no obvious reason for that due to how they all use mocked values, so
I removed the systemd requirement.
2025-03-15 22:13:44 +00:00
Mike McQuaid
4d55e48a16
Merge pull request #19460 from Homebrew/cache-consider-file-size
download_strategy: compare cached file size to Content-Length
2025-03-15 09:12:07 +00:00
Eric Knibbe
d8230eb740
download_strategy: compare cached size to Content-Length 2025-03-14 23:48:25 -04:00
Douglas Eichelberger
c67f24b7a8
Merge pull request #19499 from Homebrew/fix-meta-param
fix: DownloadStrategy meta params should be untyped
2025-03-15 01:31:53 +00:00
Douglas Eichelberger
b131f47d75
fix: DownloadStrategy meta params should be untyped 2025-03-14 18:18:58 -07:00
BrewTestBot
b28d170972
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-03-15 00:26:29 +00:00
Douglas Eichelberger
c9a6bd6438
Merge pull request #19475 from Homebrew/typed-system-command
refactor: Enable strict typing in download_strategy
2025-03-14 22:34:17 +00:00
Eric Knibbe
752120772c
Merge pull request #19494 from Homebrew/dependabot/bundler/Library/Homebrew/spoom-1.6.1
build(deps-dev): bump spoom from 1.6.0 to 1.6.1 in /Library/Homebrew
2025-03-14 21:48:34 +00:00
dependabot[bot]
ba940f864d
build(deps-dev): bump spoom from 1.6.0 to 1.6.1 in /Library/Homebrew
Bumps [spoom](https://github.com/Shopify/spoom) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/Shopify/spoom/releases)
- [Commits](https://github.com/Shopify/spoom/compare/v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: spoom
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-14 21:09:05 +00:00
Eric Knibbe
9b8c177150
Merge pull request #19493 from Homebrew/dependabot/bundler/Library/Homebrew/rbi-0.3.1
build(deps-dev): bump rbi from 0.3.0 to 0.3.1 in /Library/Homebrew
2025-03-14 20:49:27 +00:00
BrewTestBot
9e18d6b14f
Update RBI files for rbi.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-14 20:34:10 +00:00
BrewTestBot
25d8002310
brew vendor-gems: commit updates. 2025-03-14 20:34:01 +00:00
dependabot[bot]
776b9ee38a
build(deps-dev): bump rbi from 0.3.0 to 0.3.1 in /Library/Homebrew
Bumps [rbi](https://github.com/Shopify/rbi) from 0.3.0 to 0.3.1.
- [Release notes](https://github.com/Shopify/rbi/releases)
- [Commits](https://github.com/Shopify/rbi/compare/v0.3.0...v0.3.1)

---
updated-dependencies:
- dependency-name: rbi
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-14 20:14:01 +00:00
Eric Knibbe
4b4d9d7e73
Merge pull request #19492 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-7d64cd566f
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-14 19:18:55 +00:00
BrewTestBot
90ab32b7da Update RBI files for sorbet.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-14 15:07:40 -04:00
BrewTestBot
1ebe31713c brew vendor-gems: commit updates. 2025-03-14 15:07:40 -04:00
dependabot[bot]
2473507b0b build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11930 to 0.5.11933
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11930 to 0.5.11933
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11930 to 0.5.11933
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11930 to 0.5.11933
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-14 15:07:40 -04:00
Carlo Cabrera
8f2c28c2f6
Merge pull request #19495 from BenBergman/patch-1
Fix typo in Installation.md
2025-03-14 18:44:57 +00:00
Benjamin Bergman
b378ec91fe
Fix typo in Installation.md 2025-03-14 13:25:21 -05:00
Mike McQuaid
a20b5c5d67
Merge pull request #19491 from Homebrew/service_any_installed_prefix
formula: use any_installed_prefix for service paths
2025-03-14 17:28:51 +00:00
Mike McQuaid
8060ce8e54
Merge pull request #19490 from Homebrew/fix_services_types
Fix services types
2025-03-14 17:24:10 +00:00
Mike McQuaid
805cd6f54f
formula: use any_installed_prefix for service paths
This fixes some edge cases where these paths cannot be found if a keg is
not linked.
2025-03-14 17:17:27 +00:00
Mike McQuaid
c82518032e
Fix services types
Some of the typing/`T.must` usage when moving the
Homebrew/homebrew-services code to Homebrew/brew was not quite correct.

Rather than trying to make everything `strict` and import at the same
time: let's mostly loosen the typing to fix a few bugs and allow us to
add more later.
2025-03-14 16:53:07 +00:00
Mike McQuaid
0344030256
Merge pull request #19488 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-03-14 08:55:32 +00:00
BrewTestBot
9dcc35ced0
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-03-14 08:43:39 +00:00
Sean Molenaar
0e80446543
Merge pull request #19459 from Homebrew/feat/fetch/cask_on_linux
fix: allow fetching casks on Linux
2025-03-14 08:40:43 +00:00
Mike McQuaid
191c8cea04
Merge pull request #19385 from botantony/services
services: migrate external tap to main repo
2025-03-14 08:31:01 +00:00
Bo Anderson
02cd7a63c8
Move Services module to Homebrew namespace 2025-03-14 08:19:11 +00:00
Sean Molenaar
756ba2ba59 Add Linux dependency check in cask.rb 2025-03-13 21:47:17 +01:00
Sean Molenaar
9f6b421ad6 fix: check OS for macos dependency 2025-03-13 21:28:40 +01:00
Sean Molenaar
a137426839 feat: generate cask API for linux 2025-03-13 21:28:40 +01:00
Sean Molenaar
2fb5d52b95 fix: allow fetching casks on Linux 2025-03-13 21:28:40 +01:00
Patrick Linnane
68cead54fe
Merge pull request #19484 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-1.74.0
build(deps-dev): bump rubocop from 1.73.2 to 1.74.0 in /Library/Homebrew
2025-03-13 19:30:25 +00:00
botantony
25b9000c77
spec_helper: add :needs_systemd
Signed-off-by: botantony <antonsm21@gmail.com>
2025-03-13 20:29:26 +01:00
Douglas Eichelberger
0152b70bb7
Merge pull request #19482 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-acdb773b42
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-13 19:18:12 +00:00
Douglas Eichelberger
39843b5d40
Resolve violations 2025-03-13 12:16:11 -07:00
Douglas Eichelberger
7f18c341d3
Merge pull request #19483 from Homebrew/dependabot/bundler/Library/Homebrew/minitest-5.25.5
build(deps-dev): bump minitest from 5.25.4 to 5.25.5 in /Library/Homebrew
2025-03-13 19:11:56 +00:00
BrewTestBot
437120d875
Update RBI files for rubocop.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-13 19:00:08 +00:00
BrewTestBot
086f2a904f
brew vendor-gems: commit updates. 2025-03-13 18:59:40 +00:00
BrewTestBot
3a915b48ab
Update RBI files for minitest.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-13 18:59:36 +00:00
BrewTestBot
c7154e2c0d
brew vendor-gems: commit updates. 2025-03-13 18:59:33 +00:00
Douglas Eichelberger
c48870080e
Incorporate feedback 2025-03-13 11:59:31 -07:00
BrewTestBot
e795b9a952
brew vendor-gems: commit updates. 2025-03-13 18:59:27 +00:00
dependabot[bot]
82e11f51ee
build(deps-dev): bump rubocop from 1.73.2 to 1.74.0 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.73.2 to 1.74.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.73.2...v1.74.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-13 18:53:01 +00:00
dependabot[bot]
55c8824abc
build(deps-dev): bump minitest in /Library/Homebrew
Bumps [minitest](https://github.com/minitest/minitest) from 5.25.4 to 5.25.5.
- [Changelog](https://github.com/minitest/minitest/blob/master/History.rdoc)
- [Commits](https://github.com/minitest/minitest/compare/v5.25.4...v5.25.5)

---
updated-dependencies:
- dependency-name: minitest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-13 18:52:42 +00:00
dependabot[bot]
86cd27b030
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11915 to 0.5.11930
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11915 to 0.5.11930
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11915 to 0.5.11930
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11915 to 0.5.11930
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-13 18:52:30 +00:00
Mike McQuaid
0d3cbcad41
test/services: fix some more tests. 2025-03-13 17:36:46 +00:00
Carlo Cabrera
87921cf0db
Merge pull request #19481 from Homebrew/fix-docker-publish-again
workflows/docker: fix publishing Docker images (again)
2025-03-13 17:11:38 +00:00
Carlo Cabrera
cd33a3e032
workflows/docker: fix publishing Docker images (again)
Follow-up to #19480. Tags were being serialised in the wrong format.
This fixes that.
2025-03-14 00:11:24 +08:00
botantony
7a7395a229
services-systemctl: fix testcases
Signed-off-by: botantony <antonsm21@gmail.com>
2025-03-13 17:07:35 +01:00
Mike McQuaid
084ddca27a
Cleanup and fix homebrew-services migration 2025-03-13 15:22:01 +00:00
Carlo Cabrera
b10fe2a699
Merge pull request #19480 from Homebrew/fix-docker-publish
workflows/docker: fix publishing `master` images
2025-03-13 15:17:02 +00:00
Carlo Cabrera
9f844b9bfd
workflows/docker: fix publishing master images
Follow-up to #19275. Publishing `master` images was broken because the
different matrix jobs were overwriting each other's outputs in the
`merge` job.

The fix is to pre-generate all the required data once up-front which we
do in the `generate-tags` job.
2025-03-13 22:50:48 +08:00
botantony
3ef52e4844
services: migrate command to main repo (WIP) 2025-03-13 13:22:01 +00:00
Carlo Cabrera
5c11787465
Merge pull request #19479 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-03-13 11:09:15 +00:00
BrewTestBot
493c07372b
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-03-13 10:53:02 +00:00
Carlo Cabrera
35b301e416
Merge pull request #19478 from Homebrew/vernier-allocation_interval
dev-cmd/prof: fix `vernier` invocation
2025-03-13 10:33:23 +00:00
Carlo Cabrera
4066542b27
dev-cmd/prof: fix vernier invocation
`--allocation_sample_rate` was renamed to `--allocation_interval` in 8ffadb304f
2025-03-13 18:17:18 +08:00
Mike McQuaid
b16a2e905c
Merge pull request #19275 from Homebrew/docker-image-arm64
workflows/docker: build and publish ARM64 Docker images
2025-03-13 10:05:24 +00:00
Carlo Cabrera
344704db7f
Update docker/build-push-action 2025-03-13 17:28:35 +08:00
Carlo Cabrera
3246549edd
Merge remote-tracking branch 'origin/master' into docker-image-arm64 2025-03-13 17:27:23 +08:00
Douglas Eichelberger
f183d0a398
Enable strict typing in Cask::URL 2025-03-12 19:09:52 -07:00
Douglas Eichelberger
e49a69679d
Enable strict typing in TopologicalHash 2025-03-12 19:09:52 -07:00
Douglas Eichelberger
1ca5299f40
refactor: Enable strict typing in download_strategy 2025-03-12 15:15:20 -07:00
Douglas Eichelberger
6ac3311f17
Merge pull request #19472 from Homebrew/dependabot/bundler/Library/Homebrew/spoom-1.6.0
build(deps-dev): bump spoom from 1.5.4 to 1.6.0 in /Library/Homebrew
2025-03-12 21:43:00 +00:00
BrewTestBot
e5d171eb79
Update RBI files for spoom.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-12 21:31:44 +00:00
BrewTestBot
ec4586802f
brew vendor-gems: commit updates. 2025-03-12 21:31:32 +00:00
dependabot[bot]
46dd79b490
build(deps-dev): bump spoom from 1.5.4 to 1.6.0 in /Library/Homebrew
Bumps [spoom](https://github.com/Shopify/spoom) from 1.5.4 to 1.6.0.
- [Release notes](https://github.com/Shopify/spoom/releases)
- [Commits](https://github.com/Shopify/spoom/compare/v1.5.4...v1.6.0)

---
updated-dependencies:
- dependency-name: spoom
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 21:29:59 +00:00
Douglas Eichelberger
a347755c85
Merge pull request #19468 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-cd78cb204c
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-12 21:16:43 +00:00
BrewTestBot
b76d78328e
Update RBI files for sorbet.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-12 20:46:38 +00:00
BrewTestBot
f6b867048b
brew vendor-gems: commit updates. 2025-03-12 20:46:11 +00:00
Douglas Eichelberger
f181e4251b
Include RBS rbi 2025-03-12 13:43:55 -07:00
Mike McQuaid
02ced18f37
Merge pull request #19474 from Homebrew/dependabot/bundler/Library/Homebrew/json-2.10.2
build(deps-dev): bump json from 2.10.1 to 2.10.2 in /Library/Homebrew
2025-03-12 17:19:56 +00:00
dependabot[bot]
4f67643225
build(deps-dev): bump json from 2.10.1 to 2.10.2 in /Library/Homebrew
Bumps [json](https://github.com/ruby/json) from 2.10.1 to 2.10.2.
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/json/compare/v2.10.1...v2.10.2)

---
updated-dependencies:
- dependency-name: json
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 15:38:31 +00:00
Patrick Linnane
319e7b8949
Merge pull request #19473 from Homebrew/cask-token
cask/utils: alllow use of @ in cask name
2025-03-12 14:57:23 +00:00
Bevan Kay
cbc79184ad
test/dev-cmd/create: allow use of @ in cask name 2025-03-12 19:58:03 +11:00
Bevan Kay
74556fe97c
cask/utils: alllow use of @ in cask name 2025-03-12 19:57:37 +11:00
Rylan Polster
ea5f6dacd3
Merge pull request #19470 from osalbahr/ask-add-no
install.rb: add "no" in `--ask` output
2025-03-12 07:35:38 +00:00
Carlo Cabrera
be7a97e240
Update docker.yml 2025-03-12 12:21:26 +08:00
Carlo Cabrera
add2ebff6b
Update docker.yml
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-03-12 12:19:57 +08:00
Osama Albahrani
fde3538900
install.rb: add "no" in --ask output
- improves https://github.com/Homebrew/brew/pull/19254
2025-03-12 00:31:13 +03:00
dependabot[bot]
dc336f6225
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11911 to 0.5.11915
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11911 to 0.5.11915
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11911 to 0.5.11915
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11911 to 0.5.11915
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-11 18:51:11 +00:00
Nanda H Krishna
62784545d0
Merge pull request #19469 from Homebrew/dependabot/bundler/Library/Homebrew/rbi-0.3.0
build(deps-dev): bump rbi from 0.2.4 to 0.3.0 in /Library/Homebrew
2025-03-11 18:37:13 +00:00
dependabot[bot]
6c4ab8641c
build(deps-dev): bump rbi from 0.2.4 to 0.3.0 in /Library/Homebrew
Bumps [rbi](https://github.com/Shopify/rbi) from 0.2.4 to 0.3.0.
- [Release notes](https://github.com/Shopify/rbi/releases)
- [Commits](https://github.com/Shopify/rbi/compare/v0.2.4...v0.3.0)

---
updated-dependencies:
- dependency-name: rbi
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-11 18:11:52 +00:00
Mike McQuaid
1c4dfe066e
Update .github/workflows/docker.yml
Co-authored-by: Bo Anderson <mail@boanderson.me>
2025-03-11 17:16:56 +00:00
Mike McQuaid
efcbeeae3a
Merge pull request #19467 from Homebrew/linux_artifact_denylist
linux/cask/installer: use artifact denylist
2025-03-11 16:07:09 +00:00
Mike McQuaid
22f72cb7d2
linux/cask/installer: use artifact denylist
Otherwise, we end up preventing the use of e.g. `preflight`,
`uninstall` that may all work fine on Linux.
2025-03-11 15:33:01 +00:00
Mike McQuaid
b35b9eb1a8
Merge pull request #19466 from Homebrew/rmdir-ignore-permission-errors
rmdir: ignore unreadable path errors
2025-03-11 14:46:33 +00:00
Eric Knibbe
cae1ca33ec
rmdir: ignore unreadable path errors 2025-03-11 09:48:39 -04:00
Carlo Cabrera
ca3333592b
Merge pull request #19463 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-03-11 10:48:08 +00:00
BrewTestBot
8f2317f908
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-03-11 10:09:23 +00:00
Mike McQuaid
ae7b0c10f3
Merge pull request #19254 from tyuwags/install-size
Install size
2025-03-11 09:54:03 +00:00
Patrick Linnane
b4fe541766
Merge pull request #19454 from Homebrew/dependabot/bundler/Library/Homebrew/parallel_tests-5.1.0
build(deps-dev): bump parallel_tests from 5.0.1 to 5.1.0 in /Library/Homebrew
2025-03-11 01:38:43 +00:00
Patrick Linnane
60a5369e40
Merge pull request #19458 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-76.0.0
build(deps): bump setuptools from 75.8.2 to 76.0.0 in /Library/Homebrew/formula-analytics
2025-03-11 01:34:13 +00:00
dependabot[bot]
e22cbc5a4d
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 75.8.2 to 76.0.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v75.8.2...v76.0.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: indirect
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 19:12:22 +00:00
Patrick Linnane
e8419bc0f0
Merge pull request #19453 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-sorbet-0.9.0
build(deps-dev): bump rubocop-sorbet from 0.8.9 to 0.9.0 in /Library/Homebrew
2025-03-10 18:58:42 +00:00
Patrick Linnane
235ca99dab
Merge pull request #19452 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-ba15ddd8d4
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-10 18:58:32 +00:00
BrewTestBot
9c17b633de
Update RBI files for parallel_tests.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-10 18:46:57 +00:00
BrewTestBot
de79dac6ca
brew vendor-gems: commit updates. 2025-03-10 18:46:51 +00:00
BrewTestBot
44498462c5
brew vendor-gems: commit updates. 2025-03-10 18:46:51 +00:00
BrewTestBot
76954e4daf
brew vendor-gems: commit updates. 2025-03-10 18:46:49 +00:00
Patrick Linnane
668b01989b
Merge pull request #19457 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.222.0
build(deps): bump ruby/setup-ruby from 1.221.0 to 1.222.0
2025-03-10 18:45:30 +00:00
Patrick Linnane
3ceb8bafcd
Merge pull request #19456 from Homebrew/dependabot/github_actions/github/codeql-action-3.28.11
build(deps): bump github/codeql-action from 3.28.10 to 3.28.11
2025-03-10 18:45:16 +00:00
Patrick Linnane
9d0c3984db
Merge pull request #19455 from Homebrew/dependabot/github_actions/actions/attest-build-provenance-2.2.3
build(deps): bump actions/attest-build-provenance from 2.2.2 to 2.2.3
2025-03-10 18:45:01 +00:00
dependabot[bot]
fa431a529d
build(deps): bump ruby/setup-ruby from 1.221.0 to 1.222.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.221.0 to 1.222.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](32110d4e31...277ba2a127)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 18:29:53 +00:00
dependabot[bot]
2cb7aab67b
build(deps): bump github/codeql-action from 3.28.10 to 3.28.11
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.10 to 3.28.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b56ba49b26...6bb031afdd)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 18:29:49 +00:00
dependabot[bot]
63b87e2a37
build(deps): bump actions/attest-build-provenance from 2.2.2 to 2.2.3
Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](bd77c07785...c074443f1a)

---
updated-dependencies:
- dependency-name: actions/attest-build-provenance
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 18:29:42 +00:00
dependabot[bot]
8e86e93332
build(deps-dev): bump parallel_tests in /Library/Homebrew
Bumps [parallel_tests](https://github.com/grosser/parallel_tests) from 5.0.1 to 5.1.0.
- [Changelog](https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md)
- [Commits](https://github.com/grosser/parallel_tests/compare/v5.0.1...v5.1.0)

---
updated-dependencies:
- dependency-name: parallel_tests
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 18:25:27 +00:00
dependabot[bot]
f2ccf370cf
build(deps-dev): bump rubocop-sorbet in /Library/Homebrew
Bumps [rubocop-sorbet](https://github.com/shopify/rubocop-sorbet) from 0.8.9 to 0.9.0.
- [Release notes](https://github.com/shopify/rubocop-sorbet/releases)
- [Commits](https://github.com/shopify/rubocop-sorbet/compare/v0.8.9...v0.9.0)

---
updated-dependencies:
- dependency-name: rubocop-sorbet
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 18:25:15 +00:00
dependabot[bot]
b0ac857f89
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11906 to 0.5.11911
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11906 to 0.5.11911
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11906 to 0.5.11911
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11906 to 0.5.11911
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 18:24:58 +00:00
Mike McQuaid
f378504f95
Merge pull request #19451 from Homebrew/resource-livecheck-parent-fix
livecheck: fix parent reference handling
2025-03-10 17:53:11 +00:00
Nanda H Krishna
1d35406905
livecheck: fix parent reference handling 2025-03-10 13:21:00 -04:00
Mike McQuaid
2f6db3757e
Merge pull request #19448 from gromgit/diagnostic/user_path_prereq
diagnostic: enforce user_path_1 prerequisite
2025-03-10 08:55:50 +00:00
Mike McQuaid
f5a53241a8
Merge pull request #19449 from Homebrew/non-utf8-manpages
keg: fix normalize_pod2man_outputs! for non-UTF-8 manpages
2025-03-10 08:55:47 +00:00
Caleb Xu
7f28b979af
keg: fix normalize_pod2man_outputs! for non-UTF-8 manpages 2025-03-10 03:06:46 -04:00
Adrian Ho
86ec9c7c93 diagnostic: enforce user_path_1 prerequisite
Resolves #19447.
2025-03-10 10:14:47 +08:00
Mike McQuaid
9c11f1b637
Merge pull request #19445 from Homebrew/curl-headers-handle-post-requests
curl_headers: Handle POST requests
2025-03-09 19:15:12 +00:00
Sam Ford
8ba1b4400a
livecheck: Include Content-Length header for POST
Some servers will return an error response if a `Content-Length`
header isn't included in a `POST` request, so this adds it to the
`post_args` array when `post_form` or `post_json` are used.
2025-03-07 20:31:00 -05:00
Sam Ford
9096a111d7
curl_headers: Handle POST requests
`Livecheck::Strategy.page_headers` uses `Utils::Curl.curl_headers` but
the method only handles `HEAD` and `GET` requests. I recently added
`POST` support to livecheck but forgot to update `curl_headers` in the
process, so `livecheck` blocks using the `HeaderMatch` strategy along
with `post_form` or `post_json` will fail because curl doesn't allow
both `--head` and `--data`/`--json` arguments.

This addresses the issue by updating `curl_headers` to handle `POST`
requests and skip the `GET` retry logic.
2025-03-07 20:28:03 -05:00
thibhero
96983ee4ef Specifying the plural of formula 2025-03-07 16:21:05 -05:00
thibhero
c1d80ecf54 resolving conversations from pull request 2025-03-07 16:18:17 -05:00
Patrick Linnane
a2d0aae9a1
Merge pull request #19438 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-feed61f9e9
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-07 17:01:54 +00:00
BrewTestBot
f47562c874
brew vendor-gems: commit updates. 2025-03-07 16:40:07 +00:00
dependabot[bot]
2b156ad4c9
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Dependabot couldn't find the original pull request head commit, 3c4ba633e80f0c1253d4e90744500456b71eb142.
2025-03-07 16:38:43 +00:00
thibhero
4d2e2839b7 Merge remote-tracking branch 'tyuwags/install-size' into install-size 2025-03-07 11:32:40 -05:00
thibhero
d7723fa6ed resolving conversations from pull request 2025-03-07 11:32:34 -05:00
Patrick Linnane
67dd869acf
Merge pull request #19440 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-03-07 16:29:40 +00:00
Thibaut Hérault
548d87c9e8
Update Library/Homebrew/cmd/reinstall.rb comment
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-03-07 11:26:52 -05:00
BrewTestBot
3e7a583a93
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.

Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-03-07 08:17:59 -08:00
Mike McQuaid
f7add22ae5
Merge pull request #19441 from Homebrew/sorbet-files-update
global: revert changes to some variables.
2025-03-07 14:38:36 +00:00
BrewTestBot
564b03694a
global: revert changes to some variables.
Let's ensure these are always set again.
2025-03-07 14:11:39 +00:00
Mike McQuaid
b53a79a3bc
Merge pull request #19439 from Homebrew/cask-dependency-opts
cask/installer: pass more options to cask dependencies
2025-03-07 12:36:10 +00:00
thibhero
6d3ca98207 correcting regex to match in any order and only once 2025-03-07 00:38:02 -05:00
thibhero
692174305d correcting regex to match in any order and only once 2025-03-06 23:54:19 -05:00
thibhero
640556df39 correcting big space while displaying 2025-03-06 23:52:12 -05:00
thibhero
9874f2bbb9 check for formula in any order 2025-03-06 23:30:22 -05:00
thibhero
909f2afd16 brew style --fix 2025-03-06 23:02:17 -05:00
thibhero
459741f683 include FileUtils for touch 2025-03-06 22:59:58 -05:00
thibhero
0b302dc3ad always include 2025-03-06 22:32:51 -05:00
thibhero
8506f1901a check only if formula is bottled for first formula 2025-03-06 22:20:52 -05:00
thibhero
e6d02658b2 adding installed up-to-date 2025-03-06 22:03:15 -05:00
thibhero
483aa26aaa checking also the formula itself 2025-03-06 22:02:45 -05:00
thibhero
2edc42e905 erratum testball and not testball1 2025-03-06 21:43:24 -05:00
thibhero
0ebbd118e4 test for reinstall 2025-03-06 21:27:35 -05:00
thibhero
c5b8dd91f1 test for upgrade 2025-03-06 21:27:25 -05:00
thibhero
99fad7797c modifying files with brew style 2025-03-06 21:27:13 -05:00
thibhero
f4d93e19b8 refactoring testball case to make it more readable 2025-03-06 20:59:56 -05:00
thibhero
fa4e2bad6e updating testball5-0.1.tbz to make it work 2025-03-06 20:59:33 -05:00
thibhero
e5e647d950 refactoring testball 2025-03-06 19:58:32 -05:00
thibhero
4651b961fa removing attributes from macOS 2025-03-06 19:57:44 -05:00
thibhero
16599b6e05 tests for install_spec.rb 2025-03-06 19:34:46 -05:00
thibhero
4e90aa527d moving testball3 to testball5 2025-03-06 19:34:25 -05:00
Eric Knibbe
c5ec1fa61b
cask/installer: pass more options to cask dependencies 2025-03-06 14:10:37 -05:00
Mike McQuaid
dac4c0cc6c
Merge pull request #19437 from Homebrew/cask-skip-livecheck_https_availability-audit-for-post
Cask: skip livecheck https audit for POST requests
2025-03-06 18:10:35 +00:00
Sam Ford
1ac70579eb
Cask: skip livecheck https audit for POST requests
We recently added `POST` request support to livecheck but related cask
checks are failing the `livecheck_https_availability` audit because it
calls `validate_url_for_https_availability` which calls
`Utils::Curl.curl_check_http_content` and that checks the URL using a
`GET` request. Adding `POST` request support to all of those methods
will take some work, so this adds a guard to skip the audit if the
`livecheck` block uses `post_form` or `post_json`. This isn't ideal
but it will allow us to add these `livecheck` blocks in the interim
time.

Co-authored-by: Douglas Eichelberger <d@eic.email>
2025-03-06 12:14:42 -05:00
Mike McQuaid
0ad3ae3ae5
Merge pull request #19421 from Homebrew/global_env_cleanup
global: cleanup environment variables.
2025-03-06 15:50:43 +00:00
Mike McQuaid
4e996e01e6
Merge pull request #19436 from Homebrew/livecheck/xorg-fix-empty-error
Xorg: Handle nil `:content` value
2025-03-06 15:46:16 +00:00
Mike McQuaid
d22184d593
global: cleanup environment variables.
In the spirit of trying to cleanup e.g. `brew sh` or `brew bundle env`
environment variables: let's delete them instead of fetching them.

This avoids having `env` output all the environment variables that we're
just using to pass state from Bash to Ruby.
2025-03-06 15:38:28 +00:00
Sam Ford
67c333ec0a
Xorg: Handle nil :content value
The `Xorg.find_versions` method was recently updated to replace
`match_data[:content].blank?` with `match_data[:content].empty?` but
this is producing an `undefined method 'empty?' for nil` error, as
`:content` is not present when `PageMatch.find_versions` uses cached
content. This updates `Xorg.find_versions` to handle nil `:content`
values in a way that's similar to other `find_versions` methods.
2025-03-06 10:13:56 -05:00
thibhero
f0f2e59fb7 Merge branch 'master' into ask-test
# Conflicts:
#	Library/Homebrew/vendor/bundle/bundler/setup.rb
2025-03-06 00:12:32 -05:00
thibhero
885b7c6f4f checking other tests functions 2025-03-05 23:57:58 -05:00
Patrick Linnane
1f5448fc65
Merge pull request #19434 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-03-06 02:55:27 +00:00
thibhero
0f919e8397 new files for integration_spec.rb for testball3 and 4 2025-03-05 21:32:48 -05:00
thibhero
640c5175fb creating install test with dependencies 2025-03-05 21:31:21 -05:00
thibhero
0b9374b7ac modifying integration_test.rb to work with other dependencies 2025-03-05 21:29:02 -05:00
BrewTestBot
e8ce2d6fdc
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-03-06 00:26:37 +00:00
thibhero
665fbc382d second test for install with dependencies 2025-03-05 17:38:55 -05:00
thibhero
0b53e54bfa Moving ask input to Install.ask 2025-03-05 17:38:18 -05:00
thibhero
817c40d261 test for upgrade_spec.rb 2025-03-05 17:37:25 -05:00
Patrick Linnane
46eb7ec4d8
Merge pull request #19431 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-ee0c0a22ba
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-05 20:07:39 +00:00
BrewTestBot
ca483bbed3
brew vendor-gems: commit updates. 2025-03-05 19:54:23 +00:00
Sean Molenaar
475ceb9657
Merge pull request #19410 from SMillerDev/feat/cask/shell_completion
feat: add cask shell completion
2025-03-05 19:24:37 +00:00
Sean Molenaar
fc319f6793 feat: add tests for completion stanzas 2025-03-05 20:12:18 +01:00
Sean Molenaar
ab2b18f78c feat: add os_version for casks 2025-03-05 20:12:18 +01:00
Sean Molenaar
55b07d7fed feat: add cask shell completion 2025-03-05 20:12:18 +01:00
Eric Knibbe
035be80dad
Merge pull request #19432 from Homebrew/dependabot/bundler/Library/Homebrew/parallel_tests-5.0.1
build(deps-dev): bump parallel_tests from 5.0.0 to 5.0.1 in /Library/Homebrew
2025-03-05 18:44:43 +00:00
thibhero
01bcf2e5be brew vendor-gems: commit updates. 2025-03-05 13:05:14 -05:00
dependabot[bot]
1358883cd6
build(deps-dev): bump parallel_tests in /Library/Homebrew
Bumps [parallel_tests](https://github.com/grosser/parallel_tests) from 5.0.0 to 5.0.1.
- [Changelog](https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md)
- [Commits](https://github.com/grosser/parallel_tests/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: parallel_tests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-05 18:02:47 +00:00
dependabot[bot]
d5c3b7fec7
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11882 to 0.5.11888
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11882 to 0.5.11888
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11882 to 0.5.11888
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11882 to 0.5.11888
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-05 18:02:23 +00:00
Eric Knibbe
f0b84c950d
Merge pull request #19406 from Homebrew/installer-upgrade-fix
macOS pkg installer: fix existing installation not being upgraded
2025-03-05 14:48:05 +00:00
Mike McQuaid
96d238f8c8
Merge pull request #19428 from gromgit/cmd/tap/no-stack-strace
cmd/tap: don't stacktrace on user error
2025-03-05 12:09:35 +00:00
Adrian Ho
7fe2f3b045 cmd/tap: don't stacktrace on user error
Resolves #19427.
2025-03-05 17:32:35 +08:00
Patrick Linnane
5abfab9835
Merge pull request #19426 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-03-05 06:15:15 +00:00
Eric Knibbe
78a326d832
pkg: fix existing installation not being upgraded 2025-03-04 23:42:47 -05:00
thibhero
49007fbccd modifying kernel.rb to accept negative value for disk_usage_readable 2025-03-04 20:01:07 -05:00
BrewTestBot
9bde3e18a6
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-03-05 00:08:18 +00:00
Douglas Eichelberger
aba18ddf27
Merge pull request #19329 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-performance-1.24.0
build(deps-dev): bump rubocop-performance from 1.23.1 to 1.24.0 in /Library/Homebrew
2025-03-04 21:57:41 +00:00
Douglas Eichelberger
9627edd407
Convert rubocop-performance to plugin 2025-03-04 13:10:48 -08:00
BrewTestBot
f9f9430f8e
brew vendor-gems: commit updates. 2025-03-04 21:09:09 +00:00
dependabot[bot]
49cab95a53
build(deps-dev): bump rubocop-performance from 1.23.1 to 1.24.0 in /Library/Homebrew
Dependabot couldn't find the original pull request head commit, 8e90e064d6680169b95122594b9d997a21b299bc.
2025-03-04 21:07:20 +00:00
Douglas Eichelberger
c2a53bc209
Merge pull request #19328 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-md-2.0.0
build(deps-dev): bump rubocop-md from 1.2.4 to 2.0.0 in /Library/Homebrew
2025-03-04 20:46:36 +00:00
Patrick Linnane
45f3e6cb8e
Merge pull request #19424 from Homebrew/ubuntu-20-to-22
workflows/tests: use Docker image for Ubuntu 20.04
2025-03-04 20:42:03 +00:00
Patrick Linnane
79d750de47
Merge pull request #19425 from Homebrew/fix-strategic-require
fix: require strategic interface in each livecheck strategy
2025-03-04 20:41:25 +00:00
Douglas Eichelberger
e898337b85
Convert rubocop-md to plugin 2025-03-04 12:35:53 -08:00
Patrick Linnane
af9a94ebf0
workflows/tests: use Docker image for Ubuntu 20.04
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-03-04 12:30:46 -08:00
BrewTestBot
9ac2216068
brew vendor-gems: commit updates. 2025-03-04 12:07:17 -08:00
dependabot[bot]
3bb22ad9ac
build(deps-dev): bump rubocop-md in /Library/Homebrew
Bumps [rubocop-md](https://github.com/rubocop/rubocop-md) from 1.2.4 to 2.0.0.
- [Release notes](https://github.com/rubocop/rubocop-md/releases)
- [Changelog](https://github.com/rubocop/rubocop-md/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-md/compare/v1.2.4...v2.0.0)

---
updated-dependencies:
- dependency-name: rubocop-md
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-04 12:06:45 -08:00
Douglas Eichelberger
8301d39b99
fix: require strategic interface in each livecheck strategy 2025-03-04 11:48:54 -08:00
Patrick Linnane
287d8b4021
Merge pull request #19318 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-rspec-3.5.0
build(deps-dev): bump rubocop-rspec from 3.4.0 to 3.5.0 in /Library/Homebrew
2025-03-04 19:48:24 +00:00
BrewTestBot
30832168f1
Update RBI files for rubocop-rspec.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-04 19:37:33 +00:00
BrewTestBot
f030eb27f1
brew vendor-gems: commit updates. 2025-03-04 19:37:25 +00:00
Douglas Eichelberger
1494a471dd
remove lint_roller from tapioca exclusions 2025-03-04 11:36:01 -08:00
Douglas Eichelberger
6f616a416b
Update per https://github.com/rubocop/rubocop-rspec/issues/2048\#issuecomment-2694423765 2025-03-04 11:36:01 -08:00
dependabot[bot]
1b73efa575
build(deps-dev): bump rubocop-rspec from 3.4.0 to 3.5.0 in /Library/Homebrew
Dependabot couldn't find the original pull request head commit, ac410e7e262a92178dcdb3a8d25fee8ab24d5424.
2025-03-04 11:30:36 -08:00
Patrick Linnane
d760e40919
Merge pull request #19420 from botantony/std_args
docs: add a bit more information about `std_*_args` to Formula Cookbook
2025-03-04 19:24:36 +00:00
Patrick Linnane
0c554fd7f4
Merge pull request #19423 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-1.73.2
build(deps-dev): bump rubocop from 1.73.1 to 1.73.2 in /Library/Homebrew
2025-03-04 19:21:27 +00:00
Patrick Linnane
452912cd35
Merge pull request #19422 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-965f2178ec
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-04 19:20:45 +00:00
BrewTestBot
60d2db77f8
Update RBI files for rubocop.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-04 19:08:05 +00:00
BrewTestBot
7fdfddf697
brew vendor-gems: commit updates. 2025-03-04 19:07:55 +00:00
BrewTestBot
7e6727021d
brew vendor-gems: commit updates. 2025-03-04 19:07:43 +00:00
dependabot[bot]
d0df4385e4
build(deps-dev): bump rubocop from 1.73.1 to 1.73.2 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.73.1 to 1.73.2.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.73.1...v1.73.2)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-04 18:47:29 +00:00
dependabot[bot]
f203959831
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11875 to 0.5.11882
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11875 to 0.5.11882
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11875 to 0.5.11882
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11875 to 0.5.11882
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-04 18:47:19 +00:00
botantony
bf7514f328
docs: add a bit more information about std_*_args to Formula Cookbook 2025-03-04 13:04:10 +01:00
Mike McQuaid
9ad86c9e42
Merge pull request #19419 from heaths/pwsh-support
Document pwsh shell completion
2025-03-04 10:49:15 +00:00
Heath Stewart
222e8d129a
Document pwsh shell completion
Based on discussion in #19408, update the documentation to specify that `:pwsh` must be passed explicitly and that it will translate to a "powershell" argument, as is currently supported by Go's common `github.com/spf13/cobra` module and Rust's common `clap` (with `clap_complete`) crate.
2025-03-04 02:16:48 -08:00
Patrick Linnane
29fa76c948
Merge pull request #19418 from Homebrew/dependabot/github_actions/actions/attest-build-provenance-2.2.2
build(deps): bump actions/attest-build-provenance from 2.2.0 to 2.2.2
2025-03-03 18:48:39 +00:00
Patrick Linnane
419959d9d6
Merge pull request #19417 from Homebrew/dependabot/github_actions/docker/setup-buildx-action-3.10.0
build(deps): bump docker/setup-buildx-action from 3.9.0 to 3.10.0
2025-03-03 18:47:45 +00:00
Patrick Linnane
73a838b2ad
Merge pull request #19416 from Homebrew/dependabot-10-pr-limit
dependabot: allow up to 10 open PR's
2025-03-03 18:45:27 +00:00
dependabot[bot]
927e41c1cc
build(deps): bump actions/attest-build-provenance from 2.2.0 to 2.2.2
Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) from 2.2.0 to 2.2.2.
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](520d128f16...bd77c07785)

---
updated-dependencies:
- dependency-name: actions/attest-build-provenance
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 18:35:01 +00:00
dependabot[bot]
e3a83532e7
build(deps): bump docker/setup-buildx-action from 3.9.0 to 3.10.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.9.0 to 3.10.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](f7ce87c1d6...b5ca514318)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 18:34:57 +00:00
Patrick Linnane
75b418c646
dependabot: allow up to 10 open PR's
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-03-03 10:31:26 -08:00
Patrick Linnane
49ddff7026
Merge pull request #19415 from Homebrew/dependabot/github_actions/actions/cache-4.2.2
build(deps): bump actions/cache from 4.2.1 to 4.2.2
2025-03-03 18:18:19 +00:00
Patrick Linnane
76eb1ceaf8
Merge pull request #19414 from Homebrew/dependabot/github_actions/actions/create-github-app-token-1.11.6
build(deps): bump actions/create-github-app-token from 1.11.5 to 1.11.6
2025-03-03 18:17:46 +00:00
Patrick Linnane
5f619df0b2
Merge pull request #19413 from Homebrew/dependabot/github_actions/codecov/codecov-action-5.4.0
build(deps): bump codecov/codecov-action from 5.3.1 to 5.4.0
2025-03-03 18:15:33 +00:00
Patrick Linnane
ca10e2054b
Merge pull request #19412 from Homebrew/dependabot/github_actions/docker/build-push-action-6.15.0
build(deps): bump docker/build-push-action from 6.14.0 to 6.15.0
2025-03-03 18:15:14 +00:00
Patrick Linnane
40e97bc3c1
Merge pull request #19411 from Homebrew/dependabot/github_actions/artifacts-8f3a61e048
build(deps): bump actions/download-artifact from 4.1.8 to 4.1.9 in the artifacts group
2025-03-03 18:14:59 +00:00
dependabot[bot]
ab7fbfdc09
build(deps): bump actions/cache from 4.2.1 to 4.2.2
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](0c907a75c2...d4323d4df1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 18:04:55 +00:00
dependabot[bot]
e02884e8af
build(deps): bump actions/create-github-app-token from 1.11.5 to 1.11.6
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.5 to 1.11.6.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](0d564482f0...21cfef2b49)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 18:04:50 +00:00
dependabot[bot]
4d69e23bf2
build(deps): bump codecov/codecov-action from 5.3.1 to 5.4.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](13ce06bfc6...0565863a31)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 18:04:48 +00:00
dependabot[bot]
6198f5d5e1
build(deps): bump docker/build-push-action from 6.14.0 to 6.15.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.14.0 to 6.15.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](0adf995921...471d1dc4e0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 18:04:44 +00:00
dependabot[bot]
c3c6a90b44
build(deps): bump actions/download-artifact in the artifacts group
Bumps the artifacts group with 1 update: [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/download-artifact` from 4.1.8 to 4.1.9
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](fa0a91b85d...cc20338598)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: artifacts
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 18:04:41 +00:00
Carlo Cabrera
29b1f187d4
Merge pull request #19408 from Homebrew/pwsh-completions
formula: remove `pwsh` from default completion shells
2025-03-03 12:34:59 +00:00
Carlo Cabrera
807709622b
formula: remove pwsh from default completion shells
Fixes https://github.com/Homebrew/brew/pull/19407#issuecomment-2694083829
2025-03-03 20:07:13 +08:00
Mike McQuaid
e401eee162
Merge pull request #19407 from heaths/issue19403
Add PowerShell (pwsh) completion support
2025-03-03 08:31:03 +00:00
Mike McQuaid
de5b6e0f3d
Merge pull request #19371 from Homebrew/no-attr_predicate
refactor: inline use of attr_predicate
2025-03-03 08:29:51 +00:00
Douglas Eichelberger
fcf18912fe
Inline use of attr_predicate 2025-03-02 21:36:03 -08:00
Heath Stewart
15282dcdbd
Fix lint 2025-03-02 18:44:40 -08:00
Heath Stewart
42caf20fa4
Add PowerShell (pwsh) completion support
Resolves #19403
2025-03-02 18:17:38 -08:00
thibhero
b7a298e1ec first test to check option --ask 2025-03-02 20:04:02 -05:00
thibhero
c5d80271f4 dont ask input if gets doesnt exist because of test 2025-03-02 20:03:39 -05:00
Mike McQuaid
64efed206d
Merge pull request #19391 from gibfahn/no_sorbet_even_if_dev
fix: HOMEBREW_NO_SORBET_RUNTIME should work even if developer
2025-03-02 19:32:54 +00:00
Patrick Linnane
42cbf27fca
Merge pull request #19404 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-66760194a4
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-03-02 05:48:00 +00:00
Patrick Linnane
3dd229164d
Merge pull request #19405 from Homebrew/dependabot/bundler/Library/Homebrew/parallel_tests-5.0.0
build(deps-dev): bump parallel_tests from 4.9.1 to 5.0.0 in /Library/Homebrew
2025-03-02 05:47:48 +00:00
BrewTestBot
7621b5c4c4
Update RBI files for parallel_tests.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-03-02 05:37:08 +00:00
BrewTestBot
a6c3554989
brew vendor-gems: commit updates. 2025-03-02 05:37:02 +00:00
BrewTestBot
51b06c63b3
brew vendor-gems: commit updates. 2025-03-02 05:36:54 +00:00
dependabot[bot]
f43e0c4804
build(deps-dev): bump parallel_tests in /Library/Homebrew
Bumps [parallel_tests](https://github.com/grosser/parallel_tests) from 4.9.1 to 5.0.0.
- [Changelog](https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md)
- [Commits](https://github.com/grosser/parallel_tests/compare/v4.9.1...v5.0.0)

---
updated-dependencies:
- dependency-name: parallel_tests
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-02 05:34:07 +00:00
dependabot[bot]
a8e192fde5
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11874 to 0.5.11875
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11874 to 0.5.11875
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11874 to 0.5.11875
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11874 to 0.5.11875
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-02 05:33:57 +00:00
Douglas Eichelberger
0e1d945068
Merge pull request #19402 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-6a99981cdb
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-28 20:10:45 +00:00
BrewTestBot
82de4997b6
brew vendor-gems: commit updates. 2025-02-28 19:59:00 +00:00
dependabot[bot]
f569b92fbb
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11865 to 0.5.11874
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11865 to 0.5.11874
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11865 to 0.5.11874
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11865 to 0.5.11874
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-28 18:02:02 +00:00
Mike McQuaid
366a180f96
Merge pull request #19398 from toobuntu/search_formulae/issue_19397
fix(search.rb): fix regex regression in search
2025-02-28 16:04:54 +00:00
Todd Schulman
8bd3b48258 fix(search.rb): fix regex regression in search
Fixes a regression in `brew search` which prevented using a regex for
the search pattern after strict typing was added to `formula.rb` in
commit a81239e. Now performs fuzzy search only if input is a string.

Closes #19397
2025-02-28 09:33:32 -05:00
Caleb Xu
b390a4db95
Merge pull request #19399 from Homebrew/pod2man-shim-fix
keg: fix normalize_pod2man_outputs! for compressed manpages
2025-02-28 13:48:52 +00:00
Mike McQuaid
fb24f4d367
Merge pull request #19393 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-1.73.1
build(deps-dev): bump rubocop from 1.72.2 to 1.73.1 in /Library/Homebrew
2025-02-28 10:08:29 +00:00
Mike McQuaid
7a5d4256e5
Fix Rubocop warnings (without brew style --fix) 2025-02-28 09:59:32 +00:00
Caleb Xu
b5db95bee5
keg: fix normalize_pod2man_outputs! for compressed manpages 2025-02-28 03:30:27 -05:00
BrewTestBot
fe76a5155b
Update RBI files for rubocop.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-27 13:15:23 -08:00
BrewTestBot
026c029b51
brew vendor-gems: commit updates. 2025-02-27 13:15:23 -08:00
dependabot[bot]
6b8b060e11
build(deps-dev): bump rubocop from 1.72.2 to 1.73.1 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.72.2 to 1.73.1.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.72.2...v1.73.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-27 13:15:21 -08:00
Patrick Linnane
38385c8cbf
Merge pull request #19395 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/influxdb3-python-0.11.0
build(deps): bump influxdb3-python from 0.10.0 to 0.11.0 in /Library/Homebrew/formula-analytics
2025-02-27 19:08:50 +00:00
Patrick Linnane
25ba96f690
Merge pull request #19394 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-75.8.2
build(deps): bump setuptools from 75.8.1 to 75.8.2 in /Library/Homebrew/formula-analytics
2025-02-27 19:07:13 +00:00
dependabot[bot]
a555c45e8a
build(deps): bump influxdb3-python
Bumps [influxdb3-python](https://github.com/InfluxCommunity/influxdb3-python) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/InfluxCommunity/influxdb3-python/releases)
- [Changelog](https://github.com/InfluxCommunity/influxdb3-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/InfluxCommunity/influxdb3-python/compare/v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: influxdb3-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-27 18:57:30 +00:00
dependabot[bot]
40a75036f9
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 75.8.1 to 75.8.2.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v75.8.1...v75.8.2)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-27 18:57:20 +00:00
Patrick Linnane
c21021c49b
Merge pull request #19392 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-813f915f9a
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-27 16:48:56 +00:00
BrewTestBot
ae16e232aa
brew vendor-gems: commit updates. 2025-02-27 16:38:28 +00:00
dependabot[bot]
029388a130
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11862 to 0.5.11865
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11862 to 0.5.11865
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11862 to 0.5.11865
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11862 to 0.5.11865
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-27 16:36:27 +00:00
Mike McQuaid
9dc1e61443
Merge pull request #19355 from Homebrew/strategy-interface
feat: Add interface for livecheck strategies
2025-02-27 08:26:15 +00:00
Gibson Fahnestock
1ff3b62d7b
fix: HOMEBREW_NO_SORBET_RUNTIME should work even if developer
Today if you are in developer mode then `HOMEBREW_NO_SORBET_RUNTIME`
doesn't take effect. But when doing development it's often useful to be
able to disable type-checking, so have that env var take effect even in
developer mode.
2025-02-27 11:59:08 +08:00
Douglas Eichelberger
9515714b44
Add interface for livecheck strategies 2025-02-26 16:45:39 -08:00
Douglas Eichelberger
9a3451ee95
Merge pull request #19388 from Homebrew/dependabot/bundler/Library/Homebrew/redcarpet-3.6.1
build(deps-dev): bump redcarpet from 3.6.0 to 3.6.1 in /Library/Homebrew
2025-02-26 18:45:54 +00:00
Douglas Eichelberger
ce4023997a
Merge pull request #19387 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-769bedcd25
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-26 18:44:47 +00:00
Douglas Eichelberger
282e08cd43
Merge pull request #19389 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-ast-1.38.1
build(deps-dev): bump rubocop-ast from 1.38.0 to 1.38.1 in /Library/Homebrew
2025-02-26 18:44:41 +00:00
BrewTestBot
a2cd6daaee
Update RBI files for rubocop-ast.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-26 18:34:15 +00:00
BrewTestBot
14e70a8786
brew vendor-gems: commit updates. 2025-02-26 18:34:05 +00:00
BrewTestBot
cf15d62902
brew vendor-gems: commit updates. 2025-02-26 18:33:52 +00:00
BrewTestBot
d00ad531df
brew vendor-gems: commit updates. 2025-02-26 18:33:40 +00:00
dependabot[bot]
3aa1b1200a
build(deps-dev): bump rubocop-ast in /Library/Homebrew
Bumps [rubocop-ast](https://github.com/rubocop/rubocop-ast) from 1.38.0 to 1.38.1.
- [Release notes](https://github.com/rubocop/rubocop-ast/releases)
- [Changelog](https://github.com/rubocop/rubocop-ast/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-ast/compare/v1.38.0...v1.38.1)

---
updated-dependencies:
- dependency-name: rubocop-ast
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 18:27:21 +00:00
dependabot[bot]
686d978cce
build(deps-dev): bump redcarpet from 3.6.0 to 3.6.1 in /Library/Homebrew
Bumps [redcarpet](https://github.com/vmg/redcarpet) from 3.6.0 to 3.6.1.
- [Release notes](https://github.com/vmg/redcarpet/releases)
- [Changelog](https://github.com/vmg/redcarpet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vmg/redcarpet/commits)

---
updated-dependencies:
- dependency-name: redcarpet
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 18:27:13 +00:00
dependabot[bot]
54b59ce40c
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11856 to 0.5.11862
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11856 to 0.5.11862
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11856 to 0.5.11862
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11856 to 0.5.11862
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 18:27:00 +00:00
Caleb Xu
0c2c76351c
Merge pull request #19174 from alebcay/pod2man-shim
Clean pod2man-generated manpages after formula build
2025-02-26 13:55:34 +00:00
Douglas Eichelberger
19332ee1d5
Merge pull request #19383 from Homebrew/fix-yard-directives
docs: Remove misused YARD directives
2025-02-25 20:56:58 +00:00
Douglas Eichelberger
3b3c55ca0d
fix: Remove misused YARD directives 2025-02-25 11:55:37 -08:00
Douglas Eichelberger
cad6f53109
Merge pull request #19382 from Homebrew/fix-formula-type
fix: Revert breaking type change in Formula#std_npm_args
2025-02-25 19:34:21 +00:00
thibhero
7b3e469650 wrong array of formulae in compute sized 2025-02-25 14:28:44 -05:00
Douglas Eichelberger
a092403b16
Fix breaking type change in Formula#std_npm_args 2025-02-25 11:23:29 -08:00
Douglas Eichelberger
6bb2a4c8e2
Merge pull request #19380 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/setuptools-75.8.1
build(deps): bump setuptools from 75.8.0 to 75.8.1 in /Library/Homebrew/formula-analytics
2025-02-25 19:20:23 +00:00
Douglas Eichelberger
0e90f34ab7
Merge pull request #19381 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-2d80ecae37
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-25 19:20:18 +00:00
BrewTestBot
4b2ce255ec
Update RBI files for sorbet.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-25 19:00:23 +00:00
BrewTestBot
92f4ff88e4
brew vendor-gems: commit updates. 2025-02-25 19:00:19 +00:00
BrewTestBot
0b8ae8f2fe
Update RBI files for setuptools.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-25 19:00:10 +00:00
dependabot[bot]
d520b7dc72
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11851 to 0.5.11856
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11851 to 0.5.11856
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11851 to 0.5.11856
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11851 to 0.5.11856
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-25 18:57:03 +00:00
dependabot[bot]
95a0675eb7
build(deps): bump setuptools in /Library/Homebrew/formula-analytics
Bumps [setuptools](https://github.com/pypa/setuptools) from 75.8.0 to 75.8.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v75.8.0...v75.8.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-25 18:44:10 +00:00
Douglas Eichelberger
9cb5ecf8b3
Merge pull request #19379 from Homebrew/fix-formula-type
Fix return type of Formula.build
2025-02-25 17:15:51 +00:00
Douglas Eichelberger
6cd9daffdf
Fix return type of Formula.build 2025-02-25 09:03:01 -08:00
Carlo Cabrera
81f1647b3d
Merge pull request #19377 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-02-25 16:58:17 +00:00
Sam Ford
6291c24004
Merge pull request #19293 from Homebrew/livecheck/options
livecheck: add Options class
2025-02-25 16:50:51 +00:00
BrewTestBot
302d33c26e
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-02-25 16:00:57 +00:00
Sam Ford
749a7c846e
Add livecheck_find_versions_parameters tests 2025-02-25 10:56:32 -05:00
Sam Ford
0bb18b33b2
Livecheck::Options: Add #merge! 2025-02-25 10:56:32 -05:00
Douglas Eichelberger
c1b9136805
rm unnecessary rbi file 2025-02-25 10:56:32 -05:00
Douglas Eichelberger
9aa8ab1789
Simplify livecheck_find_versions_parameters 2025-02-25 10:56:32 -05:00
Sam Ford
c1401ae360
Livecheck::Options: Enable typed: strong
This enables `typed: strong` in `Options` and resolves the related
errors.

I annotated the return value of `serialize` in `#to_hash` to resolve
a type error and then updated other methods to use `to_hash` instead.
This approach resolves similar type errors without duplicating the
same `serialize` annotation.

For `#==`, I switched `instance_of?(other.class)` to
`other.is_a?(Options)`, as Sorbet understands that `is_a?` ensures
`other` is an `Options` object but doesn't seem to understand
that `instance_of?` was doing the same thing. The tests continue to
pass with these changes, so hopefully this is fine.
2025-02-25 10:56:32 -05:00
Sam Ford
8afa354c35
Livecheck::Options: Rework as T::Struct
As suggested, this reworks `Options` to subclass `T::Struct`, which
simplifies the implementation and makes it easier to maintain.

One noteworthy difference in switching to `T::Struct` is that
`#serialize` omits `nil` values but I don't _think_ this should be a
problem for us. In terms of changes, I modified `#merge` to remove a
now-unnecessary `compact` call and updated related tests.

Co-authored-by: Douglas Eichelberger <697964+dduugg@users.noreply.github.com>
2025-02-25 10:56:32 -05:00
Sam Ford
b6eb945320
livecheck: Add Options class
This adds a `Livecheck::Options` class, which is intended to house
various configuration options that are set in `livecheck` blocks,
conditionally set by livecheck at runtime, etc. The general idea is
that when we add features involving configurations options (e.g., for
livecheck, strategies, curl, etc.), we can make changes to `Options`
without needing to modify parameters for strategy `find_versions`
methods, `Strategy` methods like `page_headers` and `page_content`,
etc. This is something that I've been trying to improve over the years
and `Options` should help to reduce maintenance overhead in this area
while also strengthening type signatures.

`Options` replaces the existing `homebrew_curl` option (which related
strategies pass to `Strategy` methods and on to `curl_args`) and the
new `url_options` (which contains `post_form` or `post_json` values
that are used to make `POST` requests). I recently added `url_options`
as a temporary way of enabling `POST` support without `Options` but
this restores the original `Options`-based implementation.

Along the way, I added a `homebrew_curl` parameter to the `url` DSL
method, allowing us to set an explicit value in `livecheck` blocks.
This is something that we've needed in some cases but I also intend
to replace implicit/inferred `homebrew_curl` usage with explicit
values in `livecheck` blocks once this is available for use. My
intention is to eventually remove the implicit behavior and only rely
on explicit values. That will align with how `homebrew_curl` options
work for other URLs and makes the behavior clear just from looking at
the `livecheck` block.

Lastly, this removes the `unused` rest parameter from `find_versions`
methods. I originally added `unused` as a way of handling parameters
that some `find_versions` methods have but others don't (e.g., `cask`
in `ExtractPlist`), as this allowed us to pass various arguments to
`find_versions` methods without worrying about whether a particular
parameter is available. This isn't an ideal solution and I originally
wanted to handle this situation by only passing expected arguments to
`find_versions` methods but there was a technical issue standing in
the way. I recently found an answer to the issue, so this also
replaces the existing `ExtractPlist` special case with generic logic
that checks the parameters for a strategy's `find_versions` method
and only passes expected arguments.

Replacing the aforementioned `find_versions` parameters with `Options`
ensures that the remaining parameters are fairly consistent across
strategies and any differences are handled by the aforementioned
logic. Outside of `ExtractPlist`, the only other difference is that
some `find_versions` methods have a `provided_content` parameter but
that's currently only used by tests (though it's intended for caching
support in the future). I will be renaming that parameter to `content`
in an upcoming PR and expanding it to the other strategies, which
should make them all consistent outside of `ExtractPlist`.
2025-02-25 10:56:31 -05:00
Mike McQuaid
7c514724af
Merge pull request #19375 from Homebrew/homebrew_upgrade_greedy_casks
Add `HOMEBREW_UPGRADE_GREEDY_CASKS`
2025-02-25 15:46:36 +00:00
Mike McQuaid
b1559f38a0
Add HOMEBREW_UPGRADE_GREEDY_CASKS
A space-separated list of casks. Homebrew will act as if `--greedy`
was passed when upgrading any cask on this list.
2025-02-25 15:34:49 +00:00
Mike McQuaid
be7e3ac2e1
Merge pull request #19376 from Homebrew/issue_types
.github/ISSUE_TEMPLATE/*: use issue types.
2025-02-25 14:14:57 +00:00
Mike McQuaid
9e04d9cb34
.github/ISSUE_TEMPLATE/*: use issue types.
These are new and shiny so let's use them.
2025-02-25 14:00:34 +00:00
Mike McQuaid
b4dbbf19a2
Merge pull request #19373 from gromgit/diagnostic/fix-call
diagnostic: fix call to missing_dependencies
2025-02-25 11:25:52 +00:00
Adrian Ho
571da49165 diagnostic: fix call to missing_dependencies
Followup to #19323.
2025-02-25 19:12:11 +08:00
Mike McQuaid
e49b36d118
Merge pull request #19323 from Homebrew/typed-formula
Enable strict typing in Formula
2025-02-25 08:36:24 +00:00
Douglas Eichelberger
cdb6a3df84
Merge pull request #19356 from Homebrew/nilable-demodulize
refactor: move nil check inside demodulize
2025-02-24 20:07:44 +00:00
Patrick Linnane
e647b747dd
Merge pull request #19368 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-40d3d6f023
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-24 20:00:06 +00:00
Patrick Linnane
d931be837f
Merge pull request #19369 from Homebrew/dependabot/bundler/Library/Homebrew/tapioca-0.16.11
build(deps-dev): bump tapioca from 0.16.10 to 0.16.11 in /Library/Homebrew
2025-02-24 19:59:08 +00:00
Douglas Eichelberger
936b9b5369
Move nil check inside demodulize 2025-02-24 11:57:20 -08:00
BrewTestBot
c98a434e46
Update RBI files for tapioca.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-24 19:49:30 +00:00
BrewTestBot
af60b687ef
brew vendor-gems: commit updates. 2025-02-24 19:49:18 +00:00
BrewTestBot
1054444dcf
brew vendor-gems: commit updates. 2025-02-24 19:48:56 +00:00
Patrick Linnane
5c37e962a1
Merge pull request #19370 from Homebrew/sponsors-maintainers-man-completions
Update sponsors.
2025-02-24 19:47:50 +00:00
dependabot[bot]
b57e8fc853
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11845 to 0.5.11851
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11845 to 0.5.11851
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11845 to 0.5.11851
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11845 to 0.5.11851
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 19:19:24 +00:00
BrewTestBot
8b1ab754cc
Update sponsors.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-02-24 19:15:38 +00:00
Eric Knibbe
f6d0146b1a
Merge pull request #19363 from Homebrew/dependabot/github_actions/artifacts-19ac703470
build(deps): bump actions/upload-artifact from 4.6.0 to 4.6.1 in the artifacts group
2025-02-24 19:05:31 +00:00
Eric Knibbe
7be29861e7
Merge pull request #19364 from Homebrew/dependabot/github_actions/docker/build-push-action-6.14.0
build(deps): bump docker/build-push-action from 6.13.0 to 6.14.0
2025-02-24 19:05:17 +00:00
Eric Knibbe
0a8ef622a9
Merge pull request #19365 from Homebrew/dependabot/github_actions/codecov/test-results-action-1.0.4
build(deps): bump codecov/test-results-action from 1.0.3 to 1.0.4
2025-02-24 19:05:07 +00:00
Eric Knibbe
a27936164e
Merge pull request #19366 from Homebrew/dependabot/github_actions/github/codeql-action-3.28.10
build(deps): bump github/codeql-action from 3.28.9 to 3.28.10
2025-02-24 19:04:57 +00:00
Eric Knibbe
5f7f26f8f1
Merge pull request #19367 from Homebrew/dependabot/github_actions/actions/cache-4.2.1
build(deps): bump actions/cache from 4.2.0 to 4.2.1
2025-02-24 19:04:40 +00:00
dependabot[bot]
42f89a868f
build(deps-dev): bump tapioca in /Library/Homebrew
Bumps [tapioca](https://github.com/Shopify/tapioca) from 0.16.10 to 0.16.11.
- [Release notes](https://github.com/Shopify/tapioca/releases)
- [Commits](https://github.com/Shopify/tapioca/compare/v0.16.10...v0.16.11)

---
updated-dependencies:
- dependency-name: tapioca
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 18:48:17 +00:00
dependabot[bot]
bfcfa55e86
build(deps): bump actions/cache from 4.2.0 to 4.2.1
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](1bd1e32a3b...0c907a75c2)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 18:45:20 +00:00
dependabot[bot]
ffa9193e15
build(deps): bump github/codeql-action from 3.28.9 to 3.28.10
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.9 to 3.28.10.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](9e8d0789d4...b56ba49b26)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 18:45:16 +00:00
dependabot[bot]
c728639d56
build(deps): bump codecov/test-results-action from 1.0.3 to 1.0.4
Bumps [codecov/test-results-action](https://github.com/codecov/test-results-action) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/codecov/test-results-action/releases)
- [Commits](44ecb3a270...5c441a7bcc)

---
updated-dependencies:
- dependency-name: codecov/test-results-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 18:45:09 +00:00
dependabot[bot]
d8a2eab8bf
build(deps): bump docker/build-push-action from 6.13.0 to 6.14.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.13.0 to 6.14.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](ca877d9245...0adf995921)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 18:45:07 +00:00
dependabot[bot]
3bc228ecbf
build(deps): bump actions/upload-artifact in the artifacts group
Bumps the artifacts group with 1 update: [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/upload-artifact` from 4.6.0 to 4.6.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](65c4c4a1dd...4cec3d8aa0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: artifacts
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 18:45:05 +00:00
Douglas Eichelberger
49ee4d5720
Fix docs 2025-02-24 10:23:43 -08:00
Douglas Eichelberger
ca8759605c
Fix tests 2025-02-24 10:23:42 -08:00
Douglas Eichelberger
beeb0b8f6d
Reclaim some vertical real estate 2025-02-24 10:23:42 -08:00
Douglas Eichelberger
a81239ec2d
Enable strict typing in Formula 2025-02-24 10:23:42 -08:00
Douglas Eichelberger
62dc3876ab
Merge pull request #19361 from Homebrew/fix-formula-cookbook-url-fragments
docs: Fix broken RubyDoc URL fragments
2025-02-24 17:38:46 +00:00
Sam Ford
140d45f325
docs: Fix broken RubyDoc URL fragments
Some RubyDoc URL fragments in the Formula Cookbook documentation
include an equals sign (`%3D`) but the `id` attributes in the current
RubyDoc HTML don't include the equals sign, so the documentation CI
job is failing with errors like `External link
https://rubydoc.brew.sh/Formula#revision=-class_method failed:
https://rubydoc.brew.sh/Formula exists, but the hash
'revision=-class_method' does not`. This updates the URLs to remove
`%3D` accordingly.
2025-02-24 12:08:52 -05:00
Mike McQuaid
89d1d6b8f4
Merge pull request #19359 from Homebrew/no-attr_rw
refactor: inline use of attr_rw
2025-02-24 09:02:02 +00:00
Mike McQuaid
b9eff75108
Merge pull request #19351 from Homebrew/livecheck/refactor-livecheck_strategy_names
livecheck: refactor livecheck_strategy_names
2025-02-24 08:59:51 +00:00
Mike McQuaid
b4648182ca
Merge pull request #19352 from Homebrew/livecheck/restrict-post-hashes-to-symbol-keys
livecheck: restrict POST hashes to symbol keys
2025-02-24 08:57:53 +00:00
Mike McQuaid
ce5733eec3
Merge pull request #19357 from Homebrew/relocatable-check-prefix
dev-cmd/bottle: check for prefix when not /usr/local
2025-02-24 08:56:34 +00:00
Douglas Eichelberger
7880490f85
Update Library/Homebrew/formula.rb
Co-authored-by: Markus Reiter <me@reitermark.us>
2025-02-23 15:09:34 -08:00
Douglas Eichelberger
3ef22f3181
Inline use of attr_rw 2025-02-23 13:18:49 -08:00
Michael Cho
05d3ce85cd
dev-cmd/bottle: check for prefix when not /usr/local
Fixes incorrectly marking bottles as relocatable, e.g.

425d4ea43d/Formula/p/pkgconf.rb (L34-L36)

This cannot be done for `/usr/local` as it is used outside Homebrew.
Other default prefixes are Homebrew-specific.
2025-02-23 14:28:31 -05:00
Sam Ford
5e57df7287
livecheck: restrict POST hashes to symbol keys
I initially set the type for livecheck's `post_form` and `post_json`
hashes to allow either a string or symbol key. I used string keys in
the documentation, as there will inevitably be some form field names
that would pose a problem for symbols (e.g., `E-mail` uses a hyphen,
`1twothree` starts with a digit, etc.). However, I remembered that we
can simply use quote symbols like `:"E-mail"` to handle these
situations, as they have the flexibility of a string while still being
a symbol.

With that in mind, this updates related type signatures to only allow
symbol keys and updates documentation and tests accordingly. The
documentation example contains a hyphenated form field, so it
demonstrates how to handle names that don't work as a bare symbol.
2025-02-21 21:54:46 -05:00
Carlo Cabrera
58e4e0f8b2
Merge pull request #19350 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-02-22 02:02:58 +00:00
Sam Ford
efeff905eb
livecheck: refactor livecheck_strategy_names
This refactors the `livecheck_strategy_names` method to align with
Doug's `livecheck_find_versions_parameters` implementation.
2025-02-21 20:24:28 -05:00
BrewTestBot
88751b7db9
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-02-22 00:24:35 +00:00
Patrick Linnane
ed13d33aef
Merge pull request #19349 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-02-21 21:22:22 +00:00
BrewTestBot
fb04179fd8
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-02-21 19:40:15 +00:00
Mike McQuaid
db657725b5
Merge pull request #19346 from botantony/zig-args
Zig template and std args
2025-02-21 19:29:27 +00:00
Patrick Linnane
d6fd0b6359
Merge pull request #19347 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-20eb92d5ee
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-21 18:52:56 +00:00
Patrick Linnane
96f3a40afa
Merge pull request #19348 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-sorbet-0.8.9
build(deps-dev): bump rubocop-sorbet from 0.8.7 to 0.8.9 in /Library/Homebrew
2025-02-21 18:52:47 +00:00
BrewTestBot
744eaa4cf5
brew vendor-gems: commit updates. 2025-02-21 18:42:38 +00:00
BrewTestBot
a7ef82df50
brew vendor-gems: commit updates. 2025-02-21 18:42:15 +00:00
dependabot[bot]
574a595e2d
build(deps-dev): bump rubocop-sorbet in /Library/Homebrew
Bumps [rubocop-sorbet](https://github.com/shopify/rubocop-sorbet) from 0.8.7 to 0.8.9.
- [Release notes](https://github.com/shopify/rubocop-sorbet/releases)
- [Commits](https://github.com/shopify/rubocop-sorbet/compare/v0.8.7...v0.8.9)

---
updated-dependencies:
- dependency-name: rubocop-sorbet
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-21 18:36:32 +00:00
dependabot[bot]
7c21f48f29
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11842 to 0.5.11845
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11842 to 0.5.11845
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11842 to 0.5.11845
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11842 to 0.5.11845
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-21 18:36:18 +00:00
botantony
68f8798821
zig std args: apply -fno-rosetta on macs with arm 2025-02-21 19:10:41 +01:00
botantony
c5d78f3347
zig std args: use symbols for compilation options 2025-02-21 17:07:29 +01:00
botantony
bfdfdc9489
-fno-rosetta flag 2025-02-21 16:49:11 +01:00
botantony
1e5414c6ac
formula: include -Doptimize flag for Zig std args 2025-02-21 16:01:43 +01:00
botantony
4adb910a8b
create.rbi: add zig 2025-02-21 15:17:55 +01:00
botantony
35dcf8e362
creator: add zig option 2025-02-21 15:05:42 +01:00
botantony
21714d63a4
formula: add std_zig_args 2025-02-21 14:53:34 +01:00
Mike McQuaid
9bc0ef0dca
Merge pull request #19344 from gromgit/update-python-resources/bare-formula
update-python-resources: work on bare formula
2025-02-21 08:42:46 +00:00
Sam Ford
7e182d04d7
Merge pull request #19338 from Homebrew/livecheck/refactor-head-only-formula
livecheck: refactor HEAD-only formula handling
2025-02-21 03:54:20 +00:00
Sam Ford
6cfe151292
livecheck: create constant for no versions message 2025-02-20 22:39:19 -05:00
Sam Ford
a7cacfff1c
livecheck: refactor HEAD-only formula handling
The existing code for handling a `HEAD`-only formula involves two
return values that can be `nil` but this isn't apparent because the
related methods aren't typed. This adds type signatures to the
methods and updates the livecheck code to account for `nil` return
values (making it clear which methods can return `nil`).

Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-02-20 22:39:18 -05:00
Adrian Ho
7e946c19a2 update-python-resources: work on bare formula
Also favor Homebrew API over manual string comparison.

Resolves https://github.com/orgs/Homebrew/discussions/5967.
2025-02-21 10:32:39 +08:00
Patrick Linnane
01fcbfda53
Merge pull request #19343 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-05ebc2a7a7
build(deps): bump the sorbet group across 1 directory with 4 updates
2025-02-21 00:58:12 +00:00
BrewTestBot
74ee4249d8
brew vendor-gems: commit updates. 2025-02-20 23:17:00 +00:00
dependabot[bot]
56051336f7
build(deps): bump the sorbet group across 1 directory with 4 updates
Bumps the sorbet group with 1 update in the /Library/Homebrew directory: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11835 to 0.5.11842
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11835 to 0.5.11842
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11835 to 0.5.11842
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11835 to 0.5.11842
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-20 22:05:29 +00:00
Patrick Linnane
e7a741092a
Merge pull request #19342 from Homebrew/dependabot/bundler/Library/Homebrew/spoom-1.5.4
build(deps-dev): bump spoom from 1.5.3 to 1.5.4 in /Library/Homebrew
2025-02-20 20:33:13 +00:00
BrewTestBot
cd8d7deef0
Update RBI files for spoom.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-20 19:37:10 +00:00
BrewTestBot
57e45b99df
brew vendor-gems: commit updates. 2025-02-20 19:37:02 +00:00
dependabot[bot]
62057f1221
build(deps-dev): bump spoom from 1.5.3 to 1.5.4 in /Library/Homebrew
Bumps [spoom](https://github.com/Shopify/spoom) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/Shopify/spoom/releases)
- [Commits](https://github.com/Shopify/spoom/compare/v1.5.3...v1.5.4)

---
updated-dependencies:
- dependency-name: spoom
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-20 18:58:50 +00:00
Mike McQuaid
e96d9223a6
Merge pull request #19340 from gromgit/diagnostic/dup-recommend
diagnostic: recommend untap where possible
2025-02-20 17:00:18 +00:00
Adrian Ho
ce60f412e6 diagnostic: recommend untap where possible
Addresses #19334.
2025-02-21 00:27:59 +08:00
Patrick Linnane
27a903212d
Merge pull request #19336 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-0338d039d9
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-19 20:27:30 +00:00
Patrick Linnane
8b6391796b
Merge pull request #19337 from Homebrew/dependabot/bundler/Library/Homebrew/parallel_tests-4.9.1
build(deps-dev): bump parallel_tests from 4.9.0 to 4.9.1 in /Library/Homebrew
2025-02-19 20:23:57 +00:00
Patrick Linnane
79e374eda8
Merge pull request #19335 from Homebrew/dependabot/pip/Library/Homebrew/formula-analytics/pyarrow-19.0.1
build(deps): bump pyarrow from 19.0.0 to 19.0.1 in /Library/Homebrew/formula-analytics
2025-02-19 20:17:42 +00:00
BrewTestBot
772fbafd28
brew vendor-gems: commit updates. 2025-02-19 20:14:06 +00:00
BrewTestBot
4307234f63
Update RBI files for parallel_tests.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-19 20:13:37 +00:00
BrewTestBot
857441779b
brew vendor-gems: commit updates. 2025-02-19 20:13:31 +00:00
dependabot[bot]
5baae00d2a
build(deps-dev): bump parallel_tests in /Library/Homebrew
Bumps [parallel_tests](https://github.com/grosser/parallel_tests) from 4.9.0 to 4.9.1.
- [Changelog](https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md)
- [Commits](https://github.com/grosser/parallel_tests/compare/v4.9.0...v4.9.1)

---
updated-dependencies:
- dependency-name: parallel_tests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-19 19:06:59 +00:00
dependabot[bot]
89894826f5
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11834 to 0.5.11835
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11834 to 0.5.11835
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11834 to 0.5.11835
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11834 to 0.5.11835
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-19 19:06:47 +00:00
Mike McQuaid
7c68be8e7d
Merge pull request #19304 from colindean/eval-brew-shellenv-in-docs
Adds post-installation steps to installation with extend version in tips
2025-02-19 19:00:53 +00:00
dependabot[bot]
31f5e81807
build(deps): bump pyarrow in /Library/Homebrew/formula-analytics
Bumps [pyarrow](https://github.com/apache/arrow) from 19.0.0 to 19.0.1.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/apache-arrow-19.0.0...apache-arrow-19.0.1)

---
updated-dependencies:
- dependency-name: pyarrow
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-19 18:58:39 +00:00
Colin Dean
dfbc931769
Recommend abbreviated multi-platform loader
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2025-02-19 11:58:07 -05:00
Mike McQuaid
8ca80ae62f
Merge pull request #19332 from Homebrew/diagnostic_check_for_test_bot
diagnostic: skip duplicate formulae and casks check inside test-bot.
2025-02-19 16:55:12 +00:00
Mike McQuaid
7d41a93c76
diagnostic: skip duplicate formulae and casks check inside test-bot.
This makes the experience nicer for tap maintainers who may want to do
this but without hiding the actual warnings for users.
2025-02-19 08:38:31 +00:00
Carlo Cabrera
a496f4eecf
Merge pull request #19331 from Homebrew/fix-dep-helpers-type-error
Fix type error in DependenciesHelpers#dependents
2025-02-19 07:52:17 +00:00
Douglas Eichelberger
a4cdbaa966 Fix type error in DependenciesHelpers#dependents 2025-02-18 20:48:56 -08:00
thibhero
63f94708b0 running brew typecheck --update 2025-02-18 22:42:08 -05:00
thibhero
1a43a9d258 extracting method to Homebrew/install.rb 2025-02-18 22:41:40 -05:00
Douglas Eichelberger
cf635bc28a
Merge pull request #19314 from Homebrew/typed-dep-helpers
Enable strict typing in DependenciesHelpers
2025-02-18 18:47:06 +00:00
Colin Dean
eab6e9f7f3
Use suggested post-installation steps
Thanks, @jvns!
2025-02-18 12:08:21 -05:00
Nanda H Krishna
0c698732f6
Merge pull request #19313 from Homebrew/assert-path-rubocop
rubocop/lines: prefer `assert_path_exists` and `refute_path_exists`
2025-02-18 16:04:17 +00:00
Nanda H Krishna
1f9cc89926
test/rubocops/text: update assert tests 2025-02-18 10:52:32 -05:00
Nanda H Krishna
cf0b00a05c
rubocop/lines: prefer assert_path_exists and refute_path_exists 2025-02-18 10:52:32 -05:00
Mike McQuaid
ad93d5eb95
Merge pull request #19326 from gromgit/diagnostic/check-for-dups
diagnostics: add formula/cask dup check
2025-02-18 15:05:24 +00:00
Adrian Ho
46b49ff34d diagnostics: add formula/cask dup check
Duplicate names across taps are a real pain to deal with, so let's warn the user.
2025-02-18 22:38:40 +08:00
Mike McQuaid
2bd665f65a
Merge pull request #19310 from gromgit/formula/patch-data-outside-git
formula: don't include DATA patches in initial Git repo
2025-02-18 12:46:17 +00:00
Mike McQuaid
df70c9ff1b
Merge pull request #19324 from Homebrew/revert-19295-brew-info-check-keg
Revert "cmd/info: only display keg info if tap matches"
2025-02-18 10:13:57 +00:00
Adrian Ho
2df84408c1 formula: don't include DATA patches in initial Git repo
Currently, existing DATA patches are subsumed into the initial Git repo
created by `brew install --git`, which makes creating a new DATA
patch after more fixes a tedious and error-prone process.

This PR delays DATA patch processing till after the Git repo is
created, so a `git diff` at the end creates a correct and consolidated
DATA patch block ready for insertion/replacement, or even migration
to a proper remote patch URL.

The difference is clearly seen in `gromgit/fuse/dislocker-mac`,
which has both remote and DATA patches.

Before:
```
% brew install -sig dislocker-mac
==> Fetching gromgit/fuse/dislocker-mac
==> Downloading 2cfbba2c8c.patch?full_index=1
Already downloaded: /Volumes/aho/Library/Caches/Homebrew/downloads/37276859cbebc1711941278db00cd8b25b98d69e15e31e33915a98d01a13febc--2cfbba2c8cc07e529622ba134d0a6982815d2b30.patch
==> Downloading https://github.com/Aorimn/dislocker/archive/refs/tags/v0.7.3.tar.gz
Already downloaded: /Volumes/aho/Library/Caches/Homebrew/downloads/b1ba1098c95535574936051eca45cc472955a5a024b81cc72e1c3b006e1950b3--dislocker-0.7.3.tar.gz
==> Installing dislocker-mac from gromgit/fuse
==> Patching
==> Applying 2cfbba2c8cc07e529622ba134d0a6982815d2b30.patch
Initialized empty Git repository in /private/tmp/dislocker-mac-20250215-35534-8qlxtp/dislocker-0.7.3/.git/
==> Entering interactive mode...
Type `exit` to return and finalize the installation.
Install to this prefix: /opt/homebrew/Cellar/dislocker-mac/0.7.3_2
This directory is now a Git repository. Make your changes and then use:
  git diff | pbcopy
to copy the diff to the clipboard.
% git diff
```

After:
```
% brew install -sig dislocker-mac
==> Fetching gromgit/fuse/dislocker-mac
==> Downloading 2cfbba2c8c.patch?full_index=1
Already downloaded: /Volumes/aho/Library/Caches/Homebrew/downloads/37276859cbebc1711941278db00cd8b25b98d69e15e31e33915a98d01a13febc--2cfbba2c8cc07e529622ba134d0a6982815d2b30.patch
==> Downloading https://github.com/Aorimn/dislocker/archive/refs/tags/v0.7.3.tar.gz
Already downloaded: /Volumes/aho/Library/Caches/Homebrew/downloads/b1ba1098c95535574936051eca45cc472955a5a024b81cc72e1c3b006e1950b3--dislocker-0.7.3.tar.gz
==> Installing dislocker-mac from gromgit/fuse
==> Applying non-DATA patches
==> Applying 2cfbba2c8cc07e529622ba134d0a6982815d2b30.patch
Initialized empty Git repository in /private/tmp/dislocker-mac-20250215-32462-zh1akh/dislocker-0.7.3/.git/
==> Applying DATA patches
==> Entering interactive mode...
Type `exit` to return and finalize the installation.
Install to this prefix: /opt/homebrew/Cellar/dislocker-mac/0.7.3_2
This directory is now a Git repository. Make your changes and then use:
  git diff | pbcopy
to copy the diff to the clipboard.
% git diff
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index bd854d2..9ab137d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -92,7 +92,7 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
        # Don't use `-read_only_relocs' here as it seems to only work for 32 bits
        # binaries
        set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-bind_at_load")
-       set (FUSE_LIB osxfuse_i64)
+       set (FUSE_LIB fuse)
 else()
        # Useless warnings when used within Darwin
        set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion")
diff --git a/src/dislocker-fuse.c b/src/dislocker-fuse.c
index f93523f..3dd106c 100644
--- a/src/dislocker-fuse.c
+++ b/src/dislocker-fuse.c
@@ -33,11 +33,7 @@

-#ifdef __DARWIN
-# include <osxfuse/fuse.h>
-#else
-# include <fuse.h>
-#endif /* __DARWIN */
+#include <fuse.h>

 /** NTFS virtual partition's name */
```
2025-02-18 18:12:35 +08:00
Mike McQuaid
156ce5b9dc
Revert "cmd/info: only display keg info if tap matches" 2025-02-18 08:35:04 +00:00
Patrick Linnane
ad3379c4c2
Merge pull request #19320 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-1.72.2
build(deps-dev): bump rubocop from 1.71.2 to 1.72.2 in /Library/Homebrew
2025-02-18 04:25:59 +00:00
Douglas Eichelberger
0a8c8e2c50 Fix test 2025-02-17 19:11:48 -08:00
BrewTestBot
bd5ff8b41a Update RBI files for rubocop.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-17 18:56:31 -08:00
BrewTestBot
fe6cd6744a brew vendor-gems: commit updates. 2025-02-17 18:56:31 -08:00
Douglas Eichelberger
bafce2a81f Exclude lint_roller from git and rbi_generation 2025-02-17 18:56:31 -08:00
Douglas Eichelberger
8763fb6d29 Resolve rubocop violations 2025-02-17 18:56:31 -08:00
dependabot[bot]
a1b24c5675 build(deps-dev): bump rubocop from 1.71.2 to 1.72.2 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.71.2 to 1.72.2.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.71.2...v1.72.2)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 18:56:31 -08:00
Patrick Linnane
32322e2b8e
Merge pull request #19322 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.221.0
build(deps): bump ruby/setup-ruby from 1.218.0 to 1.221.0
2025-02-17 19:52:57 +00:00
Patrick Linnane
80ef7e0a2f
Merge pull request #19321 from Homebrew/dependabot/github_actions/actions/create-github-app-token-1.11.5
build(deps): bump actions/create-github-app-token from 1.11.3 to 1.11.5
2025-02-17 19:52:40 +00:00
dependabot[bot]
0260efeca0
build(deps): bump ruby/setup-ruby from 1.218.0 to 1.221.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.218.0 to 1.221.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](d781c1b4ed...32110d4e31)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 18:39:42 +00:00
dependabot[bot]
c3f1ec89a0
build(deps): bump actions/create-github-app-token from 1.11.3 to 1.11.5
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.3 to 1.11.5.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](67e27a7eb7...0d564482f0)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 18:39:36 +00:00
Patrick Linnane
5f4d8f2c49
Merge pull request #19316 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-02a8d8691f
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-17 18:37:53 +00:00
Patrick Linnane
e57de22cd3
Merge pull request #19319 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.11
build(deps-dev): bump ruby-lsp from 0.23.10 to 0.23.11 in /Library/Homebrew
2025-02-17 18:36:20 +00:00
Patrick Linnane
36567f2c52
Merge pull request #19317 from Homebrew/dependabot/bundler/Library/Homebrew/rexml-3.4.1
build(deps-dev): bump rexml from 3.4.0 to 3.4.1 in /Library/Homebrew
2025-02-17 18:34:27 +00:00
BrewTestBot
41c5397609
Update RBI files for ruby-lsp.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-17 18:24:29 +00:00
BrewTestBot
2349261325
brew vendor-gems: commit updates. 2025-02-17 18:24:20 +00:00
BrewTestBot
1fb569d4e9
brew vendor-gems: commit updates. 2025-02-17 18:24:00 +00:00
BrewTestBot
f919f639cb
brew vendor-gems: commit updates. 2025-02-17 18:23:50 +00:00
dependabot[bot]
4ffd5021dc
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.10 to 0.23.11.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.10...v0.23.11)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 18:16:04 +00:00
dependabot[bot]
de82e4187c
build(deps-dev): bump rexml from 3.4.0 to 3.4.1 in /Library/Homebrew
Bumps [rexml](https://github.com/ruby/rexml) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.4.0...v3.4.1)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 18:15:43 +00:00
dependabot[bot]
8b49291ed0
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11826 to 0.5.11834
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11826 to 0.5.11834
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11826 to 0.5.11834
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11826 to 0.5.11834
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 18:15:30 +00:00
Sean Molenaar
634768e724
Merge pull request #19121 from Homebrew/feat/cask/bin_install
feat: allow linux binaries in casks
2025-02-17 13:41:13 +00:00
Sean Molenaar
22ed703c2b fix: use bottle naming for sha256
Signed-off-by: Sean Molenaar <smillerdev@me.com>
2025-02-17 14:30:44 +01:00
Rylan Polster
f874603a21 Add implicit macOS dependency to casks without explicit depends_on stanza 2025-02-17 14:30:44 +01:00
Sean Molenaar
a28fde1a8c fix sha256 on linux 2025-02-17 14:30:44 +01:00
Sean Molenaar
27a2d94c48 feat: allow zap on linux 2025-02-17 14:30:44 +01:00
Sean Molenaar
975fe8a83f feat: allow cask binaries on linux 2025-02-17 14:30:43 +01:00
Sean Molenaar
6de67b6c45 fix: set correct inheritance for moved artifact 2025-02-17 14:27:38 +01:00
Sean Molenaar
b2ca64b207 feat: allow linux blocks in casks 2025-02-17 14:27:38 +01:00
Bo Anderson
2e57f8f794
Merge pull request #19284 from zyoshoka/cask/url/remove-arch-placeholder
cask/url: remove arch placeholder when checking if unversioned
2025-02-17 05:23:07 +00:00
Douglas Eichelberger
6b56c2ee5f Revert to_formulae_and_casks sig change 2025-02-16 15:41:57 -08:00
Bo Anderson
7436173473
Merge pull request #19295 from Homebrew/brew-info-check-keg
cmd/info: only display keg info if tap matches
2025-02-16 22:34:06 +00:00
Douglas Eichelberger
ff7f70d8b6 Fix select_includes sig 2025-02-16 13:26:10 -08:00
Douglas Eichelberger
0037b1f626 Enable strict typing in DependenciesHelpers 2025-02-16 12:24:22 -08:00
thibhero
b457b764c9 Merge branch 'upgrade-reinstall-size' into install-size 2025-02-16 00:07:31 -05:00
thibhero
bb7dcc9384 updating comments 2025-02-16 00:06:57 -05:00
thibhero
8299c59801 pass brew typecheck, brew style and brew tests 2025-02-16 00:06:23 -05:00
thibhero
5c2bbe5911 pass brew typecheck, brew style and brew tests 2025-02-15 23:20:07 -05:00
thibhero
624e960cd5 refactoring lambda as upgrade.RB 2025-02-15 23:02:14 -05:00
thibhero
b821446b6f description of lambda 2025-02-15 23:01:53 -05:00
thibhero
5886b51df7 refactoring and updating functions to correctly print formula to upgrade 2025-02-15 23:00:35 -05:00
Colin Dean
1733a78133
Prevent copying w/o reading by removing valid envvars and noting dirs
Co-authored-by: Eric Knibbe <enk3@outlook.com>
2025-02-14 10:25:32 -05:00
zyoshoka
20e33166e1
cask/url: remove arch placeholder when checking if unversioned
This prevents casks whose `url` contains only `#{arch}` from passing
`audit_sha256_no_check_if_unversioned`.
2025-02-14 15:14:40 +09:00
Douglas Eichelberger
673f19086b
Merge pull request #19306 from Homebrew/on-system-rbis
Clean up OnSystem rbis
2025-02-14 01:39:20 +00:00
Patrick Linnane
477728ff13
Merge pull request #19305 from Homebrew/sponsors-maintainers-man-completions
Update sponsors.
2025-02-14 01:14:01 +00:00
Douglas Eichelberger
afbc1dab54 Clean up OnSystem rbis 2025-02-13 16:33:59 -08:00
BrewTestBot
68ae64d329
Update sponsors.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-02-14 00:07:39 +00:00
Patrick Linnane
247814eebf
Merge pull request #19301 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-43cc5f6459
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-13 20:36:49 +00:00
BrewTestBot
b546023466
brew vendor-gems: commit updates. 2025-02-13 20:27:45 +00:00
Colin Dean
33fde6faec
Lowercases a link fragment to satisfy checks 2025-02-13 15:12:03 -05:00
Colin Dean
209732fc36 Merge remote-tracking branch 'upstream/master' into eval-brew-shellenv-in-docs 2025-02-13 19:51:26 +00:00
Colin Dean
1ad0f550b1 Adds post-installation steps to installation with extend version in tips
Inspired by @jvns' [post][1], I realized that I've had this problem on multiple teams, where someone missed the step at the end and didn't know how to recover. Typically, I've provided a version like what I've added to the Tips 'n' Tricks page so that I didn't have to think about what OS-arch pair my users are using.

I've tested the loader added to tips and tricks with both bash and zsh and it passes both shellcheck and shfmt in posix mode.

[1]: https://mastodon.social/@b0rk@jvns.ca/113997565198024027
2025-02-13 19:50:10 +00:00
Nanda H Krishna
fb4f1c9a6c
Merge pull request #19303 from Homebrew/dependabot/bundler/Library/Homebrew/diff-lcs-1.6.0
build(deps-dev): bump diff-lcs from 1.5.1 to 1.6.0 in /Library/Homebrew
2025-02-13 19:40:50 +00:00
Nanda H Krishna
8dcb316d14
Merge pull request #19302 from Homebrew/dependabot/bundler/Library/Homebrew/logger-1.6.6
build(deps-dev): bump logger from 1.6.5 to 1.6.6 in /Library/Homebrew
2025-02-13 19:22:47 +00:00
dependabot[bot]
7e579edbe3
build(deps-dev): bump diff-lcs from 1.5.1 to 1.6.0 in /Library/Homebrew
Bumps [diff-lcs](https://github.com/halostatue/diff-lcs) from 1.5.1 to 1.6.0.
- [Changelog](https://github.com/halostatue/diff-lcs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/halostatue/diff-lcs/compare/v1.5.1...v1.6.0)

---
updated-dependencies:
- dependency-name: diff-lcs
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-13 18:48:51 +00:00
dependabot[bot]
74f60efc05
build(deps-dev): bump logger from 1.6.5 to 1.6.6 in /Library/Homebrew
Bumps [logger](https://github.com/ruby/logger) from 1.6.5 to 1.6.6.
- [Release notes](https://github.com/ruby/logger/releases)
- [Commits](https://github.com/ruby/logger/compare/v1.6.5...v1.6.6)

---
updated-dependencies:
- dependency-name: logger
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-13 18:48:27 +00:00
dependabot[bot]
d3fc90f35f
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11823 to 0.5.11826
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11823 to 0.5.11826
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11823 to 0.5.11826
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11823 to 0.5.11826
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-13 18:48:14 +00:00
Ruoyu Zhong
59445c7961
cmd/info: handle when tab tap is nil 2025-02-13 15:33:45 +08:00
Patrick Linnane
496297a21a
Merge pull request #19299 from Homebrew/sorbet-files-update
sorbet files update
2025-02-13 05:58:59 +00:00
Patrick Linnane
797ccdd11c
brew style --fix
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-02-12 21:49:12 -08:00
BrewTestBot
a82bd70ff6
sorbet: Autobump sigils via Spoom
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-02-12 21:49:06 -08:00
Bevan Kay
04a9150e0e
Merge pull request #19296 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-e09d12a3f2
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-13 00:56:32 +00:00
BrewTestBot
0b17d7f31e
Update RBI files for sorbet.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-13 11:47:26 +11:00
BrewTestBot
b3a53bef7d
brew vendor-gems: commit updates. 2025-02-13 11:47:26 +11:00
dependabot[bot]
fc8e2c1f3b
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11820 to 0.5.11823
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11820 to 0.5.11823
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11820 to 0.5.11823
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11820 to 0.5.11823
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-13 11:47:25 +11:00
Patrick Linnane
18cde4e848
Merge pull request #19298 from bevanjkay/fix-broken-link
docs/Homebrew-Governance.md: fix broken link
2025-02-13 00:33:24 +00:00
Bevan Kay
0f8fd5e512
docs/governance/2021-agm-minutes.md: fix broken link 2025-02-13 10:56:14 +11:00
Bevan Kay
baea0d3ec9
docs/Homebrew-Governance.md: fix broken link 2025-02-13 10:56:13 +11:00
thibhero
97678708db removing useless statements 2025-02-12 16:05:11 -05:00
thibhero
f1906c1682 adding exit status if declined 2025-02-12 15:59:35 -05:00
thibhero
cb947b9cf4 erratum on variable 2025-02-12 15:57:12 -05:00
Eric Knibbe
6f1cb0e448
Merge pull request #19297 from Homebrew/dependabot/bundler/Library/Homebrew/tapioca-0.16.10
build(deps-dev): bump tapioca from 0.16.9 to 0.16.10 in /Library/Homebrew
2025-02-12 20:17:38 +00:00
dependabot[bot]
5b667cffe0
build(deps-dev): bump tapioca in /Library/Homebrew
Bumps [tapioca](https://github.com/Shopify/tapioca) from 0.16.9 to 0.16.10.
- [Release notes](https://github.com/Shopify/tapioca/releases)
- [Commits](https://github.com/Shopify/tapioca/compare/v0.16.9...v0.16.10)

---
updated-dependencies:
- dependency-name: tapioca
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-12 18:26:13 +00:00
Ruoyu Zhong
7aa1725aff
cmd/info: only display keg info if tap matches
Fixes #19294.
2025-02-13 01:39:21 +08:00
Patrick Linnane
c949f9f719
Merge pull request #19283 from gromgit/clear_cache_on_create
clear core tap cache on formula creation
2025-02-12 15:52:01 +00:00
thibhero
1ba3f32026 Adding upgrade arguments in lambda 2025-02-11 20:15:19 -05:00
thibhero
081db50196 Copying function from branch upgrade-reinstall-size into install.rb and adding parameter 2025-02-11 19:46:38 -05:00
thibhero
9891653aa8 corrected code with brew typecheck 2025-02-11 18:53:10 -05:00
Douglas Eichelberger
2e211a5332
Merge pull request #19288 from Homebrew/cask-delegation
Use delegation to create Cask DSL methods
2025-02-11 19:05:40 +00:00
Patrick Linnane
1ff098be88
Merge pull request #19290 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-a26877e0ab
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-11 18:50:31 +00:00
Patrick Linnane
27999f0706
Merge pull request #19291 from Homebrew/dependabot/bundler/Library/Homebrew/json-2.10.1
build(deps-dev): bump json from 2.10.0 to 2.10.1 in /Library/Homebrew
2025-02-11 18:50:22 +00:00
Patrick Linnane
976cabfb31
Merge pull request #19292 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.10
build(deps-dev): bump ruby-lsp from 0.23.9 to 0.23.10 in /Library/Homebrew
2025-02-11 18:50:09 +00:00
BrewTestBot
ccd8ca87a4
brew vendor-gems: commit updates. 2025-02-11 18:29:34 +00:00
BrewTestBot
9e9ae00f92
Update RBI files for ruby-lsp.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-11 18:29:28 +00:00
BrewTestBot
eb6bc4e954
brew vendor-gems: commit updates. 2025-02-11 18:29:25 +00:00
BrewTestBot
1bd75ffbe2
brew vendor-gems: commit updates. 2025-02-11 18:29:20 +00:00
dependabot[bot]
0a29cf8cd0
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.9 to 0.23.10.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.9...v0.23.10)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 18:18:14 +00:00
dependabot[bot]
140badb1b1
build(deps-dev): bump json from 2.10.0 to 2.10.1 in /Library/Homebrew
Bumps [json](https://github.com/ruby/json) from 2.10.0 to 2.10.1.
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/json/compare/v2.10.0...v2.10.1)

---
updated-dependencies:
- dependency-name: json
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 18:17:47 +00:00
dependabot[bot]
a0817382e0
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11813 to 0.5.11820
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11813 to 0.5.11820
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11813 to 0.5.11820
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11813 to 0.5.11820
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 18:17:39 +00:00
Douglas Eichelberger
d8c790dddc Use delegation to create Cask DSL methods 2025-02-11 08:33:04 -08:00
thibhero
a111139682 moving to lambda expressions to respect brew style 2025-02-11 11:06:16 -05:00
Issy Long
bb56089fe7
Merge pull request #19277 from Homebrew/rm-old-todo
rubocops/lines: Clean up an old TODO
2025-02-11 11:00:03 +00:00
Issy Long
9359292db0
Retain the mis-ordered dependency case.
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-02-11 10:28:52 +00:00
thibhero
db10b644ad updating typecheck 2025-02-10 23:18:56 -05:00
thibhero
478035ed90 Copying function from upgrade.rb and implementing with check_dep: false 2025-02-10 23:18:47 -05:00
thibhero
4854113cf9 Add parameter to unify function arguments with reinstall.rb 2025-02-10 23:17:24 -05:00
Adrian Ho
987363da15 clear core tap cache on formula creation
Addresses inability to find just-created formula, see https://github.com/Homebrew/brew/pull/19244#issuecomment-2646030394 for context.
2025-02-11 11:41:15 +08:00
thibhero
d9846ceda5 refactoring the code to make it clearer 2025-02-10 20:59:27 -05:00
thibhero
3ed1d6ccfb option --ask implementation for formulae dependency and dependant 2025-02-10 20:56:58 -05:00
Patrick Linnane
6bdf8f9ce6
Merge pull request #19285 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-794b173eb6
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-10 22:39:35 +00:00
Issy Long
87b61a2317
Merge pull request #19195 from Homebrew/sorbet-strict-more-rubocops
More Sorbet `typed: strict` RuboCops
2025-02-10 22:37:56 +00:00
BrewTestBot
80137329f0
brew vendor-gems: commit updates. 2025-02-10 22:27:36 +00:00
Eric Knibbe
749e90078d
Merge pull request #19286 from Homebrew/dependabot/bundler/Library/Homebrew/json-2.10.0
build(deps-dev): bump json from 2.9.1 to 2.10.0 in /Library/Homebrew
2025-02-10 19:32:11 +00:00
BrewTestBot
a45360460f
brew vendor-gems: commit updates. 2025-02-10 19:20:52 +00:00
dependabot[bot]
acb32820be
build(deps-dev): bump json from 2.9.1 to 2.10.0 in /Library/Homebrew
Bumps [json](https://github.com/ruby/json) from 2.9.1 to 2.10.0.
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/json/compare/v2.9.1...v2.10.0)

---
updated-dependencies:
- dependency-name: json
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 19:15:59 +00:00
dependabot[bot]
20a251bc88
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11812 to 0.5.11813
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11812 to 0.5.11813
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11812 to 0.5.11813
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11812 to 0.5.11813
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 19:15:39 +00:00
thibhero
92470e0028 adding the --ask option for the upgrade command 2025-02-09 20:47:35 -05:00
Douglas Eichelberger
49999e8727
Merge pull request #19278 from Homebrew/no-module-func
Refactor Livecheck::Strategy to remove module_function use
2025-02-09 19:38:31 +00:00
Issy Long
d9b376a9cd
rubocops/lines: Clean up an old TODO
- I considered writing a cop for this, but it's not worth it:
  there are no `[:test, :build]` occurrences in Core and this
  Rust rule only applies in Core formulae.
2025-02-09 18:33:27 +00:00
Carlo Cabrera
be00598e63
Merge pull request #19276 from ArtRoman/patch-1
Fix "can't modify frozen String" error
2025-02-09 17:54:23 +00:00
Roman Romanov
208acd8e43
Fix "can't modify frozen String" error
Fix "can't modify frozen String" error if bottle requires Command Line Tools when installing/updating several packages, which causes install/update process failure.
2025-02-09 20:16:16 +03:00
Ruoyu Zhong
364068eaa6
workflows/docker: build and publish ARM64 Docker images
This modifies the Docker workflow to first build the images natively on
x86_64 and ARM64 runners, push them by digest to the registry, and then
merge the manifest lists to form a tagged multi-platform image. This
allows e.g. `docker run homebrew/brew` to work on both platforms.

Ref: https://docs.docker.com/build/ci/github-actions/multi-platform/
2025-02-09 20:32:23 +08:00
Bo Anderson
6567eb2bbb
Merge pull request #19274 from Homebrew/docker-master-images
workflows/docker: continue to deploy `master` images
2025-02-09 04:47:08 +00:00
Ruoyu Zhong
d2f2334d4a
workflows/docker: continue to deploy master images
I noticed that `master` images have not been updated since #18912:

    $ docker run --pull=always --rm -it homebrew/brew:master brew --version
    master: Pulling from homebrew/brew
    Digest: sha256:3812ffd9b728ce3d96a2a362ef33bed420d1dc73c7d96c93a8f8d2d4f10e6281
    Status: Image is up to date for homebrew/brew:master
    Homebrew 4.4.11-6-geae8d1b
    Homebrew/homebrew-core (git revision 9610909d254; last commit 2024-12-10)

That is due to images no longer being built on `master` pushes. This
change restores the previous behaviour.
2025-02-09 11:47:49 +08:00
Douglas Eichelberger
fa28895300 Refactor Livecheck::Strategy to remove module_function use 2025-02-08 16:42:45 -08:00
Patrick Linnane
e1a7553a56
Merge pull request #19272 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-c4d130b5bf
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-09 00:33:05 +00:00
BrewTestBot
863a12ac13
brew vendor-gems: commit updates. 2025-02-09 00:23:08 +00:00
Patrick Linnane
0103fc2130
Merge pull request #19268 from Homebrew/dependabot/github_actions/codecov/test-results-action-1.0.3
build(deps): bump codecov/test-results-action from 1.0.2 to 1.0.3
2025-02-09 00:22:15 +00:00
Patrick Linnane
d0b9191652
Merge pull request #19270 from Homebrew/dependabot/github_actions/docker/setup-buildx-action-3.9.0
build(deps): bump docker/setup-buildx-action from 3.8.0 to 3.9.0
2025-02-09 00:21:50 +00:00
Patrick Linnane
bb385decd4
Merge pull request #19273 from Homebrew/dependabot/github_actions/github/codeql-action-3.28.9
build(deps): bump github/codeql-action from 3.28.8 to 3.28.9
2025-02-09 00:21:37 +00:00
Patrick Linnane
7ce4c0579d
Merge pull request #19269 from Homebrew/dependabot/github_actions/actions/create-github-app-token-1.11.3
build(deps): bump actions/create-github-app-token from 1.11.2 to 1.11.3
2025-02-09 00:21:34 +00:00
Patrick Linnane
3cc76a8738
Merge pull request #19271 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.218.0
build(deps): bump ruby/setup-ruby from 1.215.0 to 1.218.0
2025-02-09 00:21:20 +00:00
Patrick Linnane
c1f51b7b65
Merge pull request #19267 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-02-09 00:21:09 +00:00
dependabot[bot]
5ca3073a7e
build(deps): bump github/codeql-action from 3.28.8 to 3.28.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.8 to 3.28.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](dd746615b3...9e8d0789d4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-09 00:11:50 +00:00
dependabot[bot]
eaeef33321
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11810 to 0.5.11812
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11810 to 0.5.11812
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11810 to 0.5.11812
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11810 to 0.5.11812
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-09 00:11:44 +00:00
dependabot[bot]
cd82b09163
build(deps): bump ruby/setup-ruby from 1.215.0 to 1.218.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.215.0 to 1.218.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](2654679fe7...d781c1b4ed)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-09 00:11:43 +00:00
dependabot[bot]
9ae7d3ef44
build(deps): bump docker/setup-buildx-action from 3.8.0 to 3.9.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.8.0 to 3.9.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](6524bf65af...f7ce87c1d6)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-09 00:11:39 +00:00
dependabot[bot]
d4d4e17085
build(deps): bump actions/create-github-app-token from 1.11.2 to 1.11.3
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.2 to 1.11.3.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](136412a57a...67e27a7eb7)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-09 00:11:37 +00:00
dependabot[bot]
94e4051369
build(deps): bump codecov/test-results-action from 1.0.2 to 1.0.3
Bumps [codecov/test-results-action](https://github.com/codecov/test-results-action) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/codecov/test-results-action/releases)
- [Commits](4e79e65778...44ecb3a270)

---
updated-dependencies:
- dependency-name: codecov/test-results-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-09 00:11:34 +00:00
BrewTestBot
cddc2fc615
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-02-09 00:11:25 +00:00
Patrick Linnane
c76ccdbdce
Merge pull request #19259 from Homebrew/brew_formula_analytics_import
Import `brew formula-analytics` and `generate-analytics-api` commands
2025-02-08 23:59:48 +00:00
BrewTestBot
6fa8edd34a
Update RBI files for brew_formula_analytics_import.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-08 23:50:34 +00:00
BrewTestBot
449250b8ba
brew vendor-gems: commit updates. 2025-02-08 23:50:25 +00:00
Issy Long
0fc1eb534b
More Sorbet typed: strict RuboCops
- Some of these I bumped to `typed: strict`, some of them I added
  intermediary type signatures to some of the methods to make my life
  easier in the (near, hopefully) future.
- Turns out that RuboCop node matchers that end in `?`
  can return `nil` if they don't match anything, not `false`.
2025-02-08 23:38:12 +00:00
Branch Vincent
ace770d29c
Merge pull request #19266 from branchvincent/python-resources
utils/pypi: remove extra newline when updating resources
2025-02-08 17:56:06 +00:00
Branch Vincent
3d7c6fa10f
utils/pypi: remove extra newline when updating resources 2025-02-08 09:43:47 -08:00
Issy Long
f9b33d7c44
Merge pull request #19265 from Homebrew/review-some-docs
Review some docs
2025-02-08 16:04:23 +00:00
Issy Long
8f75f66d01
Review some docs
- Most of these were fine still, apart from:
  - FAQ: `hub` is less maintained than `gh`.
  - Brew-Maintainer-Guide: link to GitHub docs on commit signing via GPG or SSH.
  - Interesting-Taps-and-Forks: remove outdated information about `homebrew/core` being in `Library/Taps`.
  - New-Maintainer-Checklist: remove outdated information about the `@members` team.
2025-02-08 14:43:49 +00:00
Issy Long
a0be99a710
Merge pull request #19264 from Homebrew/lint-frontmatter-presence
Enforce that all docs have `last_review_date` frontmatter
2025-02-08 08:30:51 +00:00
Issy Long
00905fbd7e
Enforce that all docs have last_review_date frontmatter
- So we don't forget to add it to new docs we write.
2025-02-08 00:14:10 +00:00
Mike McQuaid
1f5a84a694
Merge pull request #19260 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-f0dcbe9041
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-07 23:52:02 +00:00
BrewTestBot
9376efc318
Update RBI files for sorbet.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-07 23:40:00 +00:00
BrewTestBot
7bd466c1fc
brew vendor-gems: commit updates. 2025-02-07 23:39:51 +00:00
Thibaut Hérault
fc91ddc518
Merge branch 'master' into install-size 2025-02-07 17:45:21 -05:00
thibhero
403887deb6 moving back to --ask option 2025-02-07 15:23:36 -05:00
Mike McQuaid
c62fcdfb20
Merge pull request #19262 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-02-07 20:19:13 +00:00
thibhero
bebbd6274e corrected version for brew style 2025-02-07 15:10:27 -05:00
Mike McQuaid
6f99704a64
Import brew formula-analytics and generate-analytics-api commands
Import these from the homebrew/formula-analytics tap and deprecate
that tap.

This required a little messing around with filenames and paths to get
it finding Python and writing to the user's home directory.
2025-02-07 20:05:05 +00:00
dependabot[bot]
340d0b0c84
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11805 to 0.5.11810
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11805 to 0.5.11810
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11805 to 0.5.11810
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11805 to 0.5.11810
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-07 19:43:16 +00:00
BrewTestBot
769fb8739f
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-02-07 19:42:46 +00:00
thibhero
354849895a changing ask_input function to lambda 2025-02-07 14:39:22 -05:00
Mike McQuaid
5ae29d324d
Merge pull request #19258 from Homebrew/brew_alias_import
Import `brew alias` and `brew unalias` commands
2025-02-07 19:32:14 +00:00
Mike McQuaid
743971bcc4
Merge pull request #19233 from Homebrew/livecheck/add-post-support
livecheck: Add support for POST requests
2025-02-07 19:31:49 +00:00
Mike McQuaid
890b2950c3
Merge pull request #19261 from Homebrew/dependabot/bundler/Library/Homebrew/ruby-lsp-0.23.9
build(deps-dev): bump ruby-lsp from 0.23.8 to 0.23.9 in /Library/Homebrew
2025-02-07 19:31:27 +00:00
thibhero
1992bb44b2 moving ask? to install_ask? 2025-02-07 14:15:41 -05:00
thibhero
73758398e1 resolving typecheck error 2025-02-07 14:14:52 -05:00
thibhero
be1a4c03af optimising the code, removing begin block 2025-02-07 14:02:53 -05:00
thibhero
f3c2d27cd0 Updating env and option, now using --install-ask 2025-02-07 13:57:51 -05:00
dependabot[bot]
ec49a3e9f6
build(deps-dev): bump ruby-lsp in /Library/Homebrew
Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.23.8 to 0.23.9.
- [Release notes](https://github.com/Shopify/ruby-lsp/releases)
- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.23.8...v0.23.9)

---
updated-dependencies:
- dependency-name: ruby-lsp
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-07 18:31:02 +00:00
thibhero
bbd8aeb80f Applying the changes discussed 2025-02-07 11:49:38 -05:00
Mike McQuaid
8adc188992
Import brew alias and brew unalias commands
Import these from the homebrew/aliases tap and deprecate that tap.

This required a little messing around with class/module/constant names
to get `brew tests` and `brew typecheck` to play nicely.

I added also added Sorbet type signatures and integration tests.
2025-02-07 14:31:50 +00:00
Sam Ford
8997cccddf
Livecheck: Expand test coverage
This brings line coverage for the `Livecheck` DSL back to 100%, as we
had evidently overlooked part of the `#strategy` method.
2025-02-07 08:57:33 -05:00
Sam Ford
a16f5666a8
Sparkle: Add homebrew_curl support
`Sparkle` is the only strategy with a `find_versions` method that
calls `Strategy::page_content` (or `::page_headers`) and doesn't have
a `homebrew_curl` parameter. This adds the missing parameter and
passes the value to `page_content`, which brings it in line with the
other strategies.
2025-02-07 08:57:32 -05:00
Sam Ford
2187316262
Strategy: Expand test coverage
Between this commit and the previous one, this brings test coverage
for `Livecheck::Strategy` up to 98.18% line coverage and 97.22%
branch coverage. The only uncovered areas are some Sorbet `params`
calls (which I'm not sure how to cover) and a conditional `break` in
`page_headers` that will be refactored away in the future.

The increased coverage is primarily in areas that weren't covered
before because they call methods that make network requests. I worked
around this with stubs and doubles, so we can test this code to some
degree. I plan to expand this approach to other areas in livecheck
that aren't covered for the same reason and that should significantly
increase test coverage (along with some other test improvements that
I have lined up).
2025-02-07 08:57:32 -05:00
Sam Ford
b4757af656
livecheck: Add support for POST requests
livecheck currently doesn't support `POST` requests but it wasn't
entirely clear how best to handle that. I initially approached it as
a `Post` strategy but unfortunately that would have required us to
handle response body parsing (e.g., JSON, XML, etc.) in some fashion.
We could borrow some of the logic from related strategies but we would
still be stuck having to update `Post` whenever we add a strategy for
a new format.

Instead, this implements `POST` support by borrowing ideas from the
`using: :post` and `data` `url` options found in formulae. This uses
a `post_form` option to handle form data and `post_json` to handle
JSON data, encoding the hash argument for each into the appropriate
format. The presence of either option means that curl will use a
`POST` request.

With this approach, we can make a `POST` request using any strategy
that calls `Strategy::page_headers` or `::page_content` (directly or
indirectly) and everything else works the same as usual. The only
change needed in related strategies was to pass the options through
to the `Strategy` methods.

For example, if we need to parse a JSON response from a `POST`
request, we add a `post_data` or `post_json` hash to the `livecheck`
block `url` and use `strategy :json` with a `strategy` block. This
leans on existing patterns that we're already familiar with and
shouldn't require any notable maintenance burden when adding new
strategies, so it seems like a better approach than a `Post` strategy.
2025-02-07 08:53:47 -05:00
Mike McQuaid
94e2bdf668
Merge pull request #19257 from Homebrew/improve_brew_wrapper_error
brew.sh: improve HOMEBREW_FORCE_BREW_WRAPPER error message
2025-02-07 13:36:26 +00:00
Mike McQuaid
17bfef29f2
brew.sh: improve HOMEBREW_FORCE_BREW_WRAPPER error message
Rather than just explaining what is happening, let's explain a bit more
why this is happening and how to fix it.
2025-02-07 13:23:52 +00:00
Mike McQuaid
9e3ae9f3f9
Merge pull request #19251 from Homebrew/revert-json-v3-logic
Revert json v3 logic
2025-02-07 08:32:22 +00:00
Thibaut Hérault
fc0aa86549
Merge branch 'master' into install-size 2025-02-07 02:42:19 -05:00
apainintheneck
f916f27d82 remove all references to JSON v3
The logic has now been removed in previous commits. This just
removes some references to the `HOMEBREW_INTERNAL_JSON_V3`
environment variable along with reverting the changes to the
`Cachable` class that were originally added in
bd72ec812c3ed656dfcf8e24f77df142a1fe9cc1.
2025-02-06 21:04:08 -08:00
apainintheneck
eead014ceb cask/cask: remove unnecessary tests
The `compact:` option got removed from `Cask::Cask#artifacts_list`
in 042d6cc97e886c6f2817500083cda6c856b5350a.
2025-02-06 20:13:19 -08:00
Mike McQuaid
91acde379d
Merge pull request #19255 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-d92c6eb6ce
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-06 22:50:44 +00:00
BrewTestBot
77b6c1722e
Update RBI files for sorbet.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-06 22:36:25 +00:00
BrewTestBot
c2960a4790
brew vendor-gems: commit updates. 2025-02-06 22:36:17 +00:00
dependabot[bot]
9a8bab28fa build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11802 to 0.5.11805
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11802 to 0.5.11805
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11802 to 0.5.11805
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11802 to 0.5.11805
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-06 15:22:49 -05:00
Mike McQuaid
76198789ae
Merge pull request #19256 from Homebrew/dependabot/bundler/Library/Homebrew/rspec-core-3.13.3
build(deps-dev): bump rspec-core from 3.13.2 to 3.13.3 in /Library/Homebrew
2025-02-06 19:15:20 +00:00
dependabot[bot]
b4647c6f5a
build(deps-dev): bump rspec-core in /Library/Homebrew
Bumps [rspec-core](https://github.com/rspec/rspec-core) from 3.13.2 to 3.13.3.
- [Release notes](https://github.com/rspec/rspec-core/releases)
- [Changelog](https://github.com/rspec/rspec-core/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-core/commits)

---
updated-dependencies:
- dependency-name: rspec-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-06 18:49:05 +00:00
Thibaut Hérault
c575566928
Merge branch 'master' into install-size 2025-02-06 13:22:26 -05:00
thibhero
0cc688f843 resolving typecheck and final tests 2025-02-06 12:37:19 -05:00
Eric Knibbe
69beec68bd
Merge pull request #19253 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-02-06 17:16:48 +00:00
BrewTestBot
59597035a0
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-02-06 17:03:07 +00:00
Mike McQuaid
bd7a3cc1df
Merge pull request #19252 from gromgit/update-python-resources/ignore-errors
update-python-resources: add option to ignore errors
2025-02-06 16:48:27 +00:00
thibhero
0d2afcffe6 Erratum on environment variable if condition 2025-02-06 09:53:57 -05:00
thibhero
2c4d404cdb Reordering by alphabetic order 2025-02-06 09:26:52 -05:00
thibhero
c8a9cfa4d0 Add support for the HOMEBREW_ASK environment variable 2025-02-06 09:07:55 -05:00
Adrian Ho
956b71eeed update-python-resources: add option to ignore errors
This is particularly useful for third-party Python formulae that have a ton of resources, not all of which may adhere to homebrew/core's strict policies. See #19240 for context.

I've also added logic that ignores `--ignore-errors` on `homebrew/core`, although I personally think this new behavior is also useful for mainline formula creation.

Before: error out on a single non-conforming resource, zero resource blocks added to formula, scary stacktrace.

After: all conforming resources added, all non-conforming resources identified in comments, error message at end, `brew` exits non-zero without scary stacktrace:-
```
% brew update-python-resources --ignore-errors gromgit/test/auto-coder || echo OOPS
==> Retrieving PyPI dependencies for "auto-coder==0.1.243"...
==> Retrieving PyPI dependencies for excluded ""...
==> Getting PyPI info for "aiohappyeyeballs==2.4.4"
[200+ resource lines elided]
==> Getting PyPI info for "zhipuai==2.1.5.20250106"
==> Updating resource blocks
Error: Unable to resolve some dependencies. Please check /opt/homebrew/Library/Taps/gromgit/homebrew-test/Formula/auto-coder.rb for RESOURCE-ERROR comments.
OOPS

% brew cat gromgit/test/auto-coder | ggrep -C10 RESOURCE-ERROR
  license "Apache-2.0"

  depends_on "python@3.11"

  # Additional dependency
  # resource "" do
  #   url ""
  #   sha256 ""
  # end

  # RESOURCE-ERROR: Unable to resolve "azure-cognitiveservices-speech==1.42.0" (no suitable source distribution on PyPI)
  # RESOURCE-ERROR: Unable to resolve "ray==2.42.0" (no suitable source distribution on PyPI)

  resource "aiohappyeyeballs" do
    url "e4373e888f/aiohappyeyeballs-2.4.4.tar.gz"
    sha256 "5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745"
  end

  resource "aiohttp" do
    url "952d49c730/aiohttp-3.11.12.tar.gz"
    sha256 "7603ca26d75b1b86160ce1bbe2787a0b706e592af5b2504e12caa88a217767b0"
  end
```
2025-02-06 21:20:55 +08:00
Mike McQuaid
fd92510c71
Merge pull request #19250 from Homebrew/ww/warn-pypi-info-no-dist
utils/pypi: warn when `pypi_info` fails due to missing sources
2025-02-06 09:35:35 +00:00
apainintheneck
839198d21e Remove JSON v3 formula logic 2025-02-05 23:36:57 -08:00
apainintheneck
042d6cc97e Remove JSON v3 cask logic 2025-02-05 23:32:32 -08:00
thibhero
f989e9a674 rearranging code to work with many formula and not only with last one 2025-02-05 21:58:31 -05:00
thibhero
e47bdd9ad0 Getting input of user and proceeding the different output 2025-02-05 21:20:17 -05:00
thibhero
87492f8fbe fetching dependencies and calculating bottle and install size 2025-02-05 20:50:05 -05:00
thibhero
e7e34c40f1 Adding the function ask to check if option is present 2025-02-05 19:06:09 -05:00
William Woodruff
46d67ba560
utils/pypi: warn when pypi_info fails due to missing sources
Signed-off-by: William Woodruff <william@yossarian.net>
2025-02-05 15:25:38 -05:00
Mike McQuaid
a600438123
Merge pull request #19249 from Homebrew/dependabot/bundler/Library/Homebrew/parser-3.3.7.1
build(deps-dev): bump parser from 3.3.7.0 to 3.3.7.1 in /Library/Homebrew
2025-02-05 19:41:01 +00:00
BrewTestBot
7d3c1e2541
Update RBI files for parser.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-05 19:26:53 +00:00
BrewTestBot
f4ed4729e0
brew vendor-gems: commit updates. 2025-02-05 19:23:33 +00:00
dependabot[bot]
21fcd902d2
build(deps-dev): bump parser in /Library/Homebrew
Bumps [parser](https://github.com/whitequark/parser) from 3.3.7.0 to 3.3.7.1.
- [Changelog](https://github.com/whitequark/parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/whitequark/parser/compare/v3.3.7.0...v3.3.7.1)

---
updated-dependencies:
- dependency-name: parser
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-05 18:42:26 +00:00
Michka Popoff
886f4aa40a
Merge pull request #19238 from Homebrew/glibc2
glibc: set next version
2025-02-05 18:12:36 +00:00
Douglas Eichelberger
fe7c76196c
Merge pull request #19215 from Homebrew/concurrency-test
Add test for concurrent fetching
2025-02-05 14:52:57 +00:00
Patrick Linnane
6674f2d4cb
Merge pull request #19243 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-a45751d429
build(deps): bump the sorbet group across 1 directory with 4 updates
2025-02-05 13:36:21 +00:00
Mike McQuaid
ce547ea656
Merge pull request #19220 from Homebrew/docs-manpage-fixes
docs: various manpage grammar fixes
2025-02-05 13:19:57 +00:00
BrewTestBot
135fff8e92
brew vendor-gems: commit updates. 2025-02-05 14:19:53 +01:00
dependabot[bot]
548f12a844
build(deps): bump the sorbet group across 1 directory with 4 updates
Bumps the sorbet group with 1 update in the /Library/Homebrew directory: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11796 to 0.5.11802
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11796 to 0.5.11802
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11796 to 0.5.11802
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11796 to 0.5.11802
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-05 14:19:52 +01:00
Mike McQuaid
b526a0664a
Merge pull request #19244 from gromgit/formula_creator/latest_python
formula_creator: depend on latest python
2025-02-05 13:16:12 +00:00
Patrick Linnane
3cb9ff1499
Merge pull request #19235 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-1.71.2
build(deps-dev): bump rubocop from 1.71.1 to 1.71.2 in /Library/Homebrew
2025-02-05 12:48:18 +00:00
Patrick Linnane
4c1f2b65bc
docs: run brew generate-man-completions
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2025-02-05 13:39:45 +01:00
Patrick Linnane
291edf5d30
docs: rewording
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-02-05 13:39:27 +01:00
Eric Knibbe
99de228fc2
docs: various manpage grammar fixes 2025-02-05 13:38:39 +01:00
BrewTestBot
2235341778
Update RBI files for rubocop.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-05 12:32:21 +00:00
BrewTestBot
8f10275ac4
brew vendor-gems: commit updates. 2025-02-05 12:32:00 +00:00
Patrick Linnane
c8be339511
Merge pull request #19245 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2025-02-05 12:31:49 +00:00
BrewTestBot
feb050ff13
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2025-02-05 12:04:41 +00:00
Patrick Linnane
78a2f4ca07
Merge pull request #19225 from Homebrew/dependabot/bundler/Library/Homebrew/sorbet-85ff93520d
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
2025-02-05 12:03:22 +00:00
Adrian Ho
fbf1d68222 formula_creator: depend on latest python
Followup to #19173, which causes `brew create` to error out on the literal `python@x.y` dependency.

Related to #19240.
2025-02-05 18:37:37 +08:00
Mike McQuaid
6a7bf8b054
Merge pull request #19237 from Homebrew/dependabot/bundler/Library/Homebrew/tapioca-0.16.9
build(deps-dev): bump tapioca from 0.16.8 to 0.16.9 in /Library/Homebrew
2025-02-05 09:12:12 +00:00
Kevin
16c2d9285d
Merge pull request #19239 from Homebrew/add-needs-network-to-desc-test
tests: add missing :needs_network argument
2025-02-05 07:30:14 +00:00
Bo Anderson
1117ebc248
Merge pull request #19226 from Homebrew/dependabot/bundler/Library/Homebrew/json_schemer-2.4.0
build(deps-dev): bump json_schemer from 2.3.0 to 2.4.0 in /Library/Homebrew
2025-02-04 23:28:28 +00:00
Sam Ford
23274ac454
tests: add missing :needs_network argument
I was recently running `brew tests` without `--online` and I noticed
that there was still one formulae.brew.sh request. I narrowed it down
to a `brew desc` test, so this adds `:needs_network` to that test.
As expected, `brew tests` doesn't make any network requests after this
change unless `--online` is used.
2025-02-04 16:05:35 -05:00
Douglas Eichelberger
f5d2d30f5b Add test for concurrent fetching 2025-02-04 13:02:50 -08:00
Michka Popoff
bba5ae1f23
glibc: set next version 2025-02-04 21:18:02 +01:00
dependabot[bot]
bf692334d8
build(deps-dev): bump tapioca from 0.16.8 to 0.16.9 in /Library/Homebrew
Bumps [tapioca](https://github.com/Shopify/tapioca) from 0.16.8 to 0.16.9.
- [Release notes](https://github.com/Shopify/tapioca/releases)
- [Commits](https://github.com/Shopify/tapioca/compare/v0.16.8...v0.16.9)

---
updated-dependencies:
- dependency-name: tapioca
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-04 18:23:20 +00:00
dependabot[bot]
588ab33e63
build(deps-dev): bump rubocop from 1.71.1 to 1.71.2 in /Library/Homebrew
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.71.1 to 1.71.2.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.71.1...v1.71.2)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-04 18:22:52 +00:00
Mike McQuaid
d74f503158
Merge pull request #19234 from Homebrew/split_software_spec
Split up SoftwareSpec
2025-02-04 16:43:16 +00:00
Mike McQuaid
2b737f0423
Split up SoftwareSpec
This came up in the AGM and has bothered me for years: let's actually
split out `software_spec.rb` into one file per class, as is more typical
in Ruby.

This will make these classes easier to find.
2025-02-04 16:27:39 +00:00
Ruoyu Zhong
153c6dd300
Merge pull request #19232 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2025-02-04 15:52:09 +00:00
BrewTestBot
3caa98efb7
Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2025-02-04 15:38:49 +00:00
Mike McQuaid
510a1503c8
Merge pull request #19217 from Homebrew/ww/brew-verify
dev-cmd: add brew verify
2025-02-04 15:24:19 +00:00
BrewTestBot
8c431c583e
Update RBI files for json_schemer.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2025-02-04 14:53:49 +00:00
BrewTestBot
db63a5349c
brew vendor-gems: commit updates. 2025-02-04 14:53:38 +00:00
BrewTestBot
5275ab2e6d
brew vendor-gems: commit updates. 2025-02-04 14:53:15 +00:00
Patrick Linnane
53f058d0ac
Merge pull request #19229 from Homebrew/dependabot/github_actions/actions/create-github-app-token-1.11.2
build(deps): bump actions/create-github-app-token from 1.11.1 to 1.11.2
2025-02-04 14:51:35 +00:00
Patrick Linnane
31dd465595
Merge pull request #19228 from Homebrew/dependabot/github_actions/github/codeql-action-3.28.8
build(deps): bump github/codeql-action from 3.28.5 to 3.28.8
2025-02-04 14:51:23 +00:00
Patrick Linnane
92d3d17047
Merge pull request #19227 from Homebrew/dependabot/github_actions/ruby/setup-ruby-1.215.0
build(deps): bump ruby/setup-ruby from 1.214.0 to 1.215.0
2025-02-04 14:46:34 +00:00
William Woodruff
27be7b50a1
dev-cmd: add a basic verify test
Signed-off-by: William Woodruff <william@yossarian.net>
2025-02-04 13:08:53 +01:00
William Woodruff
b35cb75e53
Update Library/Homebrew/dev-cmd/verify.rb
Co-authored-by: Douglas Eichelberger <697964+dduugg@users.noreply.github.com>
2025-02-04 13:02:25 +01:00
William Woodruff
2758336890
Merge pull request #19230 from Homebrew/ww/ssh-signing
ci: switch to SSH signing everywhere
2025-02-04 11:04:05 +00:00
Caleb Xu
652f5966d4
Clean pod2man-generated manpages after formula build 2025-02-03 23:21:44 -05:00
William Woodruff
6530dd5487
fix SPDX branch URL
Signed-off-by: William Woodruff <william@yossarian.net>
2025-02-03 22:00:31 +01:00
William Woodruff
3ec71d8acc
ci: switch to SSH signing everywhere
Signed-off-by: William Woodruff <william@yossarian.net>
2025-02-03 21:56:57 +01:00
Bo Anderson
c5e2aa63e5
Merge pull request #19222 from Homebrew/pr-upload-keep-old
dev-cmd/pr-upload: allow --keep-old with --upload-only
2025-02-03 20:23:59 +00:00
Bo Anderson
789309d781
Merge pull request #19223 from Homebrew/ghp-oldest-cpu-fix
github_packages: fix oldest CPU variant on arm64 Linux
2025-02-03 20:23:48 +00:00
Mike McQuaid
8ce6b0f042
Merge pull request #19224 from Homebrew/portable-ruby-arm64-linux
Add arm64 Linux build for Portable Ruby
2025-02-03 20:07:51 +00:00
dependabot[bot]
63dd807354
build(deps): bump actions/create-github-app-token from 1.11.1 to 1.11.2
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.1 to 1.11.2.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](c1a285145b...136412a57a)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 18:43:05 +00:00
dependabot[bot]
e15377c2d0
build(deps): bump github/codeql-action from 3.28.5 to 3.28.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.5 to 3.28.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f6091c0113...dd746615b3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 18:43:02 +00:00
dependabot[bot]
6cf37a7dd4
build(deps): bump ruby/setup-ruby from 1.214.0 to 1.215.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.214.0 to 1.215.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](1287d2b408...2654679fe7)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 18:42:56 +00:00
dependabot[bot]
0e165279e2
build(deps-dev): bump json_schemer in /Library/Homebrew
Bumps [json_schemer](https://github.com/davishmcclurg/json_schemer) from 2.3.0 to 2.4.0.
- [Changelog](https://github.com/davishmcclurg/json_schemer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/davishmcclurg/json_schemer/compare/v2.3.0...v2.4.0)

---
updated-dependencies:
- dependency-name: json_schemer
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 18:33:06 +00:00
dependabot[bot]
b4178dcfc2
build(deps): bump the sorbet group in /Library/Homebrew with 4 updates
Bumps the sorbet group in /Library/Homebrew with 4 updates: [sorbet-static-and-runtime](https://github.com/sorbet/sorbet), [sorbet-runtime](https://github.com/sorbet/sorbet), [sorbet](https://github.com/sorbet/sorbet) and [sorbet-static](https://github.com/sorbet/sorbet).


Updates `sorbet-static-and-runtime` from 0.5.11796 to 0.5.11798
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-runtime` from 0.5.11796 to 0.5.11798
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet` from 0.5.11796 to 0.5.11798
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.5.11796 to 0.5.11798
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

---
updated-dependencies:
- dependency-name: sorbet-static-and-runtime
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
- dependency-name: sorbet-static
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: sorbet
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 18:32:57 +00:00
Bo Anderson
07b8003319
Add arm64 Linux build for Portable Ruby 2025-02-03 18:19:23 +01:00
Mike McQuaid
4b55ebf894
Merge pull request #19212 from Moisan/patch-1
Add rebottling documentation in BrewTestBot-For-Maintainers.md
2025-02-03 17:18:39 +00:00
Bo Anderson
d63e44185f
github_packages: fix oldest CPU variant on arm64 Linux 2025-02-03 18:17:15 +01:00
Bo Anderson
627c4a714c
dev-cmd/pr-upload: allow --keep-old with --upload-only 2025-02-03 18:15:31 +01:00
Thierry Moisan
ecc7832498
fixup! Update docs/BrewTestBot-For-Maintainers.md 2025-02-03 17:42:50 +01:00
Thierry Moisan
9311e45aa1
Update docs/BrewTestBot-For-Maintainers.md
Co-authored-by: Carlo Cabrera <github@carlo.cab>
2025-02-03 17:40:13 +01:00
Mike McQuaid
7b7bf51e1a
Merge pull request #19190 from Homebrew/ubuntu18
docker: fix comment for ubuntu 18 deprecation
2025-02-03 16:38:14 +00:00
William Woodruff
0ceddc91ce
code review
Signed-off-by: William Woodruff <william@yossarian.net>
2025-02-03 17:12:11 +01:00
William Woodruff
04bde137e9
regenerate hints
Signed-off-by: William Woodruff <william@yossarian.net>
2025-02-03 17:09:14 +01:00
William Woodruff
06d0f59a29
Apply suggestions from code review
Co-authored-by: Douglas Eichelberger <697964+dduugg@users.noreply.github.com>
2025-02-03 17:08:55 +01:00
William Woodruff
f7557ae9fe
strict typechecking
Signed-off-by: William Woodruff <william@yossarian.net>
2025-02-03 16:28:46 +01:00
William Woodruff
77f55aab05
dev-cmd: add brew verify
This is a direct copy of `trailofbits/homebrew-brew-verify`,
but in the `DevCmd` namespace instead.

Signed-off-by: William Woodruff <william@yossarian.net>
2025-02-03 16:23:09 +01:00
Thierry Moisan
32ef99e612
Add rebottling documentation in BrewTestBot-For-Maintainers.md 2025-02-03 15:13:31 +01:00
Michka Popoff
8f884e1a79
docker: fix comment for ubuntu 18 deprecation 2025-02-03 15:10:09 +01:00
1334 changed files with 74205 additions and 85469 deletions

View File

@ -1,25 +1,11 @@
// For format details, see https://aka.ms/devcontainer.json.
{
"name": "Homebrew/brew",
"image": "ghcr.io/homebrew/brew:master",
"image": "ghcr.io/homebrew/brew:main",
"workspaceFolder": "/home/linuxbrew/.linuxbrew/Homebrew",
"workspaceMount": "source=${localWorkspaceFolder},target=/home/linuxbrew/.linuxbrew/Homebrew,type=bind,consistency=cached",
"onCreateCommand": ".devcontainer/on-create-command.sh",
"customizations": {
"codespaces": {
"repositories": {
"Homebrew/homebrew-bundle": {
"permissions": {
"contents": "write"
}
},
"Homebrew/homebrew-services": {
"permissions": {
"contents": "write"
}
}
}
},
"vscode": {
// Installing all necessary extensions for vscode
// Taken from: .vscode/extensions.json

View File

@ -3,6 +3,7 @@ set -e
# fix permissions so Homebrew and Bundler don't complain
sudo chmod -R g-w,o-w /home/linuxbrew
sudo chmod +t -R /home/linuxbrew/
# everything below is too slow to do unless prebuilding so skip it
CODESPACES_ACTION_NAME="$(jq --raw-output '.ACTION_NAME' /workspaces/.codespaces/shared/environment-variables.json)"
@ -23,9 +24,6 @@ brew cleanup
# actually tap homebrew/core, no longer done by default
brew tap --force homebrew/core
# tap some other repos so codespaces can be used for developing multiple taps
brew tap homebrew/bundle
brew tap homebrew/services
# install some useful development things
sudo apt-get update

View File

@ -1,10 +1,10 @@
name: New issue for Reproducible Bug
description: "If you're sure it's reproducible and not just your machine: submit an issue so we can investigate."
labels: [bug]
type: "Bug"
body:
- type: markdown
attributes:
value: Please note we will close your issue without comment if you do not correctly fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.
value: Please note we may close your issue without comment if you do not fill out the issue checklist below and provide ALL the requested information (even if you consider them irrelevant). If you are unwilling to use the issue template, we may block you from ever submitting future issues to Homebrew.
- type: textarea
attributes:
render: shell
@ -16,10 +16,10 @@ body:
label: Verification
description: Please verify that you've followed these steps. If you cannot truthfully check these boxes, open a discussion at https://github.com/orgs/Homebrew/discussions instead.
options:
- label: My "`brew doctor` output" above says `Your system is ready to brew.` and am still able to reproduce my issue.
required: true
- label: I ran `brew update` twice and am still able to reproduce my issue.
required: true
- label: My "`brew doctor` output" above says `Your system is ready to brew` or a definitely unrelated `Tier` message.
required: true
- label: 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.
required: true
- type: textarea

View File

@ -1,6 +1,6 @@
name: New issue for Feature Suggestion
description: Request our thoughts on your suggestion for a new feature for Homebrew.
labels: features
type: "Feature"
body:
- type: markdown
attributes:

View File

@ -0,0 +1,7 @@
# This file is synced from the `.github` repository, do not modify it directly.
extensions:
- addsTo:
pack: codeql/actions-all
extensible: trustedActionsOwnerDataModel
data:
- ["Homebrew"]

48
.github/copilot-instructions.md vendored Normal file
View File

@ -0,0 +1,48 @@
# Copilot Instructions for Homebrew/brew
This is a Ruby based repository with Bash scripts for faster execution.
It is primarily responsible for providing the `brew` command for the Homebrew package manager.
Please follow these guidelines when contributing:
## Code Standards
### Required Before Each Commit
- Run `brew typecheck` to verify types are declared correctly using Sorbet.
Individual files/directories cannot be checked.
`brew typecheck` is fast enough to just be run globally every time.
- Run `brew style --fix --changed` to lint code formatting using RuboCop.
Individual files can be checked/fixed by passing them as arguments e.g. `brew style --fix Library/Homebrew/cmd/reinstall.rb``
- Run `brew tests --online --changed` to ensure that RSpec unit tests are passing (although some online tests may be flaky so can be ignored if they pass on a rerun).
Individual test files can be passed with `--only` e.g. to test `Library/Homebrew/cmd/reinstall.rb` with `Library/Homebrew/test/cmd/reinstall_spec.rb` run `brew tests --only=cmd/reinstall`.
- All of the above can be run with the `brew-mcp-server`
### Development Flow
- Write new code (using Sorbet `sig` type signatures and `typed: strict` for new files, but never for RSpec/test/`*_spec.rb` files)
- Write new tests (avoid more than one `:integration_test` per file for speed).
Use only one `expect` assertion per test.
- Keep comments minimal; prefer self-documenting code through strings, variable names, etc. over more comments.
## Repository Structure
- `bin/brew`: Homebrew's `brew` command main Bash entry point script
- `completions/`: Generated shell (`bash`/`fish`/`zsh`) completion files. Don't edit directly, regenerate with `brew generate-man-completions`
- `Library/Homebrew/`: Homebrew's core Ruby (with a little bash) logic.
- `Library/Homebrew/bundle/`: Homebrew's `brew bundle` command.
- `Library/Homebrew/cask/`: Homebrew's Cask classes and DSL.
- `Library/Homebrew/extend/os/`: Homebrew's OS-specific (i.e. macOS or Linux) class extension logic.
- `Library/Homebrew/formula.rb`: Homebrew's Formula class and DSL.
- `docs/`: Documentation for Homebrew users, contributors and maintainers. Consult these for best practices and help.
- `manpages/`: Generated `man` documentation files. Don't edit directly, regenerate with `brew generate-man-completions`
- `package/`: Files to generate the macOS `.pkg` file.
## Key Guidelines
1. Follow Ruby and Bash best practices and idiomatic patterns.
2. Maintain existing code structure and organisation.
3. Write unit tests for new functionality.
4. Document public APIs and complex logic.
5. Suggest changes to the `docs/` folder when appropriate
6. Follow software principles such as DRY and YAGNI.
7. Keep diffs as minimal as possible.

View File

@ -1,55 +1,49 @@
# This file is synced from the `.github` repository, do not modify it directly.
---
version: 2
updates:
- package-ecosystem: github-actions
directory: /
multi-ecosystem-groups:
all:
schedule:
interval: weekly
allow:
- dependency-type: all
# The actions in triage-issues.yml are updated in the Homebrew/.github repo
ignore:
- dependency-name: actions/stale
groups:
artifacts:
patterns:
- actions/*-artifact
day: friday
time: '08:00'
timezone: Etc/UTC
updates:
- package-ecosystem: bundler
directories:
- "/Library/Homebrew"
multi-ecosystem-group: all
patterns:
- "*"
allow:
- dependency-type: all
- package-ecosystem: devcontainers
directory: "/"
multi-ecosystem-group: all
patterns:
- "*"
allow:
- dependency-type: all
- package-ecosystem: docker
directory: "/"
multi-ecosystem-group: all
patterns:
- "*"
allow:
- dependency-type: all
- package-ecosystem: github-actions
directory: "/"
multi-ecosystem-group: all
patterns:
- "*"
allow:
- dependency-type: all
- package-ecosystem: pip
directories:
- "/Library/Homebrew/formula-analytics/"
multi-ecosystem-group: all
patterns:
- "*"
allow:
- dependency-type: all
- package-ecosystem: bundler
directory: /Library/Homebrew
schedule:
interval: daily
allow:
- dependency-type: all
groups:
sorbet:
patterns:
- "sorbet*"
- package-ecosystem: npm
directory: /
schedule:
interval: daily
allow:
- dependency-type: all
- package-ecosystem: docker
directory: /
schedule:
interval: daily
allow:
- dependency-type: all
- package-ecosystem: devcontainers
directory: /
schedule:
interval: daily
allow:
- dependency-type: all
- package-ecosystem: pip
directory: /
schedule:
interval: daily
allow:
- dependency-type: all

View File

@ -1,19 +1,12 @@
name: actionlint
# This file is synced from the `.github` repository, do not modify it directly.
name: Actionlint
on:
push:
paths:
- '.github/workflows/*.ya?ml'
- '.github/actionlint.yaml'
branches:
- main
- master
pull_request:
paths:
- '.github/workflows/*.ya?ml'
- '.github/actionlint.yaml'
env:
HOMEBREW_DEVELOPER: 1
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_ENV_HINTS: 1
defaults:
run:
@ -23,16 +16,25 @@ concurrency:
group: "actionlint-${{ github.ref }}"
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
env:
HOMEBREW_DEVELOPER: 1
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_ENV_HINTS: 1
permissions: {}
jobs:
workflow_syntax:
if: github.repository_owner == 'Homebrew'
runs-on: ubuntu-latest
permissions:
contents: read
container:
image: ghcr.io/homebrew/ubuntu22.04:main
steps:
- name: Set up Homebrew
id: setup-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
@ -41,44 +43,57 @@ jobs:
- name: Install tools
run: brew install actionlint shellcheck zizmor
- name: Set up GITHUB_WORKSPACE
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- run: zizmor --format sarif . > results.sarif
env:
HOMEBREW_REPOSITORY: ${{ steps.setup-homebrew.outputs.repository-path }}
run: |
# Annotations work only relative to GITHUB_WORKSPACE
(shopt -s dotglob; rm -rf "${GITHUB_WORKSPACE:?}"/*; mv "${HOMEBREW_REPOSITORY:?}"/* "$GITHUB_WORKSPACE")
rmdir "$HOMEBREW_REPOSITORY"
ln -vs "$GITHUB_WORKSPACE" "$HOMEBREW_REPOSITORY"
echo "::add-matcher::.github/actionlint-matcher.json"
- run: |
# NOTE: exit code intentionally suppressed here
zizmor --format sarif . > results.sarif || true
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload SARIF file
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
# We can't use the SARIF file when triggered by `merge_group` so we don't upload it.
if: always() && github.event_name != 'merge_group'
with:
name: results.sarif
path: results.sarif
- name: Set up actionlint
run: |
# In homebrew-core, setting `shell: /bin/bash` prevents shellcheck from running on
# those steps, so let's change them to `shell: bash` temporarily for better linting.
sed -i 's|shell: /bin/bash -x|shell: bash -x|' .github/workflows/*.y*ml
# In homebrew-core, the JSON matcher needs to be accessible to the container host.
cp "$(brew --repository)/.github/actionlint-matcher.json" "$HOME"
echo "::add-matcher::$HOME/actionlint-matcher.json"
- run: actionlint
upload_sarif:
needs: workflow_syntax
# We want to always upload this even if `actionlint` failed.
# This is only available on public repositories.
if: >
always() &&
!contains(fromJSON('["cancelled", "skipped"]'), needs.workflow_syntax.result) &&
!github.event.repository.private &&
github.event_name != 'merge_group'
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
- name: Download SARIF file
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: results.sarif
path: results.sarif
- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@f6091c0113d1dcf9b98e269ee48e8a7e51b7bdd4 # v3.28.5
uses: github/codeql-action/upload-sarif@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
with:
sarif_file: results.sarif
category: zizmor

View File

@ -27,14 +27,14 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
test-bot: true
- name: Cache Bundler RubyGems
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ${{ steps.set-up-homebrew.outputs.gems-path }}
key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }}

View File

@ -3,10 +3,9 @@ name: "CodeQL"
on:
push:
branches:
- main
- master
pull_request:
branches:
- master
defaults:
run:
@ -23,12 +22,12 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@f6091c0113d1dcf9b98e269ee48e8a7e51b7bdd4 # v3.28.5
uses: github/codeql-action/init@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
with:
languages: ruby
config: |
@ -36,4 +35,4 @@ jobs:
- Library/Homebrew/vendor
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@f6091c0113d1dcf9b98e269ee48e8a7e51b7bdd4 # v3.28.5
uses: github/codeql-action/analyze@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3

View File

@ -0,0 +1,32 @@
name: Copilot Setup Steps
on:
workflow_dispatch:
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml
jobs:
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@main
with:
core: true
cask: true
test-bot: true
- run: brew install-bundler-gems --groups=all
# install Homebrew formulae we might need
- run: brew install shellcheck shfmt gh gnu-tar subversion curl
# brew tests doesn't like world writable directories
- run: sudo chmod -R g-w,o-w /home/linuxbrew/.linuxbrew/Homebrew

View File

@ -2,6 +2,10 @@ name: Docker
on:
pull_request:
push:
branches:
- main
- master
merge_group:
release:
types:
@ -14,29 +18,29 @@ defaults:
run:
shell: bash -xeuo pipefail {0}
env:
# odeprecated: remove 20.04 image in Homebrew >=4.7
VERSIONS: '["20.04", "22.04", "24.04"]'
jobs:
ubuntu:
generate-tags:
if: github.repository_owner == 'Homebrew'
name: docker (Ubuntu ${{ matrix.version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: ["18.04", "20.04", "22.04", "24.04"]
outputs:
matrix: ${{ steps.attributes.outputs.matrix }}
tags: ${{ steps.attributes.outputs.tags }}
labels: ${{ steps.attributes.outputs.labels }}
push: ${{ steps.attributes.outputs.push }}
merge: ${{ steps.attributes.outputs.merge }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
persist-credentials: false
- name: Fetch origin/master from Git
run: git fetch origin master
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0
with:
cache-binary: false
- name: Fetch origin/HEAD from Git
run: git fetch origin HEAD
- name: Determine build attributes
id: attributes
@ -58,92 +62,263 @@ jobs:
${DELIMITER}
EOS
tags=()
if [[ "${GITHUB_EVENT_NAME}" == "release" ]]; then
tags+=(
"ghcr.io/homebrew/ubuntu${{matrix.version}}:${brew_version}"
"ghcr.io/homebrew/ubuntu${{matrix.version}}:latest"
"homebrew/ubuntu${{matrix.version}}:${brew_version}"
"homebrew/ubuntu${{matrix.version}}:latest"
)
if [[ "${{ matrix.version }}" == "22.04" ]]; then
typeset -A tag_hash
typeset -A push_hash
matrix=()
merge=false
while IFS=$'\n' read -r version; do
tags=()
if [[ "${GITHUB_EVENT_NAME}" == "release" ]]; then
tags+=(
"ghcr.io/homebrew/brew:${brew_version}"
"ghcr.io/homebrew/brew:latest"
"homebrew/brew:${brew_version}"
"homebrew/brew:latest"
"ghcr.io/homebrew/ubuntu${version}:${brew_version}"
"ghcr.io/homebrew/ubuntu${version}:latest"
"homebrew/ubuntu${version}:${brew_version}"
"homebrew/ubuntu${version}:latest"
)
if [[ "${version}" == "22.04" ]]; then
tags+=(
"ghcr.io/homebrew/brew:${brew_version}"
"ghcr.io/homebrew/brew:latest"
"homebrew/brew:${brew_version}"
"homebrew/brew:latest"
)
fi
elif [[ "${GITHUB_EVENT_NAME}" == "push" &&
("${GITHUB_REF}" == "refs/heads/master" || "${GITHUB_REF}" == "refs/heads/main") &&
"${version}" == "22.04" ]]; then
tags+=(
"ghcr.io/homebrew/brew:main"
"ghcr.io/homebrew/brew:master"
"ghcr.io/homebrew/ubuntu${version}:main"
"ghcr.io/homebrew/ubuntu${version}:master"
"homebrew/brew:main"
"homebrew/brew:master"
"homebrew/ubuntu${version}:main"
"homebrew/ubuntu${version}:master"
)
fi
elif [[ "${GITHUB_EVENT_NAME}" == "merge_group" &&
"${GITHUB_REF}" == "refs/heads/master" &&
"${{ matrix.version }}" == "22.04" ]]; then
tags+=(
"ghcr.io/homebrew/brew:master"
"ghcr.io/homebrew/ubuntu${{ matrix.version }}:master"
"homebrew/brew:master"
"homebrew/ubuntu${{matrix.version}}:master"
)
fi
if [[ "${{ matrix.version }}" == "18.04" ]]; then
# odeprecated: remove this in Homebrew >=4.4
echo "The homebrew/ubuntu18.04 image is deprecated and will soon be retired. Use homebrew/ubuntu22.04 or homebrew/ubuntu24.04 or homebrew/ubuntu20.04 or homebrew/brew." > .docker-deprecate
fi
if [[ "${#tags[@]}" -ne 0 ]]; then
tags_as_json_array="$(
jq --null-input --compact-output '$ARGS.positional' --args "${tags[@]}"
)"
tag_hash["${version}"]="${tags_as_json_array}"
push_hash["${version}"]=true
merge=true
matrix+=("${version}")
else
push_hash["${version}"]=false
fi
done <<<"$(jq --raw-output '.[]' <<<"${VERSIONS}")"
# Transform the `matrix` variable into a JSON array.
echo "matrix=$(jq --null-input --compact-output '$ARGS.positional' --args "${matrix[@]}")" >>"${GITHUB_OUTPUT}"
echo "merge=${merge}" >>"${GITHUB_OUTPUT}"
{
if [[ "${#tags[@]}" -ne 0 ]]; then
DELIMITER="END_TAGS_$(uuidgen)"
echo "tags<<${DELIMITER}"
printf "%s\n" "${tags[@]}"
echo "${DELIMITER}"
echo "push=true"
else
echo "push=false"
fi
DELIMITER="END_TAGS_$(uuidgen)"
has_previous=
echo "tags<<${DELIMITER}"
printf '{'
for version in "${!tag_hash[@]}"; do
[[ -n "${has_previous:-}" ]] && printf ','
printf '"%s": %s' "${version}" "${tag_hash[$version]}"
has_previous=1
done
echo '}'
echo "${DELIMITER}"
} | tee -a "${GITHUB_OUTPUT}"
{
DELIMITER="END_PUSH_$(uuidgen)"
has_previous=
echo "push<<${DELIMITER}"
printf '{'
for version in "${!push_hash[@]}"; do
[[ -n "${has_previous:-}" ]] && printf ','
printf '"%s": %s' "${version}" "${push_hash[$version]}"
has_previous=1
done
echo '}'
echo "${DELIMITER}"
} | tee -a "${GITHUB_OUTPUT}"
build:
needs: generate-tags
if: github.repository_owner == 'Homebrew'
name: docker (${{ matrix.arch }} Ubuntu ${{ matrix.version }})
runs-on: ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-latest' }}
strategy:
fail-fast: false
matrix:
# odeprecated: remove 20.04 image in Homebrew >=4.7
version: ["20.04", "22.04", "24.04"]
arch: ["x86_64", "arm64"]
exclude:
# odeprecated: remove 20.04 image in Homebrew >=4.7
- version: "20.04"
arch: "arm64"
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
persist-credentials: false
- name: Fetch origin/HEAD from Git
run: git fetch origin HEAD
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
with:
cache-binary: false
- name: Retrieve build attributes
id: attributes
env:
VERSION: ${{ matrix.version }}
PUSH: ${{ needs.generate-tags.outputs.push }}
run: |
# odeprecated: remove 20.04 image in Homebrew >=4.7
if [[ "${VERSION}" == "20.04" ]]; then
echo "The homebrew/ubuntu20.04 image is deprecated and will soon be retired. Use homebrew/ubuntu24.04 or homebrew/brew." > .docker-deprecate
fi
filter="$(printf '.["%s"]' "${VERSION}")"
echo "push=$(jq --raw-output "${filter}" <<<"${PUSH}")" >>"${GITHUB_OUTPUT}"
- name: Log in to GitHub Packages (github-actions[bot])
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
registry: ghcr.io
username: github-actions[bot]
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Docker image
uses: docker/build-push-action@ca877d9245402d1537745e0e356eab47c3520991 # v6.13.0
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: .
load: true
tags: brew
cache-from: type=registry,ref=ghcr.io/homebrew/ubuntu${{ matrix.version }}:cache
build-args: version=${{ matrix.version }}
labels: ${{ steps.attributes.outputs.labels }}
labels: ${{ needs.generate-tags.outputs.labels }}
- name: Set environment variables
run: |
if [[ "${ARCH}" == "arm64" ]]; then
echo "HOMEBREW_ARM64_TESTING=1" >> "$GITHUB_ENV"
fi
# odeprecated: remove 20.04 in Homebrew >=4.7
if [[ "${VERSION}" == "20.04" ]]; then
echo "HOMEBREW_GLIBC_TESTING=1" >> "$GITHUB_ENV"
fi
env:
VERSION: ${{ matrix.version }}
ARCH: ${{ matrix.arch }}
- name: Run brew test-bot --only-setup
run: docker run --rm brew brew test-bot --only-setup
run: docker run --env HOMEBREW_ARM64_TESTING --env HOMEBREW_GLIBC_TESTING --rm brew brew test-bot --only-setup
- name: Log in to GitHub Packages (BrewTestBot)
if: steps.attributes.outputs.push == 'true'
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
if: fromJSON(steps.attributes.outputs.push)
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
registry: ghcr.io
username: BrewTestBot
password: ${{ secrets.HOMEBREW_BREW_GITHUB_PACKAGES_TOKEN }}
- name: Deploy the Docker image by digest
id: digest
if: fromJSON(steps.attributes.outputs.push)
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: .
cache-from: type=registry,ref=ghcr.io/homebrew/ubuntu${{ matrix.version }}:cache
cache-to: type=registry,ref=ghcr.io/homebrew/ubuntu${{ matrix.version }}:cache,mode=max
build-args: version=${{ matrix.version }}
labels: ${{ needs.generate-tags.outputs.labels }}
outputs: type=image,name=ghcr.io/homebrew/ubuntu${{ matrix.version }},name-canonical=true,push=true,push-by-digest=true
- name: Export the Docker image digest
if: fromJSON(steps.attributes.outputs.push)
run: |
mkdir -p "${RUNNER_TEMP}"/digests
echo "${DIGEST#sha256:}" >"${RUNNER_TEMP}/digests/${VERSION}-${ARCH}"
env:
DIGEST: ${{ steps.digest.outputs.digest }}
VERSION: ${{ matrix.version }}
ARCH: ${{ matrix.arch }}
- name: Upload the Docker image digest
if: fromJSON(steps.attributes.outputs.push)
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: digest-${{ matrix.version }}-${{ matrix.arch }}
path: ${{ runner.temp }}/digests/*
merge:
needs: [generate-tags, build]
if: github.repository_owner == 'Homebrew' && fromJSON(needs.generate-tags.outputs.merge)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: ${{ fromJSON(needs.generate-tags.outputs.matrix) }}
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
with:
cache-binary: false
- name: Download Docker image digests
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
path: ${{ runner.temp }}/digests
pattern: digest-${{ matrix.version }}-*
merge-multiple: true
- name: Log in to Docker Hub
if: steps.attributes.outputs.push == 'true'
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
username: brewtestbot
password: ${{ secrets.HOMEBREW_BREW_DOCKER_TOKEN }}
- name: Deploy the tagged Docker image
if: steps.attributes.outputs.push == 'true'
uses: docker/build-push-action@ca877d9245402d1537745e0e356eab47c3520991 # v6.13.0
- name: Log in to GitHub Packages (BrewTestBot)
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
context: .
push: true
tags: ${{ steps.attributes.outputs.tags }}
cache-from: type=registry,ref=ghcr.io/homebrew/ubuntu${{ matrix.version }}:cache
cache-to: type=registry,ref=ghcr.io/homebrew/ubuntu${{ matrix.version }}:cache,mode=max
build-args: version=${{ matrix.version }}
labels: ${{ steps.attributes.outputs.labels }}
registry: ghcr.io
username: BrewTestBot
password: ${{ secrets.HOMEBREW_BREW_GITHUB_PACKAGES_TOKEN }}
- name: Merge and push Docker image
env:
TAGS: ${{ needs.generate-tags.outputs.tags }}
VERSION: ${{ matrix.version }}
run: |
filter="$(printf '.["%s"].[]' "${VERSION}")"
tag_args=()
while IFS=$'\n' read -r tag; do
[[ -n "${tag}" ]] || continue
tag_args+=("--tag=${tag}")
done <<<"$(jq --raw-output "${filter}" <<<"${TAGS}")"
image_args=("ghcr.io/homebrew/ubuntu${VERSION}@sha256:$(<"${RUNNER_TEMP}/digests/${VERSION}-x86_64")")
# odeprecated: remove 20.04 image in Homebrew >=4.7
if [[ "${VERSION}" != 20.04 ]]; then
image_args+=("ghcr.io/homebrew/ubuntu${VERSION}@sha256:$(<"${RUNNER_TEMP}/digests/${VERSION}-arm64")")
fi
attempts=0
until docker buildx imagetools create "${tag_args[@]}" "${image_args[@]}"; do
attempts=$((attempts + 1))
if [[ $attempts -ge 3 ]]; then
echo "[$(date -u)] ERROR: Failed after 3 attempts." >&2
exit 1
fi
delay=$((2 ** attempts))
if [[ $delay -gt 15 ]]; then delay=15; fi
echo "Push failed (attempt $attempts). Retrying in ${delay} seconds..."
sleep ${delay}
done

View File

@ -12,7 +12,6 @@ env:
HOMEBREW_DEVELOPER: 1
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_ENV_HINTS: 1
HOMEBREW_BOOTSNAP: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
defaults:
@ -25,14 +24,14 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
test-bot: false
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
@ -53,7 +52,7 @@ jobs:
run: vale docs/
- name: Install Ruby
uses: ruby/setup-ruby@1287d2b408066abada82d5ad1c63652e758428d9 # v1.214.0
uses: ruby/setup-ruby@44511735964dcb71245e7e55f72539531f7bc0eb # v1.257.0
with:
bundler-cache: true
working-directory: docs
@ -68,7 +67,13 @@ jobs:
- name: Generate formulae.brew.sh API samples
if: github.repository == 'Homebrew/formulae.brew.sh'
working-directory: docs
run: ../script/generate-api-samples.rb
run: ../script/generate-api-samples.rb --template
- name: Cache HTML Proofer
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: tmp/.htmlproofer
key: ${{ runner.os }}-htmlproofer
- name: Build the site and check for broken links
working-directory: docs

View File

@ -28,7 +28,7 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
@ -55,7 +55,7 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false

View File

@ -16,6 +16,8 @@ env:
HOMEBREW_NO_ANALYTICS_THIS_RUN: 1
HOMEBREW_NO_ANALYTICS_MESSAGE_OUTPUT: 1
permissions: {}
defaults:
run:
shell: bash -xeuo pipefail {0}
@ -30,7 +32,7 @@ jobs:
TEMPORARY_CERTIFICATE_FILE: 'homebrew_developer_id_installer_certificate.p12'
TEMPORARY_KEYCHAIN_FILE: 'homebrew_installer_signing.keychain-db'
# Set to the oldest supported version of macOS
HOMEBREW_MACOS_OLDEST_SUPPORTED: '13.0'
HOMEBREW_MACOS_OLDEST_SUPPORTED: '14.0'
permissions:
contents: read # for code access
attestations: write # for actions/attest-build-provenance
@ -41,7 +43,7 @@ jobs:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
@ -79,7 +81,7 @@ jobs:
run: rm -f "${RUNNER_TEMP}/${TEMPORARY_CERTIFICATE_FILE}"
- name: Checkout another Homebrew to brew subdirectory
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
path: brew
fetch-depth: 0
@ -133,12 +135,12 @@ jobs:
fi
- name: Generate build provenance
uses: actions/attest-build-provenance@520d128f165991a6c774bcb264f323e3d70747f4 # v2.2.0
uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
with:
subject-path: Homebrew-${{ steps.homebrew-version.outputs.version }}.pkg
- name: Upload installer to GitHub Actions
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: Homebrew-${{ steps.homebrew-version.outputs.version }}.pkg
path: Homebrew-${{ steps.homebrew-version.outputs.version }}.pkg
@ -150,17 +152,13 @@ jobs:
fail-fast: false
matrix:
include:
# Intel
- runner: macos-13
name: macos-13-x86_64
# Apple Silicon
- runner: macos-14
name: macos-14-arm64
- runner: macos-15
name: macos-15-arm64
steps:
- name: Download installer from GitHub Actions
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: "${{ needs.build.outputs.installer_path }}"
@ -213,7 +211,7 @@ jobs:
contents: write
steps:
- name: Download installer from GitHub Actions
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: "${{ needs.build.outputs.installer_path }}"
@ -228,17 +226,15 @@ jobs:
--password "${PKG_APPLE_ID_APP_SPECIFIC_PASSWORD}"
--wait
- name: Install gh
run: brew install gh
- name: Upload installer to GitHub release
if: github.event_name == 'release'
env:
GH_TOKEN: ${{ github.token }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INSTALLER_PATH: ${{ needs.build.outputs.installer_path }}
run: gh release upload --repo Homebrew/brew
"${GITHUB_REF//refs\/tags\//}"
"${INSTALLER_PATH}"
run: |
VERSION="${INSTALLER_PATH#Homebrew-}"
VERSION="${VERSION%.pkg}"
gh release upload --repo Homebrew/brew "${VERSION}" "${INSTALLER_PATH}"
issue:
needs: [build, test, upload]
@ -251,7 +247,7 @@ jobs:
issues: write
steps:
- name: Open, update, or close pkg installer issue
uses: Homebrew/actions/create-or-update-issue@master
uses: Homebrew/actions/create-or-update-issue@main
with:
title: Failed to publish pkg installer
body: >
@ -259,7 +255,7 @@ jobs:
${{ github.ref_name }}. No pkg installer was uploaded to the GitHub
release.
labels: bug,release blocker
update-existing: ${{ contains(needs.*.result, 'failure') }}
update-existing: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
close-existing: ${{ needs.upload.result == 'success' }}
close-from-author: github-actions[bot]
close-comment: >

View File

@ -3,6 +3,7 @@ name: Ruby Documentation CI
on:
push:
branches:
- main
- master
pull_request:
@ -13,7 +14,6 @@ env:
HOMEBREW_DEVELOPER: 1
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_ENV_HINTS: 1
HOMEBREW_BOOTSNAP: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
defaults:
@ -29,21 +29,21 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
test-bot: false
- name: Checkout Homebrew/rubydoc.brew.sh
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
repository: Homebrew/rubydoc.brew.sh
path: rubydoc
persist-credentials: false
- name: Install Ruby
uses: ruby/setup-ruby@1287d2b408066abada82d5ad1c63652e758428d9 # v1.214.0
uses: ruby/setup-ruby@44511735964dcb71245e7e55f72539531f7bc0eb # v1.257.0
with:
bundler-cache: true
working-directory: rubydoc

View File

@ -1,9 +1,10 @@
name: Update schema data
name: Update SBOM schema
on:
push:
paths:
- .github/workflows/schemas.yml
- .github/workflows/sbom.yml
branches-ignore:
- main
- master
schedule:
- cron: "0 0 * * *"
@ -17,33 +18,32 @@ defaults:
shell: bash -xeuo pipefail {0}
jobs:
spdx:
sbom:
if: github.repository == 'Homebrew/brew'
runs-on: ubuntu-latest
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
test-bot: false
- name: Configure Git user
uses: Homebrew/actions/git-user-config@master
uses: Homebrew/actions/git-user-config@main
with:
username: BrewTestBot
- name: Set up commit signing
uses: Homebrew/actions/setup-commit-signing@master
uses: Homebrew/actions/setup-commit-signing@main
with:
signing_key: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY }}
signing_key: ${{ secrets.BREWTESTBOT_SSH_SIGNING_KEY }}
- name: Update schema data
id: update
env:
GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
HOMEBREW_GPG_PASSPHRASE: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY_PASSPHRASE }}
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
run: |
git fetch origin
@ -56,21 +56,22 @@ jobs:
git checkout "${BRANCH}"
git checkout "Library/Homebrew/data/schemas"
else
git checkout --no-track -B "${BRANCH}" origin/master
git checkout --no-track -B "${BRANCH}" origin/HEAD
fi
# Intentionally tracking 2.3.x to match what we output in sbom.rb. 3.0 also doesn't have a JSON Schema.
# Note: this is a 2.3.1 development branch - not a 2.3.1 tag. It contains bugfixes compared to 2.3.0.
curl --location --output Library/Homebrew/data/schemas/sbom.json https://raw.githubusercontent.com/spdx/spdx-spec/development/v2.3.1/schemas/spdx-schema.json
curl --location --output Library/Homebrew/data/schemas/sbom.json https://raw.githubusercontent.com/spdx/spdx-spec/support/v2.3.1/schemas/spdx-schema.json
# https://github.com/spdx/spdx-spec/pull/1029
sed -i -e 's|\(2019-09/schema\)#|\1|' Library/Homebrew/data/schemas/sbom.json
if ! git diff --exit-code Library/Homebrew/data/schemas
then
git add "Library/Homebrew/data/schemas"
git commit -m "data/schemas: update schema data." -m "Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/master/.github/workflows/schemas.yml)."
git commit -m "data/schemas: update schema data." -m "Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/schemas.yml)."
echo "committed=true" >> "$GITHUB_OUTPUT"
PULL_REQUEST_STATE="$(gh pr view --json=state | jq -r ".state")"
PULL_REQUEST_STATE="$(gh pr view --json=state | jq -r ".state" || true)"
if [[ "${PULL_REQUEST_STATE}" != "OPEN" ]]
then
echo "pull_request=true" >> "$GITHUB_OUTPUT"
@ -79,13 +80,13 @@ jobs:
- name: Push commits
if: steps.update.outputs.committed == 'true'
uses: Homebrew/actions/git-try-push@master
uses: Homebrew/actions/git-try-push@main
with:
token: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
branch: ${{ steps.update.outputs.branch }}
force: true
origin_branch: "master"
origin_branch: "HEAD"
- name: Open a pull request
if: steps.update.outputs.pull_request == 'true'
@ -93,3 +94,26 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
issue:
needs: sbom
if: always() && github.event_name == 'schedule'
runs-on: ubuntu-latest
env:
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
permissions:
# To create or update issues
issues: write
steps:
- name: Open, update, or close schema issue
uses: Homebrew/actions/create-or-update-issue@main
with:
title: Failed to update SBOM schema
body: >
The SBOM schema workflow [failed](${{ env.RUN_URL }}). No SBOM schema was updated.
labels: bug
update-existing: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
close-existing: ${{ needs.sbom.result == 'success' }}
close-from-author: github-actions[bot]
close-comment: >
The SBOM schema workflow [succeeded](${{ env.RUN_URL }}). Closing this issue.

View File

@ -10,6 +10,7 @@ on:
paths:
- .github/workflows/sorbet.yml
branches-ignore:
- main
- master
schedule:
- cron: "0 0 * * *"
@ -29,7 +30,7 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
@ -37,15 +38,15 @@ jobs:
- name: Configure Git user
if: github.event_name != 'pull_request'
uses: Homebrew/actions/git-user-config@master
uses: Homebrew/actions/git-user-config@main
with:
username: BrewTestBot
- name: Set up commit signing
if: github.event_name != 'pull_request'
uses: Homebrew/actions/setup-commit-signing@master
uses: Homebrew/actions/setup-commit-signing@main
with:
signing_key: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY }}
signing_key: ${{ secrets.BREWTESTBOT_SSH_SIGNING_KEY }}
- name: Update RBI files
id: update
@ -63,7 +64,7 @@ jobs:
git checkout "${BRANCH}"
git checkout "Library/Homebrew/sorbet"
else
git checkout --no-track -B "${BRANCH}" origin/master
git checkout --no-track -B "${BRANCH}" origin/HEAD
fi
fi
@ -74,24 +75,23 @@ jobs:
if: github.event_name != 'pull_request'
env:
GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
HOMEBREW_GPG_PASSPHRASE: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY_PASSPHRASE }}
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
run: |
if ! git diff --stat --exit-code "Library/Homebrew/sorbet"
then
git add "Library/Homebrew/sorbet"
git commit -m "sorbet: Update RBI files." \
-m "Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow."
-m "Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow."
if ! git diff --stat --exit-code "Library/Homebrew"
then
git add "Library/Homebrew/"
git commit -m "sorbet: Autobump sigils via Spoom" \
-m "Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow."
-m "Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow."
fi
echo "committed=true" >> "$GITHUB_OUTPUT"
PULL_REQUEST_STATE="$(gh pr view --json=state | jq -r ".state")"
PULL_REQUEST_STATE="$(gh pr view --json=state | jq -r ".state" || true)"
if [[ "${PULL_REQUEST_STATE}" != "OPEN" ]]
then
echo "pull_request=true" >> "$GITHUB_OUTPUT"
@ -100,13 +100,13 @@ jobs:
- name: Push commits
if: steps.commit.outputs.committed == 'true'
uses: Homebrew/actions/git-try-push@master
uses: Homebrew/actions/git-try-push@main
with:
token: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
branch: ${{ steps.update.outputs.branch }}
force: true
origin_branch: "master"
origin_branch: "HEAD"
- name: Open a pull request
if: steps.commit.outputs.pull_request == 'true'
@ -114,3 +114,26 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
issue:
needs: tapioca
if: always() && github.event_name == 'schedule'
runs-on: ubuntu-latest
env:
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
permissions:
# To create or update issues
issues: write
steps:
- name: Open, update, or close Sorbet issue
uses: Homebrew/actions/create-or-update-issue@main
with:
title: Failed to update RBI files
body: >
The Sorbet workflow [failed](${{ env.RUN_URL }}). No RBI files were updated.
labels: bug
update-existing: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
close-existing: ${{ needs.tapioca.result == 'success' }}
close-from-author: github-actions[bot]
close-comment: >
The Sorbet workflow [succeeded](${{ env.RUN_URL }}). Closing this issue.

View File

@ -4,6 +4,7 @@ on:
paths:
- .github/workflows/spdx.yml
branches-ignore:
- main
- master
schedule:
- cron: "0 0 * * *"
@ -23,27 +24,26 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
test-bot: false
- name: Configure Git user
uses: Homebrew/actions/git-user-config@master
uses: Homebrew/actions/git-user-config@main
with:
username: BrewTestBot
- name: Set up commit signing
uses: Homebrew/actions/setup-commit-signing@master
uses: Homebrew/actions/setup-commit-signing@main
with:
signing_key: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY }}
signing_key: ${{ secrets.BREWTESTBOT_SSH_SIGNING_KEY }}
- name: Update SPDX license data
id: update
env:
GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
HOMEBREW_GPG_PASSPHRASE: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY_PASSPHRASE }}
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
run: |
git fetch origin
@ -56,15 +56,16 @@ jobs:
git checkout "${BRANCH}"
git checkout "Library/Homebrew/data/spdx"
else
git checkout --no-track -B "${BRANCH}" origin/master
git checkout --no-track -B "${BRANCH}" origin/HEAD
fi
if brew update-license-data
then
git add "Library/Homebrew/data/spdx"
git commit -m "spdx: update license data." -m "Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/master/.github/workflows/spdx.yml)."
git commit -m "spdx: update license data." -m "Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/spdx.yml)."
echo "committed=true" >> "$GITHUB_OUTPUT"
PULL_REQUEST_STATE="$(gh pr view --json=state | jq -r ".state")"
PULL_REQUEST_STATE="$(gh pr view --json=state | jq -r ".state" || true)"
if [[ "${PULL_REQUEST_STATE}" != "OPEN" ]]
then
echo "pull_request=true" >> "$GITHUB_OUTPUT"
@ -73,13 +74,13 @@ jobs:
- name: Push commits
if: steps.update.outputs.committed == 'true'
uses: Homebrew/actions/git-try-push@master
uses: Homebrew/actions/git-try-push@main
with:
token: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
branch: ${{ steps.update.outputs.branch }}
force: true
origin_branch: "master"
origin_branch: "HEAD"
- name: Open a pull request
if: steps.update.outputs.pull_request == 'true'
@ -87,3 +88,26 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
issue:
needs: spdx
if: always() && github.event_name == 'schedule'
runs-on: ubuntu-latest
env:
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
permissions:
# To create or update issues
issues: write
steps:
- name: Open, update, or close SPDX issue
uses: Homebrew/actions/create-or-update-issue@main
with:
title: Failed to update SPDX license data
body: >
The SPDX license data workflow [failed](${{ env.RUN_URL }}). No SPDX license data was updated.
labels: bug
update-existing: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
close-existing: ${{ needs.spdx.result == 'success' }}
close-from-author: github-actions[bot]
close-comment: >
The SPDX license data workflow [succeeded](${{ env.RUN_URL }}). Closing this issue.

View File

@ -3,6 +3,7 @@ name: Update sponsors, maintainers, manpage and completions
on:
push:
branches:
- main
- master
paths:
- .github/workflows/sponsors-maintainers-man-completions.yml
@ -32,24 +33,24 @@ jobs:
steps:
- name: Setup Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
test-bot: false
- name: Configure Git user
uses: Homebrew/actions/git-user-config@master
uses: Homebrew/actions/git-user-config@main
with:
username: BrewTestBot
- name: Set up commit signing
uses: Homebrew/actions/setup-commit-signing@master
uses: Homebrew/actions/setup-commit-signing@main
with:
signing_key: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY }}
signing_key: ${{ secrets.BREWTESTBOT_SSH_SIGNING_KEY }}
- name: Cache Bundler RubyGems
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ${{ steps.set-up-homebrew.outputs.gems-path }}
key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }}
@ -60,7 +61,7 @@ jobs:
run: |
git fetch origin
if [[ -n "$GITHUB_REF_NAME" && "$GITHUB_REF_NAME" != "master" ]]
if [[ -n "$GITHUB_REF_NAME" && "$GITHUB_REF_NAME" != "master" && "$GITHUB_REF_NAME" != "main" ]]
then
BRANCH="$GITHUB_REF_NAME"
else
@ -76,7 +77,7 @@ jobs:
"manpages/brew.1" \
"completions"
else
git checkout --force --no-track -B "${BRANCH}" origin/master
git checkout --force --no-track -B "${BRANCH}" origin/HEAD
fi
if brew update-sponsors
@ -111,7 +112,7 @@ jobs:
if [[ -n "${COMMITTED-}" ]]
then
echo "committed=true" >> "$GITHUB_OUTPUT"
PULL_REQUEST_STATE="$(gh pr view --json=state | jq -r ".state")"
PULL_REQUEST_STATE="$(gh pr view --json=state | jq -r ".state" || true)"
if [[ "${PULL_REQUEST_STATE}" != "OPEN" ]]
then
echo "pull_request=true" >> "$GITHUB_OUTPUT"
@ -120,12 +121,11 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.HOMEBREW_BREW_UPDATE_SPONSORS_MAINTAINERS_TOKEN }}
HOMEBREW_GPG_PASSPHRASE: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY_PASSPHRASE }}
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
- name: Push commits
if: steps.update.outputs.committed == 'true'
uses: Homebrew/actions/git-try-push@master
uses: Homebrew/actions/git-try-push@main
with:
token: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
@ -138,3 +138,26 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
issue:
needs: updates
if: always() && github.event_name == 'schedule'
runs-on: ubuntu-latest
env:
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
permissions:
# To create or update issues
issues: write
steps:
- name: Open, update, or close sponsors, maintainers, manpage and completions issue
uses: Homebrew/actions/create-or-update-issue@main
with:
title: Failed to update sponsors, maintainers, manpage and completions
body: >
The sponsors, maintainers, manpage and completions workflow [failed](${{ env.RUN_URL }}). No sponsors, maintainers, manpage and completions were updated.
labels: bug
update-existing: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
close-existing: ${{ needs.updates.result == 'success' }}
close-from-author: github-actions[bot]
close-comment: >
The sponsors, maintainers, manpage and completions workflow [succeeded](${{ env.RUN_URL }}). Closing this issue.

View File

@ -38,7 +38,7 @@ jobs:
pull-requests: write
steps:
- name: Mark/Close Stale Issues and Pull Requests
uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 21
@ -68,7 +68,7 @@ jobs:
pull-requests: write
steps:
- name: Mark/Close Stale `bump-formula-pr` and `bump-cask-pr` Pull Requests
uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 2

View File

@ -0,0 +1,64 @@
name: Sync default branches
on:
push:
branches:
- main
- master
pull_request:
paths:
- .github/workflows/sync-default-branches.yml
permissions: {}
defaults:
run:
shell: bash -xeuo pipefail {0}
concurrency:
group: "sync-default-branches-${{ github.ref }}"
cancel-in-progress: true
jobs:
sync:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Configure Git user
uses: Homebrew/actions/git-user-config@main
with:
username: github-actions[bot]
- name: Determine source and target branches
id: branches
run: |
if [[ "${GITHUB_REF_NAME}" == "main" ]]; then
target="master"
source="main"
else
target="main"
source="master"
fi
echo "target=${target}" >> "$GITHUB_OUTPUT"
echo "source=${source}" >> "$GITHUB_OUTPUT"
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 1
persist-credentials: true
- name: Get target SHA
id: sha
run: |
TARGET_SHA=$(git ls-remote origin "refs/heads/${SOURCE_BRANCH}" | cut -f1)
echo "target=${TARGET_SHA}" >> "$GITHUB_OUTPUT"
env:
SOURCE_BRANCH: ${{ steps.branches.outputs.source }}
- name: Push target branch
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master'
run: git push origin "${TARGET_SHA}:refs/heads/${TARGET_BRANCH}" --force
env:
TARGET_SHA: ${{ steps.sha.outputs.target }}
TARGET_BRANCH: ${{ steps.branches.outputs.target }}

View File

@ -3,6 +3,7 @@ name: CI
on:
push:
branches:
- main
- master
pull_request:
merge_group:
@ -14,7 +15,6 @@ env:
HOMEBREW_DEVELOPER: 1
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_ENV_HINTS: 1
HOMEBREW_BOOTSNAP: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
HOMEBREW_VERIFY_ATTESTATIONS: 1
@ -33,14 +33,14 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
test-bot: false
- name: Cache Bundler RubyGems
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ${{ steps.set-up-homebrew.outputs.gems-path }}
key: ${{ runner.os }}-rubygems-syntax-${{ steps.set-up-homebrew.outputs.gems-hash }}
@ -53,7 +53,7 @@ jobs:
run: brew install shellcheck shfmt
- name: Cache style cache
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ~/.cache/Homebrew/style
key: syntax-style-cache-${{ github.sha }}
@ -81,18 +81,18 @@ jobs:
name: tap syntax
needs: syntax
if: github.repository_owner == 'Homebrew'
runs-on: macos-14
runs-on: macos-15
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: true
cask: true
test-bot: true
- name: Cache Bundler RubyGems
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ${{ steps.set-up-homebrew.outputs.gems-path }}
key: ${{ runner.os }}-rubygems-tap-syntax-${{ steps.set-up-homebrew.outputs.gems-hash }}
@ -102,9 +102,9 @@ jobs:
run: brew install-bundler-gems --groups=style
- name: Cache style cache
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ~/.cache/Homebrew/style
path: ~/Library/Caches/Homebrew/style
key: tap-syntax-style-cache-${{ github.sha }}
restore-keys: tap-syntax-style-cache-
@ -113,30 +113,18 @@ jobs:
- name: Set up all Homebrew taps
run: |
brew tap homebrew/aliases
brew tap homebrew/bundle
brew tap homebrew/command-not-found
brew tap homebrew/formula-analytics
brew tap homebrew/portable-ruby
brew tap homebrew/services
# brew style doesn't like world writable directories
sudo chmod -R g-w,o-w "$(brew --repo)/Library/Taps"
- name: Run brew style on official taps
run: |
brew style homebrew/bundle \
homebrew/services \
homebrew/test-bot
brew style homebrew/aliases \
brew style homebrew/test-bot \
homebrew/command-not-found \
homebrew/formula-analytics \
homebrew/portable-ruby
- name: Run brew style on homebrew/cask
run: |
brew style homebrew/cask
homebrew/portable-ruby \
homebrew/cask
formula-audit:
name: formula audit
@ -144,11 +132,11 @@ jobs:
if: github.repository_owner == 'Homebrew' && github.event_name != 'push'
runs-on: ubuntu-latest
container:
image: ghcr.io/homebrew/brew:master
image: ghcr.io/homebrew/brew:main
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: true
cask: false
@ -171,7 +159,7 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: true
cask: true
@ -184,9 +172,6 @@ jobs:
run: |
brew audit --skip-style --except=version --tap=homebrew/cask
- name: Generate formula API
run: brew generate-formula-api --dry-run
- name: Generate cask API
run: brew generate-cask-api --dry-run
@ -197,14 +182,14 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
test-bot: false
- name: Configure Git user
uses: Homebrew/actions/git-user-config@master
uses: Homebrew/actions/git-user-config@main
with:
username: BrewTestBot
@ -225,14 +210,14 @@ jobs:
strategy:
matrix:
include:
- name: update-test (Ubuntu)
- name: update-test (Linux)
runs-on: ubuntu-latest
- name: update-test (macOS)
runs-on: macos-15
runs-on: macos-latest
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
@ -258,25 +243,16 @@ jobs:
- name: tests (generic OS)
test-flags: --generic --coverage
runs-on: ubuntu-latest
- name: tests (Ubuntu 24.04)
- name: tests (Linux)
test-flags: --coverage
runs-on: ubuntu-24.04
- name: tests (Ubuntu 22.04)
test-flags: --coverage
runs-on: ubuntu-22.04
- name: tests (Ubuntu 20.04)
test-flags: --coverage
runs-on: ubuntu-20.04
- name: tests (macOS 13 x86_64)
test-flags: --coverage
runs-on: macos-13
- name: tests (macOS 15 arm64)
- name: tests (macOS)
test-flags: --coverage
runs-on: macos-15
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
# We only test needs_homebrew_core tests on macOS because
# homebrew/core is not available by default on GitHub-hosted Ubuntu
@ -286,7 +262,7 @@ jobs:
test-bot: false
- name: Cache Bundler RubyGems
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ${{ steps.set-up-homebrew.outputs.gems-path }}
key: ${{ matrix.runs-on }}-tests-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }}
@ -301,7 +277,7 @@ jobs:
run: mkdir tests
- name: Cache parallel tests log
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: tests
key: ${{ runner.os }}-${{ matrix.test-flags }}-parallel_runtime_rspec-${{ github.sha }}
@ -348,21 +324,21 @@ jobs:
filenames=$(find Library/Homebrew/test/junit -name 'rspec*.xml' -print | tr '\n' ',')
echo "filenames=${filenames%,}" >> "$GITHUB_OUTPUT"
- uses: codecov/test-results-action@4e79e65778be1cecd5df25e14af1eafb6df80ea9 # v1.0.2
- uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
files: ${{ steps.junit_xml.outputs.filenames }}
disable_search: true
token: ${{ secrets.CODECOV_TOKEN }}
- uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v5.3.1
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
files: Library/Homebrew/test/coverage/coverage.xml
disable_search: true
token: ${{ secrets.CODECOV_TOKEN }}
test-default-formula:
test-bot:
name: ${{ matrix.name }}
needs: syntax
if: github.repository_owner == 'Homebrew' && github.event_name != 'push'
@ -371,32 +347,178 @@ jobs:
strategy:
matrix:
include:
- name: test default formula (Ubuntu 22.04)
- name: test-bot (Linux arm64)
runs-on: ubuntu-24.04-arm
container: ghcr.io/homebrew/ubuntu24.04:latest
- name: test-bot (Linux x86_64)
runs-on: ubuntu-latest
container: ghcr.io/homebrew/ubuntu22.04:master
- name: test default formula (Ubuntu 20.04)
container: ghcr.io/homebrew/ubuntu22.04:main
# Use Debian Old Stable for testing Homebrew's glibc support.
- name: test-bot (Linux Homebrew glibc)
runs-on: ubuntu-latest
container: ghcr.io/homebrew/ubuntu20.04
- name: test default formula (macOS 13 x86_64)
container: debian:oldstable
- name: test-bot (macOS x86_64)
runs-on: macos-13
- name: test default formula (macOS 15 arm64)
- name: test-bot (macOS arm64)
runs-on: macos-15
env:
HOMEBREW_TEST_BOT_ANALYTICS: 1
HOMEBREW_ENFORCE_SBOM: 1
HOMEBREW_DOWNLOAD_CONCURRENCY: auto
steps:
- name: Install Homebrew and Homebrew's dependencies
# All other images are built from our Homebrew Dockerfile.
# This is the only one that needs to be set up manually.
if: matrix.container == 'debian:oldstable'
run: |
# Slimmed down version from the Homebrew Dockerfile
apt-get update
apt-get install -y --no-install-recommends \
bzip2 \
ca-certificates \
curl \
file \
g++ \
git-core \
less \
locales \
make \
netbase \
patch \
procps \
sudo \
uuid-runtime \
tzdata
# Install Homebrew
mkdir -p /home/linuxbrew/.linuxbrew/bin
# Don't do shallow clone or it's unshallowed by "Set up Homebrew"
git clone https://github.com/Homebrew/brew.git /home/linuxbrew/.linuxbrew/Homebrew
cd /home/linuxbrew/.linuxbrew/bin
ln -s ../Homebrew/bin/brew brew
echo "/home/linuxbrew/.linuxbrew/bin" >>"$GITHUB_PATH"
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: true
core: false
cask: false
test-bot: true
- run: brew test-bot --only-cleanup-before
- name: Setup environment variables
run: |
# Set enviroment variables to bypass `brew doctor` failures on Tier >=2 configurations
if [[ "${MATRIX_NAME}" == "test-bot (Linux arm64)" ]]; then
echo "HOMEBREW_ARM64_TESTING=1" >> "$GITHUB_ENV"
elif [[ "${MATRIX_NAME}" == "test-bot (Linux Homebrew glibc)" ]]; then
echo "HOMEBREW_GLIBC_TESTING=1" >> "$GITHUB_ENV"
fi
env:
MATRIX_NAME: ${{ matrix.name }}
- run: brew test-bot --only-setup
- run: brew install gnu-tar
- run: brew test-bot --only-formulae --only-json-tab --test-default-formula
bundle-and-services:
name: ${{ matrix.name }}
needs: syntax
if: github.repository_owner == 'Homebrew' && github.event_name != 'push'
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
include:
- name: bundle and services (Linux)
runs-on: ubuntu-latest
- name: bundle and services (macOS)
runs-on: macos-latest
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
test-bot: false
- run: brew test-bot --only-cleanup-before
- name: Run brew bundle and brew services integration tests
run: |
cat <<EOS >> Brewfile
brew "git"
brew "memcached", restart_service: true
brew "postgresql@15", restart_service: true
cask "1password"
cask "1password-cli"
cask "google-chrome"
# VSCode cask is not available on Linux.
vscode "github.copilot" if OS.mac?
EOS
brew bundle check && exit 1
brew bundle check --verbose && exit 1
brew bundle list
brew bundle --verbose
brew bundle --upgrade-formulae=memcached,postgresql@15
brew bundle upgrade
brew bundle env | grep PATH | grep git
brew bundle env --install
brew bundle exec --services true
brew bundle dump --force --describe
brew services list
brew services info memcached postgresql@15
brew services info --json memcached postgresql@15
brew services cleanup
brew bundle cleanup --force
analytics:
name: ${{ matrix.name }}
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
include:
- name: analytics (Linux)
runs-on: ubuntu-latest
- name: analytics (macOS)
runs-on: macos-latest
needs: syntax
if: github.repository_owner == 'Homebrew' && github.event_name != 'push'
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@main
- name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version-file: ${{ steps.set-up-homebrew.outputs.repository-path }}/Library/Homebrew/formula-analytics/.python-version
- name: Cache Homebrew Bundler RubyGems
id: cache
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ${{ steps.set-up-homebrew.outputs.gems-path }}
key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }}
restore-keys: ${{ runner.os }}-rubygems-
- name: Install Homebrew Bundler RubyGems
if: steps.cache.outputs.cache-hit != 'true'
run: brew install-bundler-gems
- run: brew formula-analytics --setup
- run: brew formula-analytics --install --json --days-ago=2
if: github.event.pull_request.head.repo.fork == false && (github.event_name == 'pull_request' && github.event.pull_request.user.login != 'dependabot[bot]')
env:
HOMEBREW_INFLUXDB_TOKEN: ${{ secrets.HOMEBREW_INFLUXDB_READ_TOKEN }}
- run: brew generate-analytics-api
if: github.event.pull_request.head.repo.fork == false && (github.event_name == 'pull_request' && github.event.pull_request.user.login != 'dependabot[bot]')
env:
HOMEBREW_INFLUXDB_TOKEN: ${{ secrets.HOMEBREW_INFLUXDB_READ_TOKEN }}

View File

@ -9,6 +9,7 @@ on:
paths:
- .github/workflows/vendor-gems.yml
branches-ignore:
- main
- master
workflow_dispatch:
inputs:
@ -17,7 +18,7 @@ on:
required: true
permissions:
contents: read
contents: write
pull-requests: read
defaults:
@ -31,7 +32,7 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
@ -39,19 +40,19 @@ jobs:
- name: Configure Git user
if: github.event_name == 'workflow_dispatch'
uses: Homebrew/actions/git-user-config@master
uses: Homebrew/actions/git-user-config@main
with:
username: BrewTestBot
- name: Set up commit signing
if: github.event_name == 'workflow_dispatch'
uses: Homebrew/actions/setup-commit-signing@master
uses: Homebrew/actions/setup-commit-signing@main
with:
signing_key: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY }}
signing_key: ${{ secrets.BREWTESTBOT_SSH_SIGNING_KEY }}
- name: Check out pull request
id: checkout
if: github.event_name == 'workflow_dispatch'
if: github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.pull_request.user.login == 'dependabot')
run: |
gh pr checkout "${PR}"
@ -66,10 +67,8 @@ jobs:
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
- name: Vendor Gems
env:
HOMEBREW_GPG_PASSPHRASE: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY_PASSPHRASE }}
run: |
if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]
if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" || ("${GITHUB_EVENT_NAME}" == "pull_request" && "${GITHUB_ACTOR}" == "dependabot") ]]
then
brew vendor-gems --non-bundler-gems
else
@ -80,10 +79,9 @@ jobs:
run: brew typecheck --update
- name: Commit RBI changes
if: github.event_name == 'workflow_dispatch'
if: github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.pull_request.user.login == 'dependabot')
env:
GEM_NAME: ${{ steps.checkout.outputs.gem_name }}
HOMEBREW_GPG_PASSPHRASE: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY_PASSPHRASE }}
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
run: |
if ! git diff --stat --exit-code "Library/Homebrew/sorbet"
@ -94,7 +92,7 @@ jobs:
fi
- name: Generate push token
uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755 # v1.11.1
uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
id: app-token
if: github.event_name == 'workflow_dispatch'
with:
@ -102,10 +100,10 @@ jobs:
private-key: ${{ secrets.BREW_COMMIT_APP_KEY }}
- name: Push to pull request
if: github.event_name == 'workflow_dispatch'
uses: Homebrew/actions/git-try-push@master
if: github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.pull_request.user.login == 'dependabot')
uses: Homebrew/actions/git-try-push@main
with:
token: ${{ steps.app-token.outputs.token }}
token: ${{ steps.app-token.outputs.token || secrets.GITHUB_TOKEN }}
directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
branch: ${{ steps.checkout.outputs.branch }}
force: true

View File

@ -19,7 +19,7 @@ jobs:
steps:
- name: Set up Homebrew
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master
uses: Homebrew/actions/setup-homebrew@main
with:
core: false
cask: false
@ -46,13 +46,16 @@ jobs:
- name: Compare to base ref
working-directory: ${{ steps.set-up-homebrew.outputs.gems-path }}/${{ steps.ruby-abi.outputs.version }}
env:
ABI_VERSION: ${{ steps.ruby-abi.outputs.version }}
VENDOR_VERSION: ${{ steps.gem-info.outputs.vendor-version }}
IGNORED_GEMS: ${{ steps.gem-info.outputs.ignored }}
run: |
git checkout "origin/${GITHUB_BASE_REF}"
rm .homebrew_vendor_version
brew install-bundler-gems --groups=all
if [[ "$(<.homebrew_vendor_version)" == "${VENDOR_VERSION}" ]]; then
if [[ "$(brew ruby -e "puts Gem.ruby_api_version")" == "${ABI_VERSION}" && \
"$(<.homebrew_vendor_version)" == "${VENDOR_VERSION}" ]]
then
while IFS= read -r gem; do
gem_dir="./gems/${gem}"
[[ -d "${gem_dir}" ]] || continue

6
.github/zizmor.yml vendored Normal file
View File

@ -0,0 +1,6 @@
# This file is synced from the `.github` repository, do not modify it directly.
rules:
unpinned-uses:
config:
policies:
Homebrew/actions/*: ref-pin

9
.gitignore vendored
View File

@ -40,7 +40,7 @@
# Ignore Ruby gems for versions other than we explicitly vendor.
# Keep this in sync with the list in standalone/init.rb.
**/vendor/bundle/ruby/*/
!**/vendor/bundle/ruby/3.3.0/
!**/vendor/bundle/ruby/3.4.0/
# Ignore Bundler binary files
**/vendor/bundle/ruby/*/gems/**/*.bundle
@ -79,6 +79,7 @@
**/vendor/bundle/ruby/*/gems/coderay-*/
**/vendor/bundle/ruby/*/gems/colorize-*/
**/vendor/bundle/ruby/*/gems/commander-*/
**/vendor/bundle/ruby/*/gems/csv-*/
**/vendor/bundle/ruby/*/gems/diff-lcs-*/
**/vendor/bundle/ruby/*/gems/docile-*/
**/vendor/bundle/ruby/*/gems/ecma-re-validator-*/
@ -90,6 +91,7 @@
**/vendor/bundle/ruby/*/gems/json_schemer-*/
**/vendor/bundle/ruby/*/gems/kramdown-*/
**/vendor/bundle/ruby/*/gems/language_server-protocol-*/
**/vendor/bundle/ruby/*/gems/lint_roller-*/
**/vendor/bundle/ruby/*/gems/logger-*/
**/vendor/bundle/ruby/*/gems/method_source-*/
**/vendor/bundle/ruby/*/gems/mini_portile2-*/
@ -106,6 +108,7 @@
**/vendor/bundle/ruby/*/gems/prism-*/
**/vendor/bundle/ruby/*/gems/psych-*/
**/vendor/bundle/ruby/*/gems/pry-*/
**/vendor/bundle/ruby/*/gems/pycall-*/
**/vendor/bundle/ruby/*/gems/racc-*/
**/vendor/bundle/ruby/*/gems/rainbow-*/
**/vendor/bundle/ruby/*/gems/rbi-*/
@ -113,6 +116,7 @@
**/vendor/bundle/ruby/*/gems/rdoc-*/
**/vendor/bundle/ruby/*/gems/redcarpet-*/
**/vendor/bundle/ruby/*/gems/regexp_parser-*/
**/vendor/bundle/ruby/*/gems/require-hooks-*/
**/vendor/bundle/ruby/*/gems/rexml-*/
**/vendor/bundle/ruby/*/gems/rspec-*/
**/vendor/bundle/ruby/*/gems/rspec-core-*/
@ -161,6 +165,7 @@
!/completions
!/docs
!/manpages
!/CODEOWNERS
# Unignore our packaging files
!/package
@ -168,8 +173,8 @@
# Ignore generated documentation site
/docs/_site
/docs/bin
/docs/.jekyll-metadata
/docs/tmp/.htmlproofer
/docs/vendor
/docs/Gemfile.lock

11
.vscode/mcp.json vendored Normal file
View File

@ -0,0 +1,11 @@
{
"servers": {
"Homebrew": {
"type": "stdio",
"command": "brew",
"args": [
"mcp-server"
]
}
}
}

View File

@ -1,5 +1,12 @@
#!/bin/bash
HOMEBREW_PREFIX="$(cd "$(dirname "$0")"/../ && pwd)"
if [[ -n "${BASH_SOURCE[0]}" ]]; then
SCRIPT_PATH="${BASH_SOURCE[0]}"
elif [[ -n "${ZSH_VERSION}" ]]; then
SCRIPT_PATH="${(%):-%x}"
else
SCRIPT_PATH="$0"
fi
HOMEBREW_PREFIX="$(cd "$(dirname "${SCRIPT_PATH}")"/../ && pwd)"
"${HOMEBREW_PREFIX}/bin/brew" install-bundler-gems --add-groups=style,typecheck,vscode >/dev/null 2>&1

View File

@ -40,7 +40,6 @@
"id": "default",
"name": "Brew Typecheck",
"description": "Default configuration",
"cwd": "${workspaceFolder}",
"command": [
"./bin/brew",
"typecheck",

11
CODEOWNERS Normal file
View File

@ -0,0 +1,11 @@
# Note that the naming of this file is incorrect for our case: these people do not "own" the provided files but are
# people with write-access to this repository who wish to approve changes to these files.
#
# Their review is required to merge PRs that change these files.
#
# To be explicit: we will never accept changes to this file adding people from outside the Homebrew GitHub
# organisation. If you are not a Homebrew maintainer: you do not personally "own" or "maintain" any files.
#
# Note: @Homebrew/plc does not have write-access to this repository, and therefore cannot be listed in this file.
docs/Support-Tiers.md @Homebrew/tsc @MikeMcQuaid

View File

@ -20,7 +20,7 @@ RUN touch /var/mail/ubuntu && chown ubuntu /var/mail/ubuntu && userdel -r ubuntu
# shellcheck disable=SC1091,SC2154,SC2292
RUN apt-get update \
&& apt-get install -y --no-install-recommends software-properties-common gnupg-agent \
&& add-apt-repository -y ppa:git-core/ppa \
&& if [ "$(uname -m)" != aarch64 ]; then add-apt-repository -y ppa:git-core/ppa; fi \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
acl \
@ -69,15 +69,15 @@ WORKDIR /home/linuxbrew
RUN --mount=type=cache,target=/tmp/homebrew-core,uid="${USER_ID}",sharing=locked \
# Clone the homebre-core repo into /tmp/homebrew-core or pull latest changes if it exists
git clone https://github.com/homebrew/homebrew-core /tmp/homebrew-core || { cd /tmp/homebrew-core && git pull; } \
&& mkdir -p /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core \
&& cp -r /tmp/homebrew-core /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/
# Clone the homebrew-core repo into /tmp/homebrew-core or pull latest changes if it exists
git clone https://github.com/homebrew/homebrew-core /tmp/homebrew-core || { cd /tmp/homebrew-core && git pull; } \
&& mkdir -p /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core \
&& cp -r /tmp/homebrew-core /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/
RUN --mount=type=cache,target=/home/linuxbrew/.cache,uid="${USER_ID}" \
--mount=type=cache,target=/home/linuxbrew/.bundle,uid="${USER_ID}" \
mkdir -p \
--mount=type=cache,target=/home/linuxbrew/.bundle,uid="${USER_ID}" \
mkdir -p \
.linuxbrew/bin \
.linuxbrew/etc \
.linuxbrew/include \

View File

@ -1,10 +1,16 @@
---
plugins:
- rubocop-md:
plugin_class_name: RuboCop::Markdown::Plugin
- rubocop-performance:
plugin_class_name: RuboCop::Performance::Plugin
- rubocop-rspec:
plugin_class_name: RuboCop::RSpec::Plugin
- rubocop-sorbet:
plugin_class_name: RuboCop::Sorbet::Plugin
require:
- ./Homebrew/rubocops.rb
- rubocop-md
- rubocop-performance
- rubocop-rspec
- rubocop-sorbet
inherit_mode:
merge:
@ -12,12 +18,16 @@ inherit_mode:
- Exclude
AllCops:
# TODO: This is the default parser in Ruby >= 3.4
# https://github.com/rubocop/rubocop-ast/blob/6b9136235219e9448ee4f369e17cf69bcd9db621/lib/rubocop/ast/processed_source.rb#L385
ParserEngine: parser_prism
TargetRubyVersion: 3.3
NewCops: enable
Include:
- "**/*.rbi"
Exclude:
- "Homebrew/sorbet/rbi/{dsl,gems}/**/*.rbi"
- "Homebrew/sorbet/rbi/{annotations,dsl,gems}/**/*.rbi"
- "Homebrew/sorbet/rbi/parser*.rbi"
- "Homebrew/bin/*"
- "Homebrew/vendor/**/*"
- "Taps/*/*/vendor/**/*"
@ -86,6 +96,11 @@ Layout/ArgumentAlignment:
Layout/CaseIndentation:
EnforcedStyle: end
# currently bugged and as relevant/urgent in taps:
# https://github.com/rubocop/rubocop/issues/14443
Layout/EmptyLinesAfterModuleInclusion:
Enabled: false
# significantly less indentation involved; more consistent
Layout/FirstArrayElementIndentation:
EnforcedStyle: consistent
@ -206,6 +221,10 @@ Naming/MethodParameterName:
merge:
- AllowedNames
# Allows a nicer API for boolean methods with side effects.
Naming/PredicateMethod:
AllowBangMethods: true
# Both styles are used depending on context,
# e.g. `sha256` and `something_countable_1`.
Naming/VariableNumber:
@ -230,6 +249,8 @@ RSpec:
# Intentionally disabled as it doesn't fit with our code style.
RSpec/AnyInstance:
Enabled: false
RSpec/IncludeExamples:
Enabled: false
RSpec/SpecFilePathFormat:
Enabled: false
RSpec/StubbedMock:
@ -255,6 +276,11 @@ RSpec/Focus:
RSpec/MessageSpies:
EnforcedStyle: receive
# These are legacy violations that we should try to fix.
Sorbet/AllowIncompatibleOverride:
Exclude:
- "Homebrew/livecheck/strategy/*.rb"
# Try getting rid of these.
Sorbet/ConstantsFromStrings:
Enabled: false
@ -271,13 +297,6 @@ Sorbet/ForbidRBIOutsideOfAllowedPaths:
Sorbet/RedundantExtendTSig:
Enabled: true
# We make limited and intentional use of refinements.
# It's posssible this may change in the future, though we probably still do not want to ban it in taps
# and Sorbet typecheck will tell us what is and isn't a problem anyway.
# Right now, our use of refinements isn't problematic (or at least not yet).
Sorbet/Refinement:
Enabled: false
Sorbet/StrictSigil:
Enabled: true
Exclude:
@ -287,6 +306,7 @@ Sorbet/StrictSigil:
- "Homebrew/utils/ruby_check_version_script.rb" # A standalone script.
- "Homebrew/{standalone,startup}/*.rb" # These are loaded before sorbet-runtime
- "Homebrew/test/**/*.rb"
- "Homebrew/bundle/{formula_dumper,checker,commands/exec}.rb" # These aren't typed: true yet.
Sorbet/TrueSigil:
Enabled: true
@ -399,12 +419,10 @@ Style/MutableConstant:
Style/NumericLiteralPrefix:
EnforcedOctalStyle: zero_only
# Only use this for numbers >= `1_000_000`.
# Only require this for numbers >= `10_000_000_000`.
Style/NumericLiterals:
MinDigits: 7
MinDigits: 11
Strict: true
Exclude:
- "**/Brewfile"
Style/OpenStructUse:
Exclude:

View File

@ -10,7 +10,13 @@ Homebrew/MoveToExtendOS:
- "{extend,test,requirements}/**/*"
- "os.rb"
Naming/PredicateName:
# We don't use Sorbet for RSpec tests so let's disable this there.
Sorbet/BlockMethodDefinition:
Exclude:
- test/**/*
# Want to preserve our own API for these methods for now.
Naming/PredicatePrefix:
inherit_mode:
merge:
- AllowedMethods
@ -25,6 +31,7 @@ Style/Documentation:
- Homebrew
Include:
- abstract_command.rb
- autobump_constants.rb
- cask/cask.rb
- cask/dsl.rb
- cask/dsl/version.rb
@ -37,10 +44,10 @@ Style/Documentation:
- formula.rb
- formula_assertions.rb
- formula_free_port.rb
- language/go.rb
- language/java.rb
- language/node.rb
- language/perl.rb
- language/php.rb
- language/python.rb
- livecheck/strategy/apache.rb
- livecheck/strategy/bitbucket.rb
@ -65,7 +72,9 @@ Style/Documentation:
- livecheck/strategy/yaml.rb
- os.rb
- resource.rb
- startup/config.rb
- utils/inreplace.rb
- utils/output.rb
- utils/shebang.rb
- utils/string_inreplace_extension.rb
- version.rb

View File

@ -1 +1 @@
3.3.7
3.4.5

View File

@ -5,9 +5,9 @@ source "https://rubygems.org"
# The default case (no envs), should always be a restrictive bound on the lowest supported minor version.
# This is the branch that Dependabot will use.
if ENV.fetch("HOMEBREW_USE_RUBY_FROM_PATH", "").empty?
ruby "~> 3.3.0"
ruby "~> 3.4.0"
else
ruby ">= 3.3.0"
ruby ">= 3.4.0"
end
# disallowed gems (should not be used)
@ -71,6 +71,12 @@ end
group :vscode, optional: true do
gem "ruby-lsp", require: false
end
group :formula_analytics, optional: true do
gem "pycall", require: false
end
group :contributions, optional: true do
gem "csv", require: false
end
# shared gems (used by multiple groups)
group :audit, :bump_unversioned_casks, :livecheck, optional: true do

View File

@ -3,147 +3,161 @@ GEM
specs:
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
ast (2.4.2)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
bindata (2.5.0)
ast (2.4.3)
base64 (0.3.0)
benchmark (0.4.1)
bigdecimal (3.2.3)
bindata (2.5.1)
coderay (1.1.3)
concurrent-ruby (1.3.5)
diff-lcs (1.5.1)
csv (3.3.5)
diff-lcs (1.6.2)
docile (1.4.1)
elftools (1.3.1)
bindata (~> 2)
erubi (1.13.1)
hana (1.3.7)
json (2.9.1)
json_schemer (2.3.0)
json (2.13.2)
json_schemer (2.4.0)
bigdecimal
hana (~> 1.3)
regexp_parser (~> 2.0)
simpleidn (~> 0.2)
kramdown (2.5.1)
rexml (>= 3.3.9)
language_server-protocol (3.17.0.4)
logger (1.6.5)
language_server-protocol (3.17.0.5)
lint_roller (1.1.0)
logger (1.7.0)
method_source (1.1.0)
minitest (5.25.4)
minitest (5.25.5)
netrc (0.11.0)
parallel (1.26.3)
parallel_tests (4.9.0)
parallel (1.27.0)
parallel_tests (5.4.0)
parallel
parser (3.3.7.0)
parser (3.3.9.0)
ast (~> 2.4.1)
racc
patchelf (1.5.1)
elftools (>= 1.3)
plist (3.7.2)
prism (1.3.0)
prism (1.4.0)
pry (0.15.2)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (6.0.1)
public_suffix (6.0.2)
pycall (1.5.2)
racc (1.8.1)
rainbow (3.1.1)
rbi (0.2.4)
rbi (0.3.6)
prism (~> 1.0)
sorbet-runtime (>= 0.5.9204)
rbs (3.8.1)
rbs (>= 3.4.4)
rbs (4.0.0.dev.4)
logger
redcarpet (3.6.0)
regexp_parser (2.10.0)
rexml (3.4.0)
rspec (3.13.0)
prism (>= 1.3.0)
redcarpet (3.6.1)
regexp_parser (2.11.2)
require-hooks (0.2.2)
rexml (3.4.4)
rspec (3.13.1)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.2)
rspec-core (3.13.5)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.3)
rspec-expectations (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-github (3.0.0)
rspec-core (~> 3.0)
rspec-mocks (3.13.2)
rspec-mocks (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-retry (0.6.2)
rspec-core (> 3.3)
rspec-sorbet (1.9.2)
sorbet-runtime
rspec-support (3.13.2)
rspec-support (3.13.5)
rspec_junit_formatter (0.6.0)
rspec-core (>= 2, < 4, != 2.12.0)
rubocop (1.71.1)
rubocop (1.80.2)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.38.0, < 2.0)
rubocop-ast (>= 1.46.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.38.0)
parser (>= 3.3.1.0)
rubocop-md (1.2.4)
rubocop (>= 1.45)
rubocop-performance (1.23.1)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rspec (3.4.0)
rubocop (~> 1.61)
rubocop-sorbet (0.8.7)
rubocop (>= 1)
ruby-lsp (0.23.8)
rubocop-ast (1.46.0)
parser (>= 3.3.7.2)
prism (~> 1.4)
rubocop-md (2.0.2)
lint_roller (~> 1.1)
rubocop (>= 1.72.1)
rubocop-performance (1.26.0)
lint_roller (~> 1.1)
rubocop (>= 1.75.0, < 2.0)
rubocop-ast (>= 1.44.0, < 2.0)
rubocop-rspec (3.7.0)
lint_roller (~> 1.1)
rubocop (~> 1.72, >= 1.72.1)
rubocop-sorbet (0.10.5)
lint_roller
rubocop (>= 1.75.2)
ruby-lsp (0.26.1)
language_server-protocol (~> 3.17.0)
prism (>= 1.2, < 2.0)
rbs (>= 3, < 4)
sorbet-runtime (>= 0.5.10782)
rbs (>= 3, < 5)
ruby-macho (4.1.0)
ruby-prof (1.7.1)
ruby-prof (1.7.2)
base64
ruby-progressbar (1.13.0)
simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-cobertura (2.1.0)
simplecov-cobertura (3.1.0)
rexml
simplecov (~> 0.19)
simplecov-html (0.13.1)
simplecov-html (0.13.2)
simplecov_json_formatter (0.1.4)
simpleidn (0.2.3)
sorbet (0.5.11796)
sorbet-static (= 0.5.11796)
sorbet-runtime (0.5.11796)
sorbet-static (0.5.11796-aarch64-linux)
sorbet-static (0.5.11796-universal-darwin)
sorbet-static (0.5.11796-x86_64-linux)
sorbet-static-and-runtime (0.5.11796)
sorbet (= 0.5.11796)
sorbet-runtime (= 0.5.11796)
spoom (1.5.3)
sorbet (0.6.12521)
sorbet-static (= 0.6.12521)
sorbet-runtime (0.6.12521)
sorbet-static (0.6.12521-aarch64-linux)
sorbet-static (0.6.12521-universal-darwin)
sorbet-static (0.6.12521-x86_64-linux)
sorbet-static-and-runtime (0.6.12521)
sorbet (= 0.6.12521)
sorbet-runtime (= 0.6.12521)
spoom (1.7.6)
erubi (>= 1.10.0)
prism (>= 0.28.0)
rbi (>= 0.2.3)
rbi (>= 0.3.3)
rbs (>= 4.0.0.dev.4)
rexml (>= 3.2.6)
sorbet-static-and-runtime (>= 0.5.10187)
thor (>= 0.19.2)
stackprof (0.2.27)
tapioca (0.16.8)
tapioca (0.17.7)
benchmark
bundler (>= 2.2.25)
netrc (>= 0.11.0)
parallel (>= 1.21.0)
rbi (~> 0.2)
rbi (>= 0.3.1)
require-hooks (>= 0.2.2)
sorbet-static-and-runtime (>= 0.5.11087)
spoom (>= 1.2.0)
spoom (>= 1.7.0)
thor (>= 1.2.0)
yard-sorbet
thor (1.3.2)
unicode-display_width (3.1.4)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
vernier (1.5.0)
thor (1.4.0)
unicode-display_width (3.2.0)
unicode-emoji (~> 4.1)
unicode-emoji (4.1.0)
vernier (1.8.0)
warning (1.5.0)
yard (0.9.37)
yard-sorbet (0.9.0)
@ -161,6 +175,7 @@ DEPENDENCIES
addressable
base64
concurrent-ruby
csv
json_schemer
kramdown
method_source
@ -169,6 +184,7 @@ DEPENDENCIES
patchelf
plist
pry
pycall
redcarpet
rexml
rspec
@ -201,7 +217,7 @@ DEPENDENCIES
yard-sorbet
RUBY VERSION
ruby 3.3.7p123
ruby 3.4.5p51
BUNDLED WITH
2.5.20
2.6.8

View File

@ -15,7 +15,6 @@ class PATH
Element = T.type_alias { T.nilable(T.any(Pathname, String, PATH)) }
private_constant :Element
Elements = T.type_alias { T.any(Element, T::Array[Element]) }
private_constant :Elements
sig { params(paths: Elements).void }
def initialize(*paths)
@paths = T.let(parse(paths), T::Array[String])
@ -39,12 +38,12 @@ class PATH
self
end
sig { params(block: T.proc.params(arg0: String).returns(T::Boolean)).returns(T.self_type) }
sig { params(block: T.proc.params(arg0: String).returns(BasicObject)).returns(T.self_type) }
def select(&block)
self.class.new(@paths.select(&block))
end
sig { params(block: T.proc.params(arg0: String).returns(T::Boolean)).returns(T.self_type) }
sig { params(block: T.proc.params(arg0: String).returns(BasicObject)).returns(T.self_type) }
def reject(&block)
self.class.new(@paths.reject(&block))
end

View File

@ -3,6 +3,7 @@
require "cli/parser"
require "shell_command"
require "utils/output"
module Homebrew
# Subclass this to implement a `brew` command. This is preferred to declaring a named function in the `Homebrew`
@ -19,6 +20,7 @@ module Homebrew
# @api public
class AbstractCommand
extend T::Helpers
include Utils::Output::Mixin
abstract!

View File

@ -0,0 +1,120 @@
# typed: strict
# frozen_string_literal: true
require "fileutils"
require "utils/output"
module Homebrew
module Aliases
class Alias
include ::Utils::Output::Mixin
sig { returns(String) }
attr_accessor :name
sig { returns(T.nilable(String)) }
attr_accessor :command
sig { params(name: String, command: T.nilable(String)).void }
def initialize(name, command = nil)
@name = T.let(name.strip, String)
@command = T.let(nil, T.nilable(String))
@script = T.let(nil, T.nilable(Pathname))
@symlink = T.let(nil, T.nilable(Pathname))
@command = if command&.start_with?("!", "%")
command[1..]
elsif command
"brew #{command}"
end
end
sig { returns(T::Boolean) }
def reserved?
RESERVED.include? name
end
sig { returns(T::Boolean) }
def cmd_exists?
path = which("brew-#{name}.rb") || which("brew-#{name}")
!path.nil? && path.realpath.parent != HOMEBREW_ALIASES
end
sig { returns(Pathname) }
def script
@script ||= Pathname.new("#{HOMEBREW_ALIASES}/#{name.gsub(/\W/, "_")}")
end
sig { returns(Pathname) }
def symlink
@symlink ||= Pathname.new("#{HOMEBREW_PREFIX}/bin/brew-#{name}")
end
sig { returns(T::Boolean) }
def valid_symlink?
symlink.realpath.parent == HOMEBREW_ALIASES.realpath
rescue NameError
false
end
sig { void }
def link
FileUtils.rm symlink if File.symlink? symlink
FileUtils.ln_s script, symlink
end
sig { params(opts: T::Hash[Symbol, T::Boolean]).void }
def write(opts = {})
odie "'#{name}' is a reserved command. Sorry." if reserved?
odie "'brew #{name}' already exists. Sorry." if cmd_exists?
return if !opts[:override] && script.exist?
content = if command
<<~EOS
#: * `#{name}` [args...]
#: `brew #{name}` is an alias for `#{command}`
#{command} $*
EOS
else
<<~EOS
#: * `#{name}` [args...]
#: `brew #{name}` is an alias for *command*
# This is a Homebrew alias script. It'll be called when the user
# types `brew #{name}`. Any remaining arguments are passed to
# this script. You can retrieve those with $*, or only the first
# one with $1. Please keep your script on one line.
# TODO: Replace the line below with your script
echo "Hello I'm 'brew "#{name}"' and my args are:" $*
EOS
end
script.open("w") do |f|
f.write <<~EOS
#! #{`which bash`.chomp}
# alias: brew #{name}
#{content}
EOS
end
script.chmod 0744
link
end
sig { void }
def remove
odie "'brew #{name}' is not aliased to anything." if !symlink.exist? || !valid_symlink?
script.unlink
symlink.unlink
end
sig { void }
def edit
write(override: false)
exec_editor script.to_s
end
end
end
end

View File

@ -0,0 +1,80 @@
# typed: strict
# frozen_string_literal: true
require "aliases/alias"
require "utils/output"
module Homebrew
module Aliases
extend Utils::Output::Mixin
RESERVED = T.let((
Commands.internal_commands +
Commands.internal_developer_commands +
Commands.internal_commands_aliases +
%w[alias unalias]
).freeze, T::Array[String])
sig { void }
def self.init
FileUtils.mkdir_p HOMEBREW_ALIASES
end
sig { params(name: String, command: String).void }
def self.add(name, command)
new_alias = Alias.new(name, command)
odie "alias 'brew #{name}' already exists!" if new_alias.script.exist?
new_alias.write
end
sig { params(name: String).void }
def self.remove(name)
Alias.new(name).remove
end
sig { params(only: T::Array[String], block: T.proc.params(name: String, command: String).void).void }
def self.each(only, &block)
Dir["#{HOMEBREW_ALIASES}/*"].each do |path|
next if path.end_with? "~" # skip Emacs-like backup files
next if File.directory?(path)
_shebang, meta, *lines = File.readlines(path)
name = T.must(meta)[/alias: brew (\S+)/, 1] || File.basename(path)
next if !only.empty? && only.exclude?(name)
lines.reject! { |line| line.start_with?("#") || line =~ /^\s*$/ }
first_line = lines.fetch(0)
command = first_line.chomp
command.sub!(/ \$\*$/, "")
if command.start_with? "brew "
command.sub!(/^brew /, "")
else
command = "!#{command}"
end
yield name, command if block.present?
end
end
sig { params(aliases: String).void }
def self.show(*aliases)
each([*aliases]) do |name, command|
puts "brew alias #{name}='#{command}'"
existing_alias = Alias.new(name, command)
existing_alias.link unless existing_alias.symlink.exist?
end
end
sig { params(name: String, command: T.nilable(String)).void }
def self.edit(name, command = nil)
Alias.new(name, command).write unless command.nil?
Alias.new(name, command).edit
end
sig { void }
def self.edit_all
exec_editor(*Dir[HOMEBREW_ALIASES])
end
end
end

View File

@ -1,20 +1,25 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# typed: strict
# frozen_string_literal: true
require "api/analytics"
require "api/cask"
require "api/formula"
require "base64" # TODO: vendor this for Ruby 3.4.
require "api/internal"
require "base64"
require "utils/output"
module Homebrew
# Helper functions for using Homebrew's formulae.brew.sh API.
module API
extend Utils::Output::Mixin
extend Cachable
HOMEBREW_CACHE_API = (HOMEBREW_CACHE/"api").freeze
HOMEBREW_CACHE_API_SOURCE = (HOMEBREW_CACHE/"api-source").freeze
HOMEBREW_CACHE_API = T.let((HOMEBREW_CACHE/"api").freeze, Pathname)
HOMEBREW_CACHE_API_SOURCE = T.let((HOMEBREW_CACHE/"api-source").freeze, Pathname)
DEFAULT_API_STALE_SECONDS = T.let(86400, Integer) # 1 day
sig { params(endpoint: String).returns(Hash) }
sig { params(endpoint: String).returns(T::Hash[String, T.untyped]) }
def self.fetch(endpoint)
return cache[endpoint] if cache.present? && cache.key?(endpoint)
@ -25,18 +30,32 @@ module Homebrew
api_url = "#{HOMEBREW_API_DEFAULT_DOMAIN}/#{endpoint}"
output = Utils::Curl.curl_output("--fail", api_url)
end
raise ArgumentError, "No file found at #{Tty.underline}#{api_url}#{Tty.reset}" unless output.success?
raise ArgumentError, "No file found at: #{Tty.underline}#{api_url}#{Tty.reset}" unless output.success?
cache[endpoint] = JSON.parse(output.stdout, freeze: true)
rescue JSON::ParserError
raise ArgumentError, "Invalid JSON file: #{Tty.underline}#{api_url}#{Tty.reset}"
end
sig { params(target: Pathname, stale_seconds: T.nilable(Integer)).returns(T::Boolean) }
def self.skip_download?(target:, stale_seconds:)
return true if Homebrew.running_as_root_but_not_owned_by_root?
return false if !target.exist? || target.empty?
return true unless stale_seconds
(Time.now - stale_seconds) < target.mtime
end
sig {
params(endpoint: String, target: Pathname, stale_seconds: Integer).returns([T.any(Array, Hash), T::Boolean])
params(
endpoint: String,
target: Pathname,
stale_seconds: T.nilable(Integer),
download_queue: T.nilable(DownloadQueue),
).returns([T.any(T::Array[T.untyped], T::Hash[String, T.untyped]), T::Boolean])
}
def self.fetch_json_api_file(endpoint, target: HOMEBREW_CACHE_API/endpoint,
stale_seconds: Homebrew::EnvConfig.api_auto_update_secs.to_i)
stale_seconds: nil, download_queue: nil)
# Lazy-load dependency.
require "development_tools"
@ -57,12 +76,16 @@ module Homebrew
insecure_download = DevelopmentTools.ca_file_substitution_required? ||
DevelopmentTools.curl_substitution_required?
skip_download = target.exist? &&
!target.empty? &&
(!Homebrew.auto_update_command? ||
(Homebrew::EnvConfig.no_auto_update? && !Homebrew::EnvConfig.force_api_auto_update?) ||
((Time.now - stale_seconds) < target.mtime))
skip_download ||= Homebrew.running_as_root_but_not_owned_by_root?
skip_download = skip_download?(target:, stale_seconds:)
if download_queue
unless skip_download
require "api/json_download"
download = Homebrew::API::JSONDownload.new(endpoint, target:, stale_seconds:)
download_queue.enqueue(download)
end
return [{}, false]
end
json_data = begin
begin
@ -96,7 +119,8 @@ module Homebrew
mtime = insecure_download ? Time.new(1970, 1, 1) : Time.now
FileUtils.touch(target, mtime:) unless skip_download
JSON.parse(target.read, freeze: true)
# Can use `target.read` again when/if https://github.com/sorbet/sorbet/pull/8999 is merged/released.
JSON.parse(File.read(target, encoding: Encoding::UTF_8), freeze: true)
rescue JSON::ParserError
target.unlink
retry_count += 1
@ -122,24 +146,76 @@ module Homebrew
end
end
sig { params(json: Hash).returns(Hash) }
def self.merge_variations(json)
sig {
params(json: T::Hash[String, T.untyped],
bottle_tag: ::Utils::Bottles::Tag).returns(T::Hash[String, T.untyped])
}
def self.merge_variations(json, bottle_tag: T.unsafe(nil))
return json unless json.key?("variations")
bottle_tag = ::Utils::Bottles::Tag.new(system: Homebrew::SimulateSystem.current_os,
arch: Homebrew::SimulateSystem.current_arch)
bottle_tag ||= Homebrew::SimulateSystem.current_tag
if (variation = json.dig("variations", bottle_tag.to_s).presence)
if (variation = json.dig("variations", bottle_tag.to_s).presence) ||
(variation = json.dig("variations", bottle_tag.to_sym).presence)
json = json.merge(variation)
end
json.except("variations")
end
sig { void }
def self.fetch_api_files!
download_queue = if Homebrew::EnvConfig.download_concurrency > 1
require "download_queue"
Homebrew::DownloadQueue.new
end
stale_seconds = if ENV["HOMEBREW_API_UPDATED"].present? ||
(Homebrew::EnvConfig.no_auto_update? && !Homebrew::EnvConfig.force_api_auto_update?)
nil
elsif Homebrew.auto_update_command?
Homebrew::EnvConfig.api_auto_update_secs.to_i
else
DEFAULT_API_STALE_SECONDS
end
if Homebrew::EnvConfig.use_internal_api?
Homebrew::API::Internal.fetch_formula_api!(download_queue:, stale_seconds:)
Homebrew::API::Internal.fetch_cask_api!(download_queue:, stale_seconds:)
else
Homebrew::API::Formula.fetch_api!(download_queue:, stale_seconds:)
Homebrew::API::Formula.fetch_tap_migrations!(download_queue:, stale_seconds: DEFAULT_API_STALE_SECONDS)
Homebrew::API::Cask.fetch_api!(download_queue:, stale_seconds:)
Homebrew::API::Cask.fetch_tap_migrations!(download_queue:, stale_seconds: DEFAULT_API_STALE_SECONDS)
end
ENV["HOMEBREW_API_UPDATED"] = "1"
return unless download_queue
begin
download_queue.fetch
ensure
download_queue.shutdown
end
end
sig { void }
def self.write_names_and_aliases
if Homebrew::EnvConfig.use_internal_api?
Homebrew::API::Internal.write_formula_names_and_aliases
Homebrew::API::Internal.write_cask_names
else
Homebrew::API::Formula.write_names_and_aliases
Homebrew::API::Cask.write_names
end
end
sig { params(names: T::Array[String], type: String, regenerate: T::Boolean).returns(T::Boolean) }
def self.write_names_file(names, type, regenerate:)
def self.write_names_file!(names, type, regenerate:)
names_path = HOMEBREW_CACHE_API/"#{type}_names.txt"
if !names_path.exist? || regenerate
names_path.unlink if names_path.exist?
names_path.write(names.join("\n"))
return true
end
@ -147,7 +223,25 @@ module Homebrew
false
end
sig { params(json_data: Hash).returns([T::Boolean, T.any(String, Array, Hash)]) }
sig { params(aliases: T::Hash[String, String], type: String, regenerate: T::Boolean).returns(T::Boolean) }
def self.write_aliases_file!(aliases, type, regenerate:)
aliases_path = HOMEBREW_CACHE_API/"#{type}_aliases.txt"
if !aliases_path.exist? || regenerate
aliases_text = aliases.map do |alias_name, real_name|
"#{alias_name}|#{real_name}"
end
aliases_path.unlink if aliases_path.exist?
aliases_path.write(aliases_text.join("\n"))
return true
end
false
end
sig {
params(json_data: T::Hash[String, T.untyped])
.returns([T::Boolean, T.any(String, T::Array[T.untyped], T::Hash[String, T.untyped])])
}
private_class_method def self.verify_and_parse_jws(json_data)
signatures = json_data["signatures"]
homebrew_signature = signatures&.find { |sig| sig.dig("header", "kid") == "homebrew-1" }
@ -185,9 +279,67 @@ module Homebrew
Tap.fetch(org, repo)
end
sig { returns(T::Boolean) }
def self.internal_json_v3?
ENV["HOMEBREW_INTERNAL_JSON_V3"].present?
sig { returns(T::Array[String]) }
def self.formula_names
if Homebrew::EnvConfig.use_internal_api?
Homebrew::API::Internal.formula_arrays.keys
else
Homebrew::API::Formula.all_formulae.keys
end
end
sig { returns(T::Hash[String, String]) }
def self.formula_aliases
if Homebrew::EnvConfig.use_internal_api?
Homebrew::API::Internal.formula_aliases
else
Homebrew::API::Formula.all_aliases
end
end
sig { returns(T::Hash[String, String]) }
def self.formula_renames
if Homebrew::EnvConfig.use_internal_api?
Homebrew::API::Internal.formula_renames
else
Homebrew::API::Formula.all_renames
end
end
sig { returns(T::Hash[String, String]) }
def self.formula_tap_migrations
if Homebrew::EnvConfig.use_internal_api?
Homebrew::API::Internal.formula_tap_migrations
else
Homebrew::API::Formula.tap_migrations
end
end
sig { returns(T::Array[String]) }
def self.cask_tokens
if Homebrew::EnvConfig.use_internal_api?
Homebrew::API::Internal.cask_hashes.keys
else
Homebrew::API::Cask.all_casks.keys
end
end
sig { returns(T::Hash[String, String]) }
def self.cask_renames
if Homebrew::EnvConfig.use_internal_api?
Homebrew::API::Internal.cask_renames
else
Homebrew::API::Cask.all_renames
end
end
sig { returns(T::Hash[String, String]) }
def self.cask_tap_migrations
if Homebrew::EnvConfig.use_internal_api?
Homebrew::API::Internal.cask_tap_migrations
else
Homebrew::API::Cask.tap_migrations
end
end
end

View File

@ -10,7 +10,6 @@ module Homebrew
def analytics_api_path
"analytics"
end
alias generic_analytics_api_path analytics_api_path
sig { params(category: String, days: T.any(Integer, String)).returns(T::Hash[String, T.untyped]) }
def fetch(category, days)

View File

@ -1,8 +1,10 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# typed: strict
# frozen_string_literal: true
require "extend/cachable"
require "api/download"
require "cachable"
require "api"
require "api/source_download"
require "download_queue"
module Homebrew
module API
@ -14,20 +16,34 @@ module Homebrew
private_class_method :cache
sig { params(token: String).returns(Hash) }
def self.fetch(token)
Homebrew::API.fetch "cask/#{token}.json"
sig { params(name: String).returns(T::Hash[String, T.untyped]) }
def self.cask_json(name)
fetch_cask_json! name if !cache.key?("cask_json") || !cache.fetch("cask_json").key?(name)
cache.fetch("cask_json").fetch(name)
end
sig { params(cask: ::Cask::Cask).returns(::Cask::Cask) }
def self.source_download(cask)
path = cask.ruby_source_path.to_s || "Casks/#{cask.token}.rb"
sig { params(name: String, download_queue: T.nilable(DownloadQueue)).void }
def self.fetch_cask_json!(name, download_queue: nil)
endpoint = "cask/#{name}.json"
json_cask, updated = Homebrew::API.fetch_json_api_file endpoint, download_queue: download_queue
return if download_queue
json_cask = JSON.parse((HOMEBREW_CACHE_API/endpoint).read) unless updated
cache["cask_json"] ||= {}
cache["cask_json"][name] = json_cask
end
sig { params(cask: ::Cask::Cask, download_queue: T.nilable(Homebrew::DownloadQueue)).returns(Homebrew::API::SourceDownload) }
def self.source_download(cask, download_queue: nil)
path = cask.ruby_source_path.to_s
sha256 = cask.ruby_source_checksum[:sha256]
checksum = Checksum.new(sha256) if sha256
git_head = cask.tap_git_head || "HEAD"
tap = cask.tap&.full_name || "Homebrew/homebrew-cask"
download = Homebrew::API::Download.new(
download = Homebrew::API::SourceDownload.new(
"https://raw.githubusercontent.com/#{tap}/#{git_head}/#{path}",
checksum,
mirrors: [
@ -35,18 +51,48 @@ module Homebrew
],
cache: HOMEBREW_CACHE_API_SOURCE/"#{tap}/#{git_head}/Cask",
)
download.fetch
if download_queue
download_queue.enqueue(download)
elsif !download.symlink_location.exist?
download.fetch
end
download
end
sig { params(cask: ::Cask::Cask).returns(::Cask::Cask) }
def self.source_download_cask(cask)
download = source_download(cask)
::Cask::CaskLoader::FromPathLoader.new(download.symlink_location)
.load(config: cask.config)
end
sig { returns(Pathname) }
def self.cached_json_file_path
HOMEBREW_CACHE_API/DEFAULT_API_FILENAME
end
sig {
params(download_queue: T.nilable(::Homebrew::DownloadQueue), stale_seconds: T.nilable(Integer))
.returns([T.any(T::Array[T.untyped], T::Hash[String, T.untyped]), T::Boolean])
}
def self.fetch_api!(download_queue: nil, stale_seconds: nil)
Homebrew::API.fetch_json_api_file DEFAULT_API_FILENAME, stale_seconds:, download_queue:
end
sig {
params(download_queue: T.nilable(::Homebrew::DownloadQueue), stale_seconds: T.nilable(Integer))
.returns([T.any(T::Array[T.untyped], T::Hash[String, T.untyped]), T::Boolean])
}
def self.fetch_tap_migrations!(download_queue: nil, stale_seconds: nil)
Homebrew::API.fetch_json_api_file "cask_tap_migrations.jws.json", stale_seconds:, download_queue:
end
sig { returns(T::Boolean) }
def self.download_and_cache_data!
json_casks, updated = Homebrew::API.fetch_json_api_file DEFAULT_API_FILENAME
json_casks, updated = fetch_api!
cache["renames"] = {}
cache["casks"] = json_casks.to_h do |json_cask|
@ -63,7 +109,7 @@ module Homebrew
end
private_class_method :download_and_cache_data!
sig { returns(T::Hash[String, Hash]) }
sig { returns(T::Hash[String, T::Hash[String, T.untyped]]) }
def self.all_casks
unless cache.key?("casks")
json_updated = download_and_cache_data!
@ -83,11 +129,21 @@ module Homebrew
cache.fetch("renames")
end
sig { returns(T::Hash[String, T.untyped]) }
def self.tap_migrations
unless cache.key?("tap_migrations")
json_migrations, = fetch_tap_migrations!
cache["tap_migrations"] = json_migrations
end
cache.fetch("tap_migrations")
end
sig { params(regenerate: T::Boolean).void }
def self.write_names(regenerate: false)
download_and_cache_data! unless cache.key?("casks")
Homebrew::API.write_names_file(all_casks.keys, "cask", regenerate:)
Homebrew::API.write_names_file!(all_casks.keys, "cask", regenerate:)
end
end
end

View File

@ -1,8 +1,10 @@
# typed: strict
# frozen_string_literal: true
require "extend/cachable"
require "api/download"
require "cachable"
require "api"
require "api/source_download"
require "download_queue"
module Homebrew
module API
@ -11,29 +13,54 @@ module Homebrew
extend Cachable
DEFAULT_API_FILENAME = "formula.jws.json"
INTERNAL_V3_API_FILENAME = "internal/v3/homebrew-core.jws.json"
private_class_method :cache
sig { params(name: String).returns(T::Hash[String, T.untyped]) }
def self.fetch(name)
Homebrew::API.fetch "formula/#{name}.json"
def self.formula_json(name)
fetch_formula_json! name if !cache.key?("formula_json") || !cache.fetch("formula_json").key?(name)
cache.fetch("formula_json").fetch(name)
end
sig { params(formula: ::Formula).returns(::Formula) }
def self.source_download(formula)
sig { params(name: String, download_queue: T.nilable(DownloadQueue)).void }
def self.fetch_formula_json!(name, download_queue: nil)
endpoint = "formula/#{name}.json"
json_formula, updated = Homebrew::API.fetch_json_api_file endpoint, download_queue: download_queue
return if download_queue
json_formula = JSON.parse((HOMEBREW_CACHE_API/endpoint).read) unless updated
cache["formula_json"] ||= {}
cache["formula_json"][name] = json_formula
end
sig { params(formula: ::Formula, download_queue: T.nilable(Homebrew::DownloadQueue)).returns(Homebrew::API::SourceDownload) }
def self.source_download(formula, download_queue: nil)
path = formula.ruby_source_path || "Formula/#{formula.name}.rb"
git_head = formula.tap_git_head || "HEAD"
tap = formula.tap&.full_name || "Homebrew/homebrew-core"
download = Homebrew::API::Download.new(
download = Homebrew::API::SourceDownload.new(
"https://raw.githubusercontent.com/#{tap}/#{git_head}/#{path}",
formula.ruby_source_checksum,
cache: HOMEBREW_CACHE_API_SOURCE/"#{tap}/#{git_head}/Formula",
)
download.fetch
with_env(HOMEBREW_FORBID_PACKAGES_FROM_PATHS: nil) do
if download_queue
download_queue.enqueue(download)
elsif !download.symlink_location.exist?
download.fetch
end
download
end
sig { params(formula: ::Formula).returns(::Formula) }
def self.source_download_formula(formula)
download = source_download(formula)
with_env(HOMEBREW_INTERNAL_ALLOW_PACKAGES_FROM_PATHS: "1") do
Formulary.factory(download.symlink_location,
formula.active_spec_sym,
alias_path: formula.alias_path,
@ -43,33 +70,40 @@ module Homebrew
sig { returns(Pathname) }
def self.cached_json_file_path
if Homebrew::API.internal_json_v3?
HOMEBREW_CACHE_API/INTERNAL_V3_API_FILENAME
else
HOMEBREW_CACHE_API/DEFAULT_API_FILENAME
end
HOMEBREW_CACHE_API/DEFAULT_API_FILENAME
end
sig {
params(download_queue: T.nilable(Homebrew::DownloadQueue), stale_seconds: T.nilable(Integer))
.returns([T.any(T::Array[T.untyped], T::Hash[String, T.untyped]), T::Boolean])
}
def self.fetch_api!(download_queue: nil, stale_seconds: nil)
Homebrew::API.fetch_json_api_file DEFAULT_API_FILENAME, stale_seconds:, download_queue:
end
sig {
params(download_queue: T.nilable(Homebrew::DownloadQueue), stale_seconds: T.nilable(Integer))
.returns([T.any(T::Array[T.untyped], T::Hash[String, T.untyped]), T::Boolean])
}
def self.fetch_tap_migrations!(download_queue: nil, stale_seconds: nil)
Homebrew::API.fetch_json_api_file "formula_tap_migrations.jws.json", stale_seconds:, download_queue:
end
sig { returns(T::Boolean) }
def self.download_and_cache_data!
if Homebrew::API.internal_json_v3?
json_formulae, updated = Homebrew::API.fetch_json_api_file INTERNAL_V3_API_FILENAME
overwrite_cache! T.cast(json_formulae, T::Hash[String, T.untyped])
else
json_formulae, updated = Homebrew::API.fetch_json_api_file DEFAULT_API_FILENAME
json_formulae, updated = fetch_api!
cache["aliases"] = {}
cache["renames"] = {}
cache["formulae"] = json_formulae.to_h do |json_formula|
json_formula["aliases"].each do |alias_name|
cache["aliases"][alias_name] = json_formula["name"]
end
(json_formula["oldnames"] || [json_formula["oldname"]].compact).each do |oldname|
cache["renames"][oldname] = json_formula["name"]
end
[json_formula["name"], json_formula.except("name")]
cache["aliases"] = {}
cache["renames"] = {}
cache["formulae"] = json_formulae.to_h do |json_formula|
json_formula["aliases"].each do |alias_name|
cache["aliases"][alias_name] = json_formula["name"]
end
(json_formula["oldnames"] || [json_formula["oldname"]].compact).each do |oldname|
cache["renames"][oldname] = json_formula["name"]
end
[json_formula["name"], json_formula.except("name")]
end
updated
@ -83,7 +117,7 @@ module Homebrew
write_names_and_aliases(regenerate: json_updated)
end
cache["formulae"]
cache.fetch("formulae")
end
sig { returns(T::Hash[String, String]) }
@ -93,7 +127,7 @@ module Homebrew
write_names_and_aliases(regenerate: json_updated)
end
cache["aliases"]
cache.fetch("aliases")
end
sig { returns(T::Hash[String, String]) }
@ -103,42 +137,25 @@ module Homebrew
write_names_and_aliases(regenerate: json_updated)
end
cache["renames"]
cache.fetch("renames")
end
sig { returns(T::Hash[String, T.untyped]) }
def self.tap_migrations
# Not sure that we need to reload here.
unless cache.key?("tap_migrations")
json_updated = download_and_cache_data!
write_names_and_aliases(regenerate: json_updated)
json_migrations, = fetch_tap_migrations!
cache["tap_migrations"] = json_migrations
end
cache["tap_migrations"]
end
sig { returns(String) }
def self.tap_git_head
# Note sure we need to reload here.
unless cache.key?("tap_git_head")
json_updated = download_and_cache_data!
write_names_and_aliases(regenerate: json_updated)
end
cache["tap_git_head"]
cache.fetch("tap_migrations")
end
sig { params(regenerate: T::Boolean).void }
def self.write_names_and_aliases(regenerate: false)
download_and_cache_data! unless cache.key?("formulae")
return unless Homebrew::API.write_names_file(all_formulae.keys, "formula", regenerate:)
(HOMEBREW_CACHE_API/"formula_aliases.txt").open("w") do |file|
all_aliases.each do |alias_name, real_name|
file.puts "#{alias_name}|#{real_name}"
end
end
Homebrew::API.write_names_file!(all_formulae.keys, "formula", regenerate:)
Homebrew::API.write_aliases_file!(all_aliases, "formula", regenerate:)
end
end
end

View File

@ -0,0 +1,187 @@
# typed: strict
# frozen_string_literal: true
require "cachable"
require "api"
require "api/source_download"
require "download_queue"
require "formula_stub"
module Homebrew
module API
# Helper functions for using the JSON internal API.
module Internal
extend Cachable
private_class_method :cache
sig { returns(String) }
def self.formula_endpoint
"internal/formula.#{SimulateSystem.current_tag}.jws.json"
end
sig { returns(String) }
def self.cask_endpoint
"internal/cask.#{SimulateSystem.current_tag}.jws.json"
end
sig { params(name: String).returns(Homebrew::FormulaStub) }
def self.formula_stub(name)
return cache["formula_stubs"][name] if cache.key?("formula_stubs") && cache["formula_stubs"].key?(name)
stub_array = formula_arrays[name]
raise "No formula stub found for #{name}" unless stub_array
aliases = formula_aliases.filter_map do |alias_name, original_name|
alias_name if original_name == name
end
oldnames = formula_renames.filter_map do |oldname, newname|
oldname if newname == name
end
stub = Homebrew::FormulaStub.new(
name: name,
pkg_version: PkgVersion.parse(stub_array[0]),
rebuild: stub_array[1],
sha256: stub_array[2],
aliases:,
oldnames:,
)
cache["formula_stubs"] ||= {}
cache["formula_stubs"][name] = stub
stub
end
sig {
params(download_queue: T.nilable(Homebrew::DownloadQueue), stale_seconds: T.nilable(Integer))
.returns([T::Hash[String, T.untyped], T::Boolean])
}
def self.fetch_formula_api!(download_queue: nil, stale_seconds: nil)
json_contents, updated = Homebrew::API.fetch_json_api_file(formula_endpoint, stale_seconds:, download_queue:)
[T.cast(json_contents, T::Hash[String, T.untyped]), updated]
end
sig {
params(download_queue: T.nilable(Homebrew::DownloadQueue), stale_seconds: T.nilable(Integer))
.returns([T::Hash[String, T.untyped], T::Boolean])
}
def self.fetch_cask_api!(download_queue: nil, stale_seconds: nil)
json_contents, updated = Homebrew::API.fetch_json_api_file(cask_endpoint, stale_seconds:, download_queue:)
[T.cast(json_contents, T::Hash[String, T.untyped]), updated]
end
sig { returns(T::Boolean) }
def self.download_and_cache_formula_data!
json_contents, updated = fetch_formula_api!
cache["formula_stubs"] = {}
cache["formula_aliases"] = json_contents["aliases"]
cache["formula_renames"] = json_contents["renames"]
cache["formula_tap_migrations"] = json_contents["tap_migrations"]
cache["formula_arrays"] = json_contents["formulae"]
updated
end
private_class_method :download_and_cache_formula_data!
sig { returns(T::Boolean) }
def self.download_and_cache_cask_data!
json_contents, updated = fetch_cask_api!
cache["cask_stubs"] = {}
cache["cask_renames"] = json_contents["renames"]
cache["cask_tap_migrations"] = json_contents["tap_migrations"]
cache["cask_hashes"] = json_contents["casks"]
updated
end
private_class_method :download_and_cache_cask_data!
sig { params(regenerate: T::Boolean).void }
def self.write_formula_names_and_aliases(regenerate: false)
download_and_cache_formula_data! unless cache.key?("formula_arrays")
Homebrew::API.write_names_file!(formula_arrays.keys, "formula", regenerate:)
Homebrew::API.write_aliases_file!(formula_aliases, "formula", regenerate:)
end
sig { params(regenerate: T::Boolean).void }
def self.write_cask_names(regenerate: false)
download_and_cache_cask_data! unless cache.key?("cask_hashes")
Homebrew::API.write_names_file!(cask_hashes.keys, "cask", regenerate:)
end
sig { returns(T::Hash[String, [String, Integer, T.nilable(String)]]) }
def self.formula_arrays
unless cache.key?("formula_arrays")
updated = download_and_cache_formula_data!
write_formula_names_and_aliases(regenerate: updated)
end
cache["formula_arrays"]
end
sig { returns(T::Hash[String, String]) }
def self.formula_aliases
unless cache.key?("formula_aliases")
updated = download_and_cache_formula_data!
write_formula_names_and_aliases(regenerate: updated)
end
cache["formula_aliases"]
end
sig { returns(T::Hash[String, String]) }
def self.formula_renames
unless cache.key?("formula_renames")
updated = download_and_cache_formula_data!
write_formula_names_and_aliases(regenerate: updated)
end
cache["formula_renames"]
end
sig { returns(T::Hash[String, String]) }
def self.formula_tap_migrations
unless cache.key?("formula_tap_migrations")
updated = download_and_cache_formula_data!
write_formula_names_and_aliases(regenerate: updated)
end
cache["formula_tap_migrations"]
end
sig { returns(T::Hash[String, T::Hash[String, T.untyped]]) }
def self.cask_hashes
unless cache.key?("cask_hashes")
updated = download_and_cache_cask_data!
write_cask_names(regenerate: updated)
end
cache["cask_hashes"]
end
sig { returns(T::Hash[String, String]) }
def self.cask_renames
unless cache.key?("cask_renames")
updated = download_and_cache_cask_data!
write_cask_names(regenerate: updated)
end
cache["cask_renames"]
end
sig { returns(T::Hash[String, String]) }
def self.cask_tap_migrations
unless cache.key?("cask_tap_migrations")
updated = download_and_cache_cask_data!
write_cask_names(regenerate: updated)
end
cache["cask_tap_migrations"]
end
end
end
end

View File

@ -0,0 +1,50 @@
# typed: strict
# frozen_string_literal: true
require "downloadable"
module Homebrew
module API
class JSONDownloadStrategy < AbstractDownloadStrategy
sig { params(url: String, name: String, version: T.any(NilClass, String, Version), meta: T.untyped).void }
def initialize(url, name, version, **meta)
super
@target = T.let(meta.fetch(:target), Pathname)
@stale_seconds = T.let(meta[:stale_seconds], T.nilable(Integer))
end
sig { override.params(timeout: T.nilable(T.any(Integer, Float))).returns(Pathname) }
def fetch(timeout: nil)
with_context quiet: quiet? do
Homebrew::API.fetch_json_api_file(url, target: cached_location, stale_seconds: meta[:stale_seconds])
end
cached_location
end
sig { override.returns(Pathname) }
def cached_location
meta.fetch(:target)
end
end
class JSONDownload
include Downloadable
sig { params(url: String, target: Pathname, stale_seconds: T.nilable(Integer)).void }
def initialize(url, target:, stale_seconds:)
super()
@url = T.let(URL.new(url, using: API::JSONDownloadStrategy, target:, stale_seconds:), URL)
@target = target
@stale_seconds = stale_seconds
end
sig { override.returns(API::JSONDownloadStrategy) }
def downloader
T.cast(super, API::JSONDownloadStrategy)
end
sig { override.returns(String) }
def download_queue_type = "JSON API"
end
end
end

View File

@ -5,14 +5,14 @@ require "downloadable"
module Homebrew
module API
class DownloadStrategy < CurlDownloadStrategy
class SourceDownloadStrategy < CurlDownloadStrategy
sig { override.returns(Pathname) }
def symlink_location
cache/name
end
end
class Download
class SourceDownload
include Downloadable
sig {
@ -25,26 +25,19 @@ module Homebrew
}
def initialize(url, checksum, mirrors: [], cache: nil)
super()
@url = T.let(URL.new(url, using: API::DownloadStrategy), URL)
@url = T.let(URL.new(url, using: API::SourceDownloadStrategy), URL)
@checksum = checksum
@mirrors = mirrors
@cache = cache
end
sig { override.returns(API::DownloadStrategy) }
sig { override.returns(API::SourceDownloadStrategy) }
def downloader
T.cast(super, API::DownloadStrategy)
T.cast(super, API::SourceDownloadStrategy)
end
sig { override.returns(String) }
def name
download_name
end
sig { override.returns(String) }
def download_type
"API source"
end
def download_queue_type = "API Source"
sig { override.returns(Pathname) }
def cache

View File

@ -1,22 +1,26 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# typed: strict
# frozen_string_literal: true
# Used to substitute common paths with generic placeholders when generating JSON for the API.
module APIHashable
sig { void }
def generating_hash!
return if generating_hash?
# Apply monkeypatches for API generation
@old_homebrew_prefix = HOMEBREW_PREFIX
@old_homebrew_cellar = HOMEBREW_CELLAR
@old_home = Dir.home
@old_homebrew_prefix = T.let(HOMEBREW_PREFIX, T.nilable(Pathname))
@old_homebrew_cellar = T.let(HOMEBREW_CELLAR, T.nilable(Pathname))
@old_home = T.let(Dir.home, T.nilable(String))
@old_git_config_global = T.let(ENV.fetch("GIT_CONFIG_GLOBAL", nil), T.nilable(String))
Object.send(:remove_const, :HOMEBREW_PREFIX)
Object.const_set(:HOMEBREW_PREFIX, Pathname.new(HOMEBREW_PREFIX_PLACEHOLDER))
ENV["HOME"] = HOMEBREW_HOME_PLACEHOLDER
ENV["GIT_CONFIG_GLOBAL"] = File.join(@old_home, ".gitconfig")
@generating_hash = true
@generating_hash = T.let(true, T.nilable(T::Boolean))
end
sig { void }
def generated_hash!
return unless generating_hash?
@ -24,10 +28,12 @@ module APIHashable
Object.send(:remove_const, :HOMEBREW_PREFIX)
Object.const_set(:HOMEBREW_PREFIX, @old_homebrew_prefix)
ENV["HOME"] = @old_home
ENV["GIT_CONFIG_GLOBAL"] = @old_git_config_global
@generating_hash = false
end
sig { returns(T::Boolean) }
def generating_hash?
@generating_hash ||= false
@generating_hash == true

View File

@ -17,7 +17,8 @@ FORMULA_COMPONENT_PRECEDENCE_LIST = T.let([
[{ name: :head, type: :method_call }],
[{ name: :stable, type: :block_call }],
[{ name: :livecheck, type: :block_call }],
[{ name: :bottle, type: :block_call }],
[{ name: :no_autobump!, type: :method_call }],
[{ name: :bottle, type: :block_call }],
[{ name: :pour_bottle?, type: :block_call }],
[{ name: :head, type: :block_call }],
[{ name: :bottle, type: :method_call }],
@ -51,4 +52,4 @@ FORMULA_COMPONENT_PRECEDENCE_LIST = T.let([
[{ name: :caveats, type: :method_definition }],
[{ name: :plist_options, type: :method_call }, { name: :plist, type: :method_definition }],
[{ name: :test, type: :block_call }],
].freeze, T::Array[[{ name: Symbol, type: Symbol }]])
].freeze, T::Array[T::Array[{ name: Symbol, type: Symbol }]])

View File

@ -7,10 +7,12 @@ require "utils/popen"
require "utils/github/api"
require "exceptions"
require "system_command"
require "utils/output"
module Homebrew
module Attestation
extend SystemCommand::Mixin
extend Utils::Output::Mixin
# @api private
HOMEBREW_CORE_REPO = "Homebrew/homebrew-core"
@ -64,12 +66,8 @@ module Homebrew
sig { returns(T::Boolean) }
def self.enabled?
return false if Homebrew::EnvConfig.no_verify_attestations?
return true if Homebrew::EnvConfig.verify_attestations?
return false if ENV.fetch("CI", false)
return false if OS.unsupported_configuration?
# Always check credentials last to avoid unnecessary credential extraction.
(Homebrew::EnvConfig.developer? || Homebrew::EnvConfig.devcmdrun?) && GitHub::API.credentials.present?
Homebrew::EnvConfig.verify_attestations?
end
# Returns a path to a suitable `gh` executable for attestation verification.
@ -226,7 +224,7 @@ module Homebrew
attestation = check_attestation bottle, HOMEBREW_CORE_REPO
return attestation
rescue MissingAttestationError
odebug "falling back on backfilled attestation for #{bottle}"
odebug "falling back on backfilled attestation for #{bottle.filename}"
# Our backfilled attestation is a little unique: the subject is not just the bottle
# filename, but also has the bottle's hosted URL hash prepended to it.

View File

@ -1,30 +0,0 @@
# typed: strict
# frozen_string_literal: true
# This module provides methods to define specialized attributes.
# Method stubs are generated by the {Tapioca::Compilers::Attrables} compiler.
# @note The compiler is fragile, and must be updated if the filename changes, if methods are added or removed,
# or if a method's arity changes.
module Attrable
extend T::Helpers
requires_ancestor { Module }
sig { params(attrs: Symbol).void }
def attr_predicate(*attrs)
attrs.each do |attr|
define_method attr do
instance_variable_get("@#{attr.to_s.sub(/\?$/, "")}") == true
end
end
end
sig { params(attrs: Symbol).void }
def attr_rw(*attrs)
attrs.each do |attr|
define_method attr do |val = nil|
val.nil? ? instance_variable_get(:"@#{attr}") : instance_variable_set(:"@#{attr}", val)
end
end
end
end

View File

@ -0,0 +1,15 @@
# typed: strict
# frozen_string_literal: true
NO_AUTOBUMP_REASONS_INTERNAL = T.let({
extract_plist: "livecheck uses `:extract_plist` strategy",
latest_version: "`version` is set to `:latest`",
}.freeze, T::Hash[Symbol, String])
# The valid symbols for passing to `no_autobump!` in a `Formula` or `Cask`.
# @api public
NO_AUTOBUMP_REASONS_LIST = T.let({
incompatible_version_format: "the package has a version format that can only be updated manually",
bumped_by_upstream: "updates to the package are handled by the upstream developers",
requires_manual_review: "a manual review of this package is required for inclusion in autobump",
}.merge(NO_AUTOBUMP_REASONS_INTERNAL).freeze, T::Hash[Symbol, String])

225
Library/Homebrew/bottle.rb Normal file
View File

@ -0,0 +1,225 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
class Bottle
include Downloadable
class Filename
attr_reader :name, :version, :tag, :rebuild
sig { params(formula: Formula, tag: Utils::Bottles::Tag, rebuild: Integer).returns(T.attached_class) }
def self.create(formula, tag, rebuild)
new(formula.name, formula.pkg_version, tag, rebuild)
end
sig { params(name: String, version: PkgVersion, tag: Utils::Bottles::Tag, rebuild: Integer).void }
def initialize(name, version, tag, rebuild)
@name = File.basename name
raise ArgumentError, "Invalid bottle name" unless Utils.safe_filename?(@name)
raise ArgumentError, "Invalid bottle version" unless Utils.safe_filename?(version.to_s)
@version = version
@tag = tag.to_unstandardized_sym.to_s
@rebuild = rebuild
end
sig { returns(String) }
def to_str
"#{name}--#{version}#{extname}"
end
sig { returns(String) }
def to_s = to_str
sig { returns(String) }
def json
"#{name}--#{version}.#{tag}.bottle.json"
end
def url_encode
ERB::Util.url_encode("#{name}-#{version}#{extname}")
end
def github_packages
"#{name}--#{version}#{extname}"
end
sig { returns(String) }
def extname
s = rebuild.positive? ? ".#{rebuild}" : ""
".#{tag}.bottle#{s}.tar.gz"
end
end
extend Forwardable
attr_reader :name, :resource, :tag, :cellar, :rebuild
def_delegators :resource, :url, :verify_download_integrity
def_delegators :resource, :cached_download, :downloader
def initialize(formula, spec, tag = nil)
super()
@name = formula.name
@resource = Resource.new
@resource.owner = formula
@spec = spec
tag_spec = spec.tag_specification_for(Utils::Bottles.tag(tag))
@tag = tag_spec.tag
@cellar = tag_spec.cellar
@rebuild = spec.rebuild
@resource.version(formula.pkg_version.to_s)
@resource.checksum = tag_spec.checksum
@fetch_tab_retried = false
root_url(spec.root_url, spec.root_url_specs)
end
sig {
override.params(
verify_download_integrity: T::Boolean,
timeout: T.nilable(T.any(Integer, Float)),
quiet: T.nilable(T::Boolean),
).returns(Pathname)
}
def fetch(verify_download_integrity: true, timeout: nil, quiet: false)
resource.fetch(verify_download_integrity:, timeout:, quiet:)
rescue DownloadError
raise unless fallback_on_error?
fetch_tab
retry
end
sig { override.void }
def clear_cache
@resource.clear_cache
github_packages_manifest_resource&.clear_cache
@fetch_tab_retried = false
end
def compatible_locations?
@spec.compatible_locations?(tag: @tag)
end
# Does the bottle need to be relocated?
def skip_relocation?
@spec.skip_relocation?(tag: @tag)
end
def stage = downloader.stage
def fetch_tab(timeout: nil, quiet: false)
return unless (resource = github_packages_manifest_resource)
begin
resource.fetch(timeout:, quiet:)
rescue DownloadError
raise unless fallback_on_error?
retry
rescue Resource::BottleManifest::Error
raise if @fetch_tab_retried
@fetch_tab_retried = true
resource.clear_cache
retry
end
end
def tab_attributes
if (resource = github_packages_manifest_resource) && resource.downloaded?
return resource.tab
end
{}
end
sig { returns(T.nilable(Integer)) }
def bottle_size
resource = github_packages_manifest_resource
return unless resource&.downloaded?
resource.bottle_size
end
sig { returns(T.nilable(Integer)) }
def installed_size
resource = github_packages_manifest_resource
return unless resource&.downloaded?
resource.installed_size
end
sig { returns(Filename) }
def filename
Filename.create(resource.owner, @tag, @spec.rebuild)
end
sig { returns(T.nilable(Resource::BottleManifest)) }
def github_packages_manifest_resource
return if @resource.download_strategy != CurlGitHubPackagesDownloadStrategy
@github_packages_manifest_resource ||= begin
resource = Resource::BottleManifest.new(self)
version_rebuild = GitHubPackages.version_rebuild(@resource.version, rebuild)
resource.version(version_rebuild)
image_name = GitHubPackages.image_formula_name(@name)
image_tag = GitHubPackages.image_version_rebuild(version_rebuild)
resource.url(
"#{root_url}/#{image_name}/manifests/#{image_tag}",
using: CurlGitHubPackagesDownloadStrategy,
headers: ["Accept: application/vnd.oci.image.index.v1+json"],
)
T.cast(resource.downloader, CurlGitHubPackagesDownloadStrategy).resolved_basename =
"#{name}-#{version_rebuild}.bottle_manifest.json"
resource
end
end
sig { override.returns(String) }
def download_queue_type = "Bottle"
sig { override.returns(String) }
def download_queue_name = "#{name} (#{resource.version})"
private
def select_download_strategy(specs)
specs[:using] ||= DownloadStrategyDetector.detect(@root_url)
specs[:bottle] = true
specs
end
def fallback_on_error?
# Use the default bottle domain as a fallback mirror
if @resource.url.start_with?(Homebrew::EnvConfig.bottle_domain) &&
Homebrew::EnvConfig.bottle_domain != HOMEBREW_BOTTLE_DEFAULT_DOMAIN
opoo "Bottle missing, falling back to the default domain..."
root_url(HOMEBREW_BOTTLE_DEFAULT_DOMAIN)
@github_packages_manifest_resource = nil
true
else
false
end
end
def root_url(val = nil, specs = {})
return @root_url if val.nil?
@root_url = val
filename = Filename.create(resource.owner, @tag, @spec.rebuild)
path, resolved_basename = Utils::Bottles.path_resolved_basename(val, name, resource.checksum, filename)
@resource.url("#{val}/#{path}", **select_download_strategy(specs))
@resource.downloader.resolved_basename = resolved_basename if resolved_basename.present?
end
end

View File

@ -0,0 +1,148 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
class BottleSpecification
RELOCATABLE_CELLARS = [:any, :any_skip_relocation].freeze
sig { returns(T.nilable(Tap)) }
attr_accessor :tap
attr_reader :collector
sig { returns(T::Hash[String, T.untyped]) }
attr_reader :root_url_specs
sig { returns(String) }
attr_reader :repository
sig { void }
def initialize
@rebuild = T.let(0, Integer)
@repository = T.let(Homebrew::DEFAULT_REPOSITORY, String)
@collector = T.let(Utils::Bottles::Collector.new, Utils::Bottles::Collector)
@root_url_specs = T.let({}, T::Hash[String, T.untyped])
@root_url = T.let(nil, T.nilable(String))
end
sig { params(val: Integer).returns(Integer) }
def rebuild(val = T.unsafe(nil))
val.nil? ? @rebuild : @rebuild = val
end
def root_url(var = nil, specs = {})
if var.nil?
@root_url ||= if (github_packages_url = GitHubPackages.root_url_if_match(Homebrew::EnvConfig.bottle_domain))
github_packages_url
else
Homebrew::EnvConfig.bottle_domain
end
else
@root_url = if (github_packages_url = GitHubPackages.root_url_if_match(var))
github_packages_url
else
var
end
@root_url_specs.merge!(specs)
end
end
def ==(other)
self.class == other.class && rebuild == other.rebuild && collector == other.collector &&
root_url == other.root_url && root_url_specs == other.root_url_specs && tap == other.tap
end
alias eql? ==
sig { params(tag: Utils::Bottles::Tag).returns(T.any(Symbol, String)) }
def tag_to_cellar(tag = Utils::Bottles.tag)
spec = collector.specification_for(tag)
if spec.present?
spec.cellar
else
tag.default_cellar
end
end
sig { params(tag: Utils::Bottles::Tag).returns(T::Boolean) }
def compatible_locations?(tag: Utils::Bottles.tag)
cellar = tag_to_cellar(tag)
return true if RELOCATABLE_CELLARS.include?(cellar)
prefix = Pathname(cellar.to_s).parent.to_s
cellar_relocatable = cellar.size >= HOMEBREW_CELLAR.to_s.size && ENV["HOMEBREW_RELOCATE_BUILD_PREFIX"].present?
prefix_relocatable = prefix.size >= HOMEBREW_PREFIX.to_s.size && ENV["HOMEBREW_RELOCATE_BUILD_PREFIX"].present?
compatible_cellar = cellar == HOMEBREW_CELLAR.to_s || cellar_relocatable
compatible_prefix = prefix == HOMEBREW_PREFIX.to_s || prefix_relocatable
compatible_cellar && compatible_prefix
end
# Does the {Bottle} this {BottleSpecification} belongs to need to be relocated?
sig { params(tag: Utils::Bottles::Tag).returns(T::Boolean) }
def skip_relocation?(tag: Utils::Bottles.tag)
spec = collector.specification_for(tag)
spec&.cellar == :any_skip_relocation
end
sig { params(tag: T.any(Symbol, Utils::Bottles::Tag), no_older_versions: T::Boolean).returns(T::Boolean) }
def tag?(tag, no_older_versions: false)
collector.tag?(tag, no_older_versions:)
end
# Checksum methods in the DSL's bottle block take
# a Hash, which indicates the platform the checksum applies on.
# Example bottle block syntax:
# bottle do
# sha256 cellar: :any_skip_relocation, big_sur: "69489ae397e4645..."
# sha256 cellar: :any, catalina: "449de5ea35d0e94..."
# end
def sha256(hash)
sha256_regex = /^[a-f0-9]{64}$/i
# find new `sha256 big_sur: "69489ae397e4645..."` format
tag, digest = hash.find do |key, value|
key.is_a?(Symbol) && value.is_a?(String) && value.match?(sha256_regex)
end
cellar = hash[:cellar] if digest && tag
tag = Utils::Bottles::Tag.from_symbol(tag)
cellar ||= tag.default_cellar
collector.add(tag, checksum: Checksum.new(digest), cellar:)
end
sig {
params(tag: Utils::Bottles::Tag, no_older_versions: T::Boolean)
.returns(T.nilable(Utils::Bottles::TagSpecification))
}
def tag_specification_for(tag, no_older_versions: false)
collector.specification_for(tag, no_older_versions:)
end
def checksums
tags = collector.tags.sort_by do |tag|
version = tag.to_macos_version
# Give `arm64` bottles a higher priority so they are first.
priority = (tag.arch == :arm64) ? 3 : 2
"#{priority}.#{version}_#{tag}"
rescue MacOSVersion::Error
# Sort non-macOS tags below macOS tags, and arm64 tags before other tags.
priority = (tag.arch == :arm64) ? 1 : 0
"#{priority}.#{tag}"
end
tags.reverse.map do |tag|
spec = collector.specification_for(tag)
{
"tag" => spec.tag.to_sym,
"digest" => spec.checksum,
"cellar" => spec.cellar,
}
end
end
end
require "extend/os/bottle_specification"

View File

@ -16,6 +16,7 @@ end
std_trap = trap("INT") { exit! 130 } # no backtrace thanks
require_relative "global"
require "utils/output"
begin
trap("INT", std_trap) # restore default CTRL-C handler
@ -88,6 +89,11 @@ begin
cmd_class = Homebrew::AbstractCommand.command(cmd)
Homebrew.running_command = cmd
if cmd_class
if !Homebrew::EnvConfig.no_install_from_api? && Homebrew::EnvConfig.download_concurrency > 1
require "api"
Homebrew::API.fetch_api_files!
end
command_instance = cmd_class.new
require "utils/analytics"
@ -100,14 +106,14 @@ begin
converted_cmd = cmd.downcase.tr("-", "_")
case_error = "undefined method `#{converted_cmd}' for module Homebrew"
private_method_error = "private method `#{converted_cmd}' called for module Homebrew"
odie "Unknown command: brew #{cmd}" if [case_error, private_method_error].include?(e.message)
Utils::Output.odie "Unknown command: brew #{cmd}" if [case_error, private_method_error].include?(e.message)
raise
end
end
elsif (path = Commands.external_ruby_cmd_path(cmd))
Homebrew.running_command = cmd
require?(path)
Homebrew.require?(path)
exit Homebrew.failed? ? 1 : 0
elsif Commands.external_cmd_path(cmd)
%w[CACHE LIBRARY_PATH].each do |env|
@ -124,14 +130,16 @@ begin
possible_tap.installed? ||
(blocked_tap = Tap.untapped_official_taps.include?(possible_tap.name))
if blocked_tap
onoe <<~EOS
Utils::Output.onoe <<~EOS
`brew #{cmd}` is unavailable because #{possible_tap.name} was manually untapped.
Run `brew tap #{possible_tap.name}` to reenable `brew #{cmd}`.
EOS
end
# Check for cask explicitly because it's very common in old guides
odie "`brew cask` is no longer a `brew` command. Use `brew <command> --cask` instead." if cmd == "cask"
odie "Unknown command: brew #{cmd}"
if cmd == "cask"
Utils::Output.odie "`brew cask` is no longer a `brew` command. Use `brew <command> --cask` instead."
end
Utils::Output.odie "Unknown command: brew #{cmd}"
end
# Unset HOMEBREW_HELP to avoid confusing the tap
@ -156,7 +164,7 @@ rescue UsageError => e
require "help"
Homebrew::Help.help cmd, remaining_args: args&.remaining || [], usage_error: e.message
rescue SystemExit => e
onoe "Kernel.exit" if args&.debug? && !e.success?
Utils::Output.onoe "Kernel.exit" if args&.debug? && !e.success?
if args&.debug? || ARGV.include?("--debug")
require "utils/backtrace"
$stderr.puts Utils::Backtrace.clean(e)
@ -169,8 +177,13 @@ rescue BuildError => e
Utils::Analytics.report_build_error(e)
e.dump(verbose: args&.verbose? || false)
if OS.unsupported_configuration?
$stderr.puts "#{Tty.bold}Do not report this issue: you are running in an unsupported configuration.#{Tty.reset}"
if OS.not_tier_one_configuration?
$stderr.puts <<~EOS
This build failure was expected, as this is not a Tier 1 configuration:
#{Formatter.url("https://docs.brew.sh/Support-Tiers")}
#{Formatter.bold("Do not report any issues to Homebrew/* repositories!")}
Read the above document instead before opening any issues or PRs.
EOS
elsif e.formula.head? || e.formula.deprecated? || e.formula.disabled?
reason = if e.formula.head?
"was built from an unstable upstream --HEAD"
@ -182,21 +195,14 @@ rescue BuildError => e
$stderr.puts <<~EOS
#{e.formula.name}'s formula #{reason}.
This build failure is expected behaviour.
Do not create issues about this on Homebrew's GitHub repositories.
Any opened issues will be immediately closed without response.
Do not ask for help from Homebrew or its maintainers on social media.
You may ask for help in Homebrew's discussions but are unlikely to receive a response.
Try to figure out the problem yourself and submit a fix as a pull request.
We will review it but may or may not accept it.
EOS
end
exit 1
rescue RuntimeError, SystemCallError => e
raise if e.message.empty?
onoe e
Utils::Output.onoe e
if args&.debug? || ARGV.include?("--debug")
require "utils/backtrace"
$stderr.puts Utils::Backtrace.clean(e)
@ -205,21 +211,26 @@ rescue RuntimeError, SystemCallError => e
exit 1
# Catch any other types of exceptions.
rescue Exception => e # rubocop:disable Lint/RescueException
onoe e
Utils::Output.onoe e
method_deprecated_error = e.is_a?(MethodDeprecatedError)
require "utils/backtrace"
$stderr.puts Utils::Backtrace.clean(e) if args&.debug? || ARGV.include?("--debug") || !method_deprecated_error
if OS.unsupported_configuration?
$stderr.puts "#{Tty.bold}Do not report this issue: you are running in an unsupported configuration.#{Tty.reset}"
if OS.not_tier_one_configuration?
$stderr.puts <<~EOS
This error was expected, as this is not a Tier 1 configuration:
#{Formatter.url("https://docs.brew.sh/Support-Tiers")}
#{Formatter.bold("Do not report any issues to Homebrew/* repositories!")}
Read the above document instead before opening any issues or PRs.
EOS
elsif Homebrew::EnvConfig.no_auto_update? &&
(fetch_head = HOMEBREW_REPOSITORY/".git/FETCH_HEAD") &&
(!fetch_head.exist? || (fetch_head.mtime.to_date < Date.today))
$stderr.puts "#{Tty.bold}You have disabled automatic updates and have not updated today.#{Tty.reset}"
$stderr.puts "#{Tty.bold}Do not report this issue until you've run `brew update` and tried again.#{Tty.reset}"
elsif (issues_url = (method_deprecated_error && e.issues_url) || Utils::Backtrace.tap_error_url(e))
$stderr.puts "If reporting this issue please do so at (not Homebrew/brew or Homebrew/homebrew-core):"
$stderr.puts "If reporting this issue please do so at (not Homebrew/* repositories):"
$stderr.puts " #{Formatter.url(issues_url)}"
elsif internal_cmd
$stderr.puts "#{Tty.bold}Please report this issue:#{Tty.reset}"

View File

@ -65,7 +65,12 @@ else
CACHE_HOME="${HOMEBREW_XDG_CACHE_HOME:-${HOME}/.cache}"
HOMEBREW_DEFAULT_CACHE="${CACHE_HOME}/Homebrew"
HOMEBREW_DEFAULT_LOGS="${CACHE_HOME}/Homebrew/Logs"
HOMEBREW_DEFAULT_TEMP="/tmp"
if [[ -r "/var/tmp" && -w "/var/tmp" ]]
then
HOMEBREW_DEFAULT_TEMP="/var/tmp"
else
HOMEBREW_DEFAULT_TEMP="/tmp"
fi
fi
realpath() {
@ -104,6 +109,10 @@ HOMEBREW_CASKROOM="${HOMEBREW_PREFIX}/Caskroom"
HOMEBREW_CACHE="${HOMEBREW_CACHE:-${HOMEBREW_DEFAULT_CACHE}}"
HOMEBREW_LOGS="${HOMEBREW_LOGS:-${HOMEBREW_DEFAULT_LOGS}}"
HOMEBREW_TEMP="${HOMEBREW_TEMP:-${HOMEBREW_DEFAULT_TEMP}}"
if [[ ! -w "${HOMEBREW_TEMP}" ]]
then
HOMEBREW_TEMP="${HOMEBREW_DEFAULT_TEMP}"
fi
# commands that take a single or no arguments.
# HOMEBREW_LIBRARY set by bin/brew
@ -178,38 +187,10 @@ case "$@" in
;;
esac
# Include some helper functions.
source "${HOMEBREW_LIBRARY}/Homebrew/utils/helpers.sh"
# Require HOMEBREW_BREW_WRAPPER to be set if HOMEBREW_FORCE_BREW_WRAPPER is set
# (and HOMEBREW_NO_FORCE_BREW_WRAPPER is not set) for all non-trivial commands
# Check `HOMEBREW_FORCE_BREW_WRAPPER` for all non-trivial commands
# (i.e. not defined above this line e.g. formulae or --cellar).
if [[ -z "${HOMEBREW_NO_FORCE_BREW_WRAPPER:-}" && -n "${HOMEBREW_FORCE_BREW_WRAPPER:-}" ]]
then
if [[ -z "${HOMEBREW_BREW_WRAPPER:-}" ]]
then
odie <<EOS
HOMEBREW_FORCE_BREW_WRAPPER was set to
${HOMEBREW_FORCE_BREW_WRAPPER}
but HOMEBREW_BREW_WRAPPER was unset. This indicates that you are running
${HOMEBREW_BREW_FILE}
directly but should instead run
${HOMEBREW_FORCE_BREW_WRAPPER}
EOS
elif [[ "${HOMEBREW_FORCE_BREW_WRAPPER}" != "${HOMEBREW_BREW_WRAPPER}" ]]
then
odie <<EOS
HOMEBREW_FORCE_BREW_WRAPPER was set to
${HOMEBREW_FORCE_BREW_WRAPPER}
but HOMEBREW_BREW_WRAPPER was set to
${HOMEBREW_BREW_WRAPPER}
This indicates that you are running
${HOMEBREW_BREW_FILE}
directly but should instead run:
${HOMEBREW_FORCE_BREW_WRAPPER}
EOS
fi
fi
source "${HOMEBREW_LIBRARY}/Homebrew/utils/wrapper.sh"
check-brew-wrapper
# commands that take a single or no arguments and need to write to HOMEBREW_PREFIX.
# HOMEBREW_LIBRARY set by bin/brew
@ -229,6 +210,8 @@ esac
##### Next, define all other helper functions.
#####
source "${HOMEBREW_LIBRARY}/Homebrew/utils/helpers.sh"
check-run-command-as-root() {
[[ "${EUID}" == 0 || "${UID}" == 0 ]] || return
@ -237,8 +220,15 @@ check-run-command-as-root() {
[[ -f /run/.containerenv ]] && return
[[ -f /proc/1/cgroup ]] && grep -E "azpl_job|actions_job|docker|garden|kubepods" -q /proc/1/cgroup && return
# Homebrew Services may need `sudo` for system-wide daemons.
[[ "${HOMEBREW_COMMAND}" == "services" ]] && return
# `brew services` may need `sudo` for system-wide daemons.
if [[ "${HOMEBREW_COMMAND}" == "services" ]]
then
# Need to disable Bootsnap when running as root to avoid permission errors:
# https://github.com/Homebrew/brew/issues/19904
export HOMEBREW_NO_BOOTSNAP="1"
return
fi
# It's fine to run this as root as it's not changing anything.
[[ "${HOMEBREW_COMMAND}" == "--prefix" ]] && return
@ -364,8 +354,11 @@ auto-update() {
unset HOMEBREW_AUTO_UPDATING
unset HOMEBREW_AUTO_UPDATE_TAP
# exec a new process to set any new environment variables.
exec "${HOMEBREW_BREW_FILE}" "$@"
if [[ $# -gt 0 ]]
then
# exec a new process to set any new environment variables.
exec "${HOMEBREW_BREW_FILE}" "$@"
fi
fi
unset AUTO_UPDATE_COMMANDS
@ -375,6 +368,22 @@ auto-update() {
unset HOMEBREW_AUTO_UPDATE_CASK_TAP
}
# Only `brew update-if-needed` should be handled here.
# We want it as fast as possible but it needs auto-update() defined above.
# HOMEBREW_LIBRARY set by bin/brew
# shellcheck disable=SC2154
# doesn't need a default case as other arguments handled elsewhere.
# shellcheck disable=SC2249
# Don't need to pass through any arguments.
# shellcheck disable=SC2119
case "$@" in
update-if-needed)
source "${HOMEBREW_LIBRARY}/Homebrew/cmd/update-if-needed.sh"
homebrew-update-if-needed
exit 0
;;
esac
#####
##### Setup output so e.g. odie looks as nice as possible.
#####
@ -428,7 +437,7 @@ fi
#####
# Docker image deprecation
if [[ -f "${HOMEBREW_REPOSITORY}/.docker-deprecate" ]]
if [[ -f "${HOMEBREW_REPOSITORY}/.docker-deprecate" && -z "${HOMEBREW_TESTS}" ]]
then
read -r DOCKER_DEPRECATION_MESSAGE <"${HOMEBREW_REPOSITORY}/.docker-deprecate"
if [[ -n "${GITHUB_ACTIONS}" ]]
@ -487,9 +496,9 @@ GIT_REVISION=$("${HOMEBREW_GIT}" -C "${HOMEBREW_REPOSITORY}" rev-parse HEAD 2>/d
if [[ -z "${GIT_REVISION}" ]]
then
read -r GIT_HEAD 2>/dev/null <"${HOMEBREW_REPOSITORY}/.git/HEAD"
if [[ "${GIT_HEAD}" == "ref: refs/heads/master" ]]
if [[ "${GIT_HEAD}" == "ref: refs/heads/main" ]]
then
read -r GIT_REVISION 2>/dev/null <"${HOMEBREW_REPOSITORY}/.git/refs/heads/master"
read -r GIT_REVISION 2>/dev/null <"${HOMEBREW_REPOSITORY}/.git/refs/heads/main"
elif [[ "${GIT_HEAD}" == "ref: refs/heads/stable" ]]
then
read -r GIT_REVISION 2>/dev/null <"${HOMEBREW_REPOSITORY}/.git/refs/heads/stable"
@ -556,22 +565,30 @@ case "$1" in
homebrew-version
exit 0
;;
mcp-server)
source "${HOMEBREW_LIBRARY}/Homebrew/cmd/mcp-server.sh"
homebrew-mcp-server "$@"
exit 0
;;
esac
# TODO: bump version when new macOS is released or announced and update references in:
# - docs/Installation.md
# - https://github.com/Homebrew/install/blob/HEAD/install.sh
# - Library/Homebrew/os/mac.rb (latest_sdk_version)
# - Library/Homebrew/os/mac/xcode.rb (latest_version), (minimum_version)
# and, if needed:
# - MacOSVersion::SYMBOLS
HOMEBREW_MACOS_NEWEST_UNSUPPORTED="16"
HOMEBREW_MACOS_NEWEST_UNSUPPORTED="27"
# TODO: bump version when new macOS is released
HOMEBREW_MACOS_NEWEST_SUPPORTED="26"
# TODO: bump version when new macOS is released and update references in:
# - docs/Installation.md
# - HOMEBREW_MACOS_OLDEST_SUPPORTED in .github/workflows/pkg-installer.yml
# - `os-version min` in package/Distribution.xml
# - https://github.com/Homebrew/install/blob/HEAD/install.sh
HOMEBREW_MACOS_OLDEST_SUPPORTED="13"
HOMEBREW_MACOS_OLDEST_ALLOWED="10.11"
HOMEBREW_MACOS_OLDEST_SUPPORTED="14"
HOMEBREW_MACOS_OLDEST_ALLOWED="10.15"
if [[ -n "${HOMEBREW_MACOS}" ]]
then
@ -662,8 +679,8 @@ else
then
message="Please update your system curl or set HOMEBREW_CURL_PATH to a newer version.
Minimum required version: ${HOMEBREW_MINIMUM_CURL_VERSION}
Your curl version: ${curl_name_and_version##* }
Your curl executable: $(type -p "${HOMEBREW_CURL}")"
Your curl version: ${curl_name_and_version##* }
Your curl executable: $(type -p "${HOMEBREW_CURL}")"
if [[ -z ${HOMEBREW_CURL_PATH} ]]
then
@ -690,8 +707,8 @@ Your curl executable: $(type -p "${HOMEBREW_CURL}")"
then
message="Please update your system Git or set HOMEBREW_GIT_PATH to a newer version.
Minimum required version: ${HOMEBREW_MINIMUM_GIT_VERSION}
Your Git version: ${major}.${minor}.${micro}.${build}
Your Git executable: $(unset git && type -p "${HOMEBREW_GIT}")"
Your Git version: ${major}.${minor}.${micro}.${build}
Your Git executable: $(unset git && type -p "${HOMEBREW_GIT}")"
if [[ -z ${HOMEBREW_GIT_PATH} ]]
then
HOMEBREW_FORCE_BREWED_GIT="1"
@ -792,6 +809,7 @@ export HOMEBREW_OS_VERSION
export HOMEBREW_MACOS_VERSION
export HOMEBREW_MACOS_VERSION_NUMERIC
export HOMEBREW_MACOS_NEWEST_UNSUPPORTED
export HOMEBREW_MACOS_NEWEST_SUPPORTED
export HOMEBREW_MACOS_OLDEST_SUPPORTED
export HOMEBREW_MACOS_OLDEST_ALLOWED
export HOMEBREW_USER_AGENT
@ -960,13 +978,6 @@ then
export HOMEBREW_DEVELOPER_COMMAND="1"
fi
# Provide a (temporary, undocumented) way to disable Sorbet globally if needed
# to avoid reverting the above.
if [[ -n "${HOMEBREW_NO_SORBET_RUNTIME}" ]]
then
unset HOMEBREW_SORBET_RUNTIME
fi
if [[ -n "${HOMEBREW_DEVELOPER_COMMAND}" && -z "${HOMEBREW_DEVELOPER}" ]]
then
if [[ -z "${HOMEBREW_DEV_CMD_RUN}" ]]
@ -990,6 +1001,13 @@ then
export HOMEBREW_SORBET_RUNTIME="1"
fi
# Provide a (temporary, undocumented) way to disable Sorbet globally if needed
# to avoid reverting the above.
if [[ -n "${HOMEBREW_NO_SORBET_RUNTIME}" ]]
then
unset HOMEBREW_SORBET_RUNTIME
fi
if [[ -f "${HOMEBREW_LIBRARY}/Homebrew/cmd/${HOMEBREW_COMMAND}.sh" ]]
then
HOMEBREW_BASH_COMMAND="${HOMEBREW_LIBRARY}/Homebrew/cmd/${HOMEBREW_COMMAND}.sh"
@ -1034,6 +1052,25 @@ else
export HOMEBREW_GITHUB_PACKAGES_AUTH="Bearer QQ=="
fi
# Avoid picking up any random `sudo` in `PATH`.
if [[ -x /usr/bin/sudo ]]
then
SUDO=/usr/bin/sudo
else
# Do this after ensuring we're using default Bash builtins.
SUDO="$(command -v sudo 2>/dev/null)"
fi
# Reset sudo timestamp to avoid running unauthorized sudo commands
if [[ -n "${SUDO}" ]]
then
"${SUDO}" --reset-timestamp 2>/dev/null || true
fi
unset SUDO
# Remove internal variables
unset HOMEBREW_INTERNAL_ALLOW_PACKAGES_FROM_PATHS
if [[ -n "${HOMEBREW_BASH_COMMAND}" ]]
then
# source rather than executing directly to ensure the entire file is read into

View File

@ -1,4 +1,4 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# typed: strict
# frozen_string_literal: true
# This script is loaded by formula_installer as a separate instance.
@ -16,31 +16,47 @@ require "fcntl"
require "utils/socket"
require "cmd/install"
require "json/add/exception"
require "utils/output"
require "extend/pathname/write_mkpath_extension"
# A formula build.
class Build
attr_reader :formula, :deps, :reqs, :args
include Utils::Output::Mixin
sig { returns(Formula) }
attr_reader :formula
sig { returns(T::Array[Dependency]) }
attr_reader :deps
sig { returns(Requirements) }
attr_reader :reqs
sig { returns(Homebrew::Cmd::InstallCmd::Args) }
attr_reader :args
sig { params(formula: Formula, options: Options, args: Homebrew::Cmd::InstallCmd::Args).void }
def initialize(formula, options, args:)
@formula = formula
@formula.build = BuildOptions.new(options, formula.options)
@args = args
@args = T.let(args, Homebrew::Cmd::InstallCmd::Args)
@deps = T.let([], T::Array[Dependency])
@reqs = T.let(Requirements.new, Requirements)
if args.ignore_dependencies?
@deps = []
@reqs = []
else
@deps = expand_deps
@reqs = expand_reqs
end
return if args.ignore_dependencies?
@deps = expand_deps
@reqs = expand_reqs
end
sig { params(dependent: Formula).returns(BuildOptions) }
def effective_build_options_for(dependent)
args = dependent.build.used_options
args |= Tab.for_formula(dependent).used_options
BuildOptions.new(args, dependent.options)
end
sig { returns(Requirements) }
def expand_reqs
formula.recursive_requirements do |dependent, req|
build = effective_build_options_for(dependent)
@ -50,6 +66,7 @@ class Build
end
end
sig { returns(T::Array[Dependency]) }
def expand_deps
formula.recursive_dependencies do |dependent, dep|
build = effective_build_options_for(dependent)
@ -63,6 +80,7 @@ class Build
end
end
sig { void }
def install
formula_deps = deps.map(&:to_formula)
keg_only_deps = formula_deps.select(&:keg_only?)
@ -75,7 +93,7 @@ class Build
ENV.activate_extensions!(env: args.env)
if superenv?(args.env)
superenv = T.cast(ENV, Superenv)
superenv = ENV
superenv.keg_only_deps = keg_only_deps
superenv.deps = formula_deps
superenv.run_time_deps = run_time_deps
@ -148,12 +166,15 @@ class Build
# https://github.com/Homebrew/homebrew-core/pull/87470
TZ: "UTC0",
) do
formula.patch
if args.git?
formula.selective_patch(is_data: false)
system "git", "init"
system "git", "add", "-A"
formula.selective_patch(is_data: true)
else
formula.patch
end
if args.interactive?
ohai "Entering interactive mode..."
puts <<~EOS
@ -176,6 +197,8 @@ class Build
(formula.logs/"00.options.out").write \
"#{formula.full_name} #{formula.build.used_options.sort.join(" ")}".strip
Pathname.prepend WriteMkpathExtension
formula.install
stdlibs = detect_stdlibs
@ -183,14 +206,17 @@ class Build
tab.write
# Find and link metafiles
formula.prefix.install_metafiles formula.buildpath
formula.prefix.install_metafiles T.must(formula.buildpath)
formula.prefix.install_metafiles formula.libexec if formula.libexec.exist?
normalize_pod2man_outputs!(formula)
end
end
end
end
end
sig { returns(T::Array[Symbol]) }
def detect_stdlibs
keg = Keg.new(formula.prefix)
@ -200,13 +226,15 @@ class Build
keg.detect_cxx_stdlibs(skip_executables: true)
end
sig { params(formula: Formula).void }
def fixopt(formula)
path = if formula.linked_keg.directory? && formula.linked_keg.symlink?
formula.linked_keg.resolved_path
elsif formula.prefix.directory?
formula.prefix
elsif (kids = formula.rack.children).size == 1 && kids.first.directory?
kids.first
elsif (children = formula.rack.children.presence) && children.size == 1 &&
(first_child = children.first.presence) && first_child.directory?
first_child
else
raise
end
@ -214,10 +242,19 @@ class Build
rescue
raise "#{formula.opt_prefix} not present or broken\nPlease reinstall #{formula.full_name}. Sorry :("
end
sig { params(formula: Formula).void }
def normalize_pod2man_outputs!(formula)
keg = Keg.new(formula.prefix)
keg.normalize_pod2man_outputs!
end
end
begin
ENV.delete("HOMEBREW_FORBID_PACKAGES_FROM_PATHS")
# Undocumented opt-out for internal use.
# We need to allow formulae from paths here due to how we pass them through.
ENV["HOMEBREW_INTERNAL_ALLOW_PACKAGES_FROM_PATHS"] = "1"
args = Homebrew::Cmd::InstallCmd.new.args
Context.current = args.context
@ -226,9 +263,10 @@ begin
trap("INT", old_trap)
formula = args.named.to_formulae.first
formula = args.named.to_formulae.fetch(0)
options = Options.create(args.flags_only)
build = Build.new(formula, options, args:)
build.install
# Any exception means the build did not complete.
# The `case` for what to do per-exception class is further down.
@ -258,7 +296,7 @@ rescue Exception => e # rubocop:disable Lint/RescueException
error_hash["output"] = e.output
end
error_pipe.puts error_hash.to_json
error_pipe.close
error_pipe&.puts error_hash.to_json
error_pipe&.close
exit! 1
end

View File

@ -1,11 +1,11 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# typed: strict
# frozen_string_literal: true
# Settings for the build environment.
class BuildEnvironment
sig { params(settings: Symbol).void }
def initialize(*settings)
@settings = Set.new(settings)
@settings = T.let(Set.new(settings), T::Set[Symbol])
end
sig { params(args: T::Enumerable[Symbol]).returns(T.self_type) }
@ -29,16 +29,17 @@ class BuildEnvironment
module DSL
# Initialise @env for each class which may use this DSL (e.g. each formula subclass).
# `env` may never be called and it needs to be initialised before the class is frozen.
sig { params(child: T.untyped).void }
def inherited(child)
super
child.instance_eval do
@env = BuildEnvironment.new
@env = T.let(BuildEnvironment.new, T.nilable(BuildEnvironment))
end
end
sig { params(settings: Symbol).returns(BuildEnvironment) }
def env(*settings)
@env.merge(settings)
T.must(@env).merge(settings)
end
end

View File

@ -1,11 +1,12 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# typed: strict
# frozen_string_literal: true
# Options for a formula build.
class BuildOptions
sig { params(args: Options, options: Options).void }
def initialize(args, options)
@args = args
@options = options
@args = T.let(args, Options)
@options = T.let(options, Options)
end
# True if a {Formula} is being built with a specific option.
@ -29,8 +30,13 @@ class BuildOptions
# args << "--with-example1"
# end
# ```
sig { params(val: T.any(String, Requirement, Dependency)).returns(T::Boolean) }
def with?(val)
option_names = val.respond_to?(:option_names) ? val.option_names : [val]
option_names = if val.is_a?(String)
[val]
else
val.option_names
end
option_names.any? do |name|
if option_defined? "with-#{name}"
@ -50,11 +56,13 @@ class BuildOptions
# ```ruby
# args << "--no-spam-plz" if build.without? "spam"
# ```
sig { params(val: T.any(String, Requirement, Dependency)).returns(T::Boolean) }
def without?(val)
!with?(val)
end
# True if a {Formula} is being built as a bottle (i.e. binary package).
sig { returns(T::Boolean) }
def bottle?
include? "build-bottle"
end
@ -75,6 +83,7 @@ class BuildOptions
# args << "--and-a-cold-beer" if build.with? "cold-beer"
# end
# ```
sig { returns(T::Boolean) }
def head?
include? "HEAD"
end
@ -85,31 +94,37 @@ class BuildOptions
# ### Example
#
# ```ruby
# args << "--some-beta" if build.head?
# args << "--some-feature" if build.stable?
# ```
sig { returns(T::Boolean) }
def stable?
!head?
end
# True if the build has any arguments or options specified.
sig { returns(T::Boolean) }
def any_args_or_options?
!@args.empty? || !@options.empty?
end
sig { returns(Options) }
def used_options
@options & @args
end
sig { returns(Options) }
def unused_options
@options - @args
end
private
sig { params(name: String).returns(T::Boolean) }
def include?(name)
@args.include?("--#{name}")
end
sig { params(name: String).returns(T::Boolean) }
def option_defined?(name)
@options.include? name
end

View File

@ -4,6 +4,8 @@
module Homebrew
# Class handling architecture-specific version information.
class BumpVersionParser
VERSION_SYMBOLS = [:general, :arm, :intel].freeze
sig { returns(T.nilable(T.any(Version, Cask::DSL::Version))) }
attr_reader :arm, :general, :intel

150
Library/Homebrew/bundle.rb Normal file
View File

@ -0,0 +1,150 @@
# typed: strict
# frozen_string_literal: true
require "English"
module Homebrew
module Bundle
class << self
sig { params(args_upgrade_formula: T.nilable(String)).void }
def upgrade_formulae=(args_upgrade_formula)
@upgrade_formulae = args_upgrade_formula.to_s.split(",")
end
sig { returns(T::Array[String]) }
def upgrade_formulae
@upgrade_formulae || []
end
sig { params(cmd: T.any(String, Pathname), args: T.anything, verbose: T::Boolean).returns(T::Boolean) }
def system(cmd, *args, verbose: false)
return super cmd, *args if verbose
logs = []
success = T.let(false, T::Boolean)
IO.popen([cmd, *args], err: [:child, :out]) do |pipe|
while (buf = pipe.gets)
logs << buf
end
Process.wait(pipe.pid)
success = $CHILD_STATUS.success?
pipe.close
end
puts logs.join unless success
success
end
sig { params(args: T.anything, verbose: T::Boolean).returns(T::Boolean) }
def brew(*args, verbose: false)
system(HOMEBREW_BREW_FILE, *args, verbose:)
end
sig { returns(T::Boolean) }
def mas_installed?
@mas_installed ||= which_formula?("mas")
end
sig { returns(T::Boolean) }
def vscode_installed?
@vscode_installed ||= which_vscode.present?
end
sig { returns(T.nilable(Pathname)) }
def which_vscode
@which_vscode ||= which("code", ORIGINAL_PATHS)
@which_vscode ||= which("codium", ORIGINAL_PATHS)
@which_vscode ||= which("cursor", ORIGINAL_PATHS)
@which_vscode ||= which("code-insiders", ORIGINAL_PATHS)
end
sig { returns(T::Boolean) }
def whalebrew_installed?
@whalebrew_installed ||= which_formula?("whalebrew")
end
sig { returns(T::Boolean) }
def cask_installed?
@cask_installed ||= File.directory?("#{HOMEBREW_PREFIX}/Caskroom") &&
(File.directory?("#{HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-cask") ||
!Homebrew::EnvConfig.no_install_from_api?)
end
sig { params(name: String).returns(T::Boolean) }
def which_formula?(name)
formula = Formulary.factory(name)
ENV["PATH"] = "#{formula.opt_bin}:#{ENV.fetch("PATH", nil)}" if formula.any_version_installed?
which(name).present?
end
sig { params(block: T.proc.returns(T.anything)).returns(T.untyped) }
def exchange_uid_if_needed!(&block)
euid = Process.euid
uid = Process.uid
return yield if euid == uid
old_euid = euid
process_reexchangeable = Process::UID.re_exchangeable?
if process_reexchangeable
Process::UID.re_exchange
else
Process::Sys.seteuid(uid)
end
home = T.must(Etc.getpwuid(Process.uid)).dir
return_value = with_env("HOME" => home, &block)
if process_reexchangeable
Process::UID.re_exchange
else
Process::Sys.seteuid(old_euid)
end
return_value
end
sig { params(formula_name: String).returns(T.nilable(String)) }
def formula_versions_from_env(formula_name)
@formula_versions_from_env ||= begin
formula_versions = {}
ENV.each do |key, value|
match = key.match(/^HOMEBREW_BUNDLE_FORMULA_VERSION_(.+)$/)
next if match.blank?
env_formula_name = match[1]
next if env_formula_name.blank?
ENV.delete(key)
formula_versions[env_formula_name] = value
end
formula_versions
end
# Fix up formula name for a valid environment variable name.
formula_env_name = formula_name.upcase
.gsub("@", "AT")
.tr("+", "X")
.tr("-", "_")
@formula_versions_from_env[formula_env_name]
end
sig { void }
def prepend_pkgconf_path_if_needed!; end
sig { void }
def reset!
@mas_installed = T.let(nil, T.nilable(T::Boolean))
@vscode_installed = T.let(nil, T.nilable(T::Boolean))
@which_vscode = T.let(nil, T.nilable(Pathname))
@whalebrew_installed = T.let(nil, T.nilable(T::Boolean))
@cask_installed = T.let(nil, T.nilable(T::Boolean))
@formula_versions_from_env = T.let(nil, T.nilable(T::Hash[String, String]))
@upgrade_formulae = T.let(nil, T.nilable(T::Array[String]))
end
end
end
end
require "extend/os/bundle/bundle"

View File

@ -0,0 +1,38 @@
# typed: strict
# frozen_string_literal: true
require "bundle/brewfile"
require "bundle/dumper"
module Homebrew
module Bundle
module Adder
module_function
sig { params(args: String, type: Symbol, global: T::Boolean, file: String).void }
def add(*args, type:, global:, file:)
brewfile_path = Brewfile.path(global:, file:)
brewfile_path.write("") unless brewfile_path.exist?
brewfile = Brewfile.read(global:, file:)
content = brewfile.input
# TODO: - support `:describe`
new_content = args.map do |arg|
case type
when :brew
Formulary.factory(arg)
when :cask
Cask::CaskLoader.load(arg)
end
"#{type} \"#{arg}\""
end
content << new_content.join("\n") << "\n"
path = Dumper.brewfile_path(global:, file:)
Dumper.write_file path, content
end
end
end
end

View File

@ -0,0 +1,20 @@
# typed: strict
# frozen_string_literal: true
require "bundle/formula_installer"
module Homebrew
module Bundle
module Checker
class BrewChecker < Homebrew::Bundle::Checker::Base
PACKAGE_TYPE = :brew
PACKAGE_TYPE_NAME = "Formula"
sig { params(formula: String, no_upgrade: T::Boolean).returns(T::Boolean) }
def installed_and_up_to_date?(formula, no_upgrade: false)
Homebrew::Bundle::FormulaInstaller.formula_installed_and_up_to_date?(formula, no_upgrade:)
end
end
end
end
end

View File

@ -0,0 +1,54 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
module Homebrew
module Bundle
module Checker
class BrewServiceChecker < Homebrew::Bundle::Checker::Base
PACKAGE_TYPE = :brew
PACKAGE_TYPE_NAME = "Service"
PACKAGE_ACTION_PREDICATE = "needs to be started."
def failure_reason(name, no_upgrade:)
"#{PACKAGE_TYPE_NAME} #{name} needs to be started."
end
def installed_and_up_to_date?(formula, no_upgrade: false)
return true unless formula_needs_to_start?(entry_to_formula(formula))
return true if service_is_started?(formula.name)
old_name = lookup_old_name(formula.name)
return true if old_name && service_is_started?(old_name)
false
end
def entry_to_formula(entry)
require "bundle/formula_installer"
Homebrew::Bundle::FormulaInstaller.new(entry.name, entry.options)
end
def formula_needs_to_start?(formula)
formula.start_service? || formula.restart_service?
end
def service_is_started?(service_name)
require "bundle/brew_services"
Homebrew::Bundle::BrewServices.started?(service_name)
end
def lookup_old_name(service_name)
require "bundle/formula_dumper"
@old_names ||= Homebrew::Bundle::FormulaDumper.formula_oldnames
old_name = @old_names[service_name]
old_name ||= @old_names[service_name.split("/").last]
old_name
end
def format_checkable(entries)
checkable_entries(entries)
end
end
end
end
end

View File

@ -0,0 +1,85 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
require "services/system"
module Homebrew
module Bundle
module BrewServices
def self.reset!
@started_services = nil
end
def self.stop(name, keep: false, verbose: false)
return true unless started?(name)
args = ["services", "stop", name]
args << "--keep" if keep
return unless Bundle.brew(*args, verbose:)
started_services.delete(name)
true
end
def self.start(name, file: nil, verbose: false)
args = ["services", "start", name]
args << "--file=#{file}" if file
return unless Bundle.brew(*args, verbose:)
started_services << name
true
end
def self.run(name, file: nil, verbose: false)
args = ["services", "run", name]
args << "--file=#{file}" if file
return unless Bundle.brew(*args, verbose:)
started_services << name
true
end
def self.restart(name, file: nil, verbose: false)
args = ["services", "restart", name]
args << "--file=#{file}" if file
return unless Bundle.brew(*args, verbose:)
started_services << name
true
end
def self.started?(name)
started_services.include? name
end
def self.started_services
@started_services ||= begin
states_to_skip = %w[stopped none]
Utils.safe_popen_read(HOMEBREW_BREW_FILE, "services", "list").lines.filter_map do |line|
name, state, _plist = line.split(/\s+/)
next if states_to_skip.include? state
name
end
end
end
def self.versioned_service_file(name)
env_version = Bundle.formula_versions_from_env(name)
return if env_version.nil?
formula = Formula[name]
prefix = formula.rack/env_version
return unless prefix.directory?
service_file = if Homebrew::Services::System.launchctl?
prefix/"#{formula.plist_name}.plist"
else
prefix/"#{formula.service_name}.service"
end
service_file if service_file.file?
end
end
end
end

View File

@ -0,0 +1,70 @@
# typed: strict
# frozen_string_literal: true
require "bundle/dsl"
module Homebrew
module Bundle
module Brewfile
sig {
params(
dash_writes_to_stdout: T::Boolean,
global: T::Boolean,
file: T.nilable(String),
).returns(Pathname)
}
def self.path(dash_writes_to_stdout: false, global: false, file: nil)
env_bundle_file_global = ENV.fetch("HOMEBREW_BUNDLE_FILE_GLOBAL", nil)
env_bundle_file = ENV.fetch("HOMEBREW_BUNDLE_FILE", nil)
user_config_home = ENV.fetch("HOMEBREW_USER_CONFIG_HOME", nil)
filename = if global
if env_bundle_file_global.present?
env_bundle_file_global
else
raise "'HOMEBREW_BUNDLE_FILE' cannot be specified with '--global'" if env_bundle_file.present?
if user_config_home && File.exist?("#{user_config_home}/Brewfile")
"#{user_config_home}/Brewfile"
else
Bundle.exchange_uid_if_needed! do
"#{Dir.home}/.Brewfile"
end
end
end
elsif file.present?
handle_file_value(file, dash_writes_to_stdout)
elsif env_bundle_file.present?
env_bundle_file
else
"Brewfile"
end
Pathname.new(filename).expand_path(Dir.pwd)
end
sig { params(global: T::Boolean, file: T.nilable(String)).returns(Dsl) }
def self.read(global: false, file: nil)
Homebrew::Bundle::Dsl.new(Brewfile.path(global:, file:))
rescue Errno::ENOENT
raise "No Brewfile found"
end
sig {
params(
filename: String,
dash_writes_to_stdout: T::Boolean,
).returns(String)
}
private_class_method def self.handle_file_value(filename, dash_writes_to_stdout)
if filename != "-"
filename
elsif dash_writes_to_stdout
"/dev/stdout"
else
"/dev/stdin"
end
end
end
end
end

View File

@ -0,0 +1,20 @@
# typed: strict
# frozen_string_literal: true
require "bundle/cask_installer"
module Homebrew
module Bundle
module Checker
class CaskChecker < Homebrew::Bundle::Checker::Base
PACKAGE_TYPE = :cask
PACKAGE_TYPE_NAME = "Cask"
sig { params(cask: String, no_upgrade: T::Boolean).returns(T::Boolean) }
def installed_and_up_to_date?(cask, no_upgrade: false)
Homebrew::Bundle::CaskInstaller.cask_installed_and_up_to_date?(cask, no_upgrade:)
end
end
end
end
end

View File

@ -0,0 +1,91 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
module Homebrew
module Bundle
module CaskDumper
def self.reset!
@casks = nil
@cask_names = nil
@cask_hash = nil
@cask_oldnames = nil
end
def self.cask_names
@cask_names ||= casks.map(&:to_s)
end
def self.outdated_cask_names
return [] unless Bundle.cask_installed?
casks.select { |c| c.outdated?(greedy: false) }
.map(&:to_s)
end
def self.cask_is_outdated_using_greedy?(cask_name)
return false unless Bundle.cask_installed?
cask = casks.find { |c| c.to_s == cask_name }
return false if cask.nil?
cask.outdated?(greedy: true)
end
def self.dump(describe: false)
casks.map do |cask|
description = "# #{cask.desc}\n" if describe && cask.desc.present?
config = ", args: { #{explicit_s(cask.config)} }" if cask.config.present? && cask.config.explicit.present?
"#{description}cask \"#{cask}\"#{config}"
end.join("\n")
end
def self.cask_oldnames
return @cask_oldnames if @cask_oldnames
@cask_oldnames = {}
casks.each do |c|
oldnames = c.old_tokens
next if oldnames.blank?
oldnames.each do |oldname|
@cask_oldnames[oldname] = c.full_name
if c.full_name.include? "/" # tap cask
tap_name = c.full_name.rpartition("/").first
@cask_oldnames["#{tap_name}/#{oldname}"] = c.full_name
end
end
end
@cask_oldnames
end
def self.formula_dependencies(cask_list)
return [] unless Bundle.cask_installed?
return [] if cask_list.blank?
casks.flat_map do |cask|
next unless cask_list.include?(cask.to_s)
cask.depends_on[:formula]
end.compact
end
private_class_method def self.casks
return [] unless Bundle.cask_installed?
require "cask/caskroom"
@casks ||= Cask::Caskroom.casks
end
private_class_method def self.explicit_s(cask_config)
cask_config.explicit.map do |key, value|
# inverse of #env - converts :languages config key back to --language flag
if key == :languages
key = "language"
value = cask_config.explicit.fetch(:languages, []).join(",")
end
"#{key}: \"#{value.to_s.sub(/^#{Dir.home}/, "~")}\""
end.join(", ")
end
end
end
end

View File

@ -0,0 +1,122 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
module Homebrew
module Bundle
module CaskInstaller
def self.reset!
@installed_casks = nil
@outdated_casks = nil
end
private_class_method def self.upgrading?(no_upgrade, name, options)
return false if no_upgrade
return true if outdated_casks.include?(name)
return false unless options[:greedy]
require "bundle/cask_dumper"
Homebrew::Bundle::CaskDumper.cask_is_outdated_using_greedy?(name)
end
def self.preinstall!(name, no_upgrade: false, verbose: false, **options)
if installed_casks.include?(name) && !upgrading?(no_upgrade, name, options)
puts "Skipping install of #{name} cask. It is already installed." if verbose
return false
end
true
end
def self.install!(name, preinstall: true, no_upgrade: false, verbose: false, force: false, **options)
return true unless preinstall
full_name = options.fetch(:full_name, name)
install_result = if installed_casks.include?(name) && upgrading?(no_upgrade, name, options)
status = "#{options[:greedy] ? "may not be" : "not"} up-to-date"
puts "Upgrading #{name} cask. It is installed but #{status}." if verbose
Bundle.brew("upgrade", "--cask", full_name, verbose:)
else
args = options.fetch(:args, []).filter_map do |k, v|
case v
when TrueClass
"--#{k}"
when FalseClass, NilClass
nil
else
"--#{k}=#{v}"
end
end
args << "--force" if force
args << "--adopt" unless args.include?("--force")
args.uniq!
with_args = " with #{args.join(" ")}" if args.present?
puts "Installing #{name} cask#{with_args}. It is not currently installed." if verbose
if Bundle.brew("install", "--cask", full_name, *args, verbose:)
installed_casks << name
true
else
false
end
end
result = install_result
if cask_installed?(name)
postinstall_result = postinstall_change_state!(name:, options:, verbose:)
result &&= postinstall_result
end
result
end
private_class_method def self.postinstall_change_state!(name:, options:, verbose:)
postinstall = options.fetch(:postinstall, nil)
return true if postinstall.blank?
puts "Running postinstall for #{@name}: #{postinstall}" if verbose
Kernel.system(postinstall)
end
def self.cask_installed_and_up_to_date?(cask, no_upgrade: false)
return false unless cask_installed?(cask)
return true if no_upgrade
!cask_upgradable?(cask)
end
def self.cask_in_array?(cask, array)
return true if array.include?(cask)
return true if array.include?(cask.split("/").last)
require "bundle/cask_dumper"
old_names = Homebrew::Bundle::CaskDumper.cask_oldnames
old_name = old_names[cask]
old_name ||= old_names[cask.split("/").last]
return true if old_name && array.include?(old_name)
false
end
def self.cask_installed?(cask)
cask_in_array?(cask, installed_casks)
end
def self.cask_upgradable?(cask)
cask_in_array?(cask, outdated_casks)
end
def self.installed_casks
require "bundle/cask_dumper"
@installed_casks ||= Homebrew::Bundle::CaskDumper.cask_names
end
def self.outdated_casks
require "bundle/cask_dumper"
@outdated_casks ||= Homebrew::Bundle::CaskDumper.outdated_cask_names
end
end
end
end

View File

@ -0,0 +1,156 @@
# typed: true
# frozen_string_literal: true
module Homebrew
module Bundle
module Checker
class Base
# Implement these in any subclass
# PACKAGE_TYPE = :pkg
# PACKAGE_TYPE_NAME = "Package"
def exit_early_check(packages, no_upgrade:)
work_to_be_done = packages.find do |pkg|
!installed_and_up_to_date?(pkg, no_upgrade:)
end
Array(work_to_be_done)
end
def failure_reason(name, no_upgrade:)
reason = if no_upgrade && Bundle.upgrade_formulae.exclude?(name)
"needs to be installed."
else
"needs to be installed or updated."
end
"#{self.class.const_get(:PACKAGE_TYPE_NAME)} #{name} #{reason}"
end
def full_check(packages, no_upgrade:)
packages.reject { |pkg| installed_and_up_to_date?(pkg, no_upgrade:) }
.map { |pkg| failure_reason(pkg, no_upgrade:) }
end
def checkable_entries(all_entries)
require "bundle/skipper"
all_entries.select { |e| e.type == self.class.const_get(:PACKAGE_TYPE) }
.reject(&Bundle::Skipper.method(:skip?))
end
def format_checkable(entries)
checkable_entries(entries).map(&:name)
end
def installed_and_up_to_date?(_pkg, no_upgrade: false)
raise NotImplementedError
end
def find_actionable(entries, exit_on_first_error: false, no_upgrade: false, verbose: false)
requested = format_checkable entries
if exit_on_first_error
exit_early_check(requested, no_upgrade:)
else
full_check(requested, no_upgrade:)
end
end
end
CheckResult = Struct.new :work_to_be_done, :errors
CHECKS = {
taps_to_tap: "Taps",
casks_to_install: "Casks",
extensions_to_install: "VSCode Extensions",
apps_to_install: "Apps",
formulae_to_install: "Formulae",
formulae_to_start: "Services",
}.freeze
def self.check(global: false, file: nil, exit_on_first_error: false, no_upgrade: false, verbose: false)
require "bundle/brewfile"
@dsl ||= Brewfile.read(global:, file:)
check_method_names = CHECKS.keys
errors = []
enumerator = exit_on_first_error ? :find : :map
work_to_be_done = check_method_names.public_send(enumerator) do |check_method|
check_errors =
send(check_method, exit_on_first_error:, no_upgrade:, verbose:)
any_errors = check_errors.any?
errors.concat(check_errors) if any_errors
any_errors
end
work_to_be_done = Array(work_to_be_done).flatten.any?
CheckResult.new work_to_be_done, errors
end
def self.casks_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
require "bundle/cask_checker"
Homebrew::Bundle::Checker::CaskChecker.new.find_actionable(
@dsl.entries,
exit_on_first_error:, no_upgrade:, verbose:,
)
end
def self.formulae_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
require "bundle/brew_checker"
Homebrew::Bundle::Checker::BrewChecker.new.find_actionable(
@dsl.entries,
exit_on_first_error:, no_upgrade:, verbose:,
)
end
def self.taps_to_tap(exit_on_first_error: false, no_upgrade: false, verbose: false)
require "bundle/tap_checker"
Homebrew::Bundle::Checker::TapChecker.new.find_actionable(
@dsl.entries,
exit_on_first_error:, no_upgrade:, verbose:,
)
end
def self.apps_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
require "bundle/mac_app_store_checker"
Homebrew::Bundle::Checker::MacAppStoreChecker.new.find_actionable(
@dsl.entries,
exit_on_first_error:, no_upgrade:, verbose:,
)
end
def self.extensions_to_install(exit_on_first_error: false, no_upgrade: false, verbose: false)
require "bundle/vscode_extension_checker"
Homebrew::Bundle::Checker::VscodeExtensionChecker.new.find_actionable(
@dsl.entries,
exit_on_first_error:, no_upgrade:, verbose:,
)
end
def self.formulae_to_start(exit_on_first_error: false, no_upgrade: false, verbose: false)
require "bundle/brew_service_checker"
Homebrew::Bundle::Checker::BrewServiceChecker.new.find_actionable(
@dsl.entries,
exit_on_first_error:, no_upgrade:, verbose:,
)
end
def self.reset!
require "bundle/cask_dumper"
require "bundle/formula_dumper"
require "bundle/mac_app_store_dumper"
require "bundle/tap_dumper"
require "bundle/brew_services"
@dsl = nil
Homebrew::Bundle::CaskDumper.reset!
Homebrew::Bundle::FormulaDumper.reset!
Homebrew::Bundle::MacAppStoreDumper.reset!
Homebrew::Bundle::TapDumper.reset!
Homebrew::Bundle::BrewServices.reset!
end
end
end
end

View File

@ -0,0 +1,17 @@
# typed: strict
# frozen_string_literal: true
require "bundle/adder"
module Homebrew
module Bundle
module Commands
module Add
sig { params(args: String, type: Symbol, global: T::Boolean, file: T.nilable(String)).void }
def self.run(*args, type:, global:, file:)
Homebrew::Bundle::Adder.add(*args, type:, global:, file:)
end
end
end
end
end

View File

@ -0,0 +1,51 @@
# typed: strict
# frozen_string_literal: true
require "bundle/checker"
module Homebrew
module Bundle
module Commands
module Check
sig {
params(global: T::Boolean, file: T.nilable(String), no_upgrade: T::Boolean, verbose: T::Boolean,
quiet: T::Boolean).void
}
def self.run(global: false, file: nil, no_upgrade: false, verbose: false, quiet: false)
output_errors = verbose
exit_on_first_error = !verbose
check_result = Homebrew::Bundle::Checker.check(
global:, file:,
exit_on_first_error:, no_upgrade:, verbose:
)
# Allow callers of `brew bundle check` to specify when they've already
# output some formulae errors.
check_missing_formulae = ENV.fetch("HOMEBREW_BUNDLE_CHECK_ALREADY_OUTPUT_FORMULAE_ERRORS", "")
.strip
.split
if check_result.work_to_be_done
puts "brew bundle can't satisfy your Brewfile's dependencies." if check_missing_formulae.blank?
if output_errors
check_result.errors.each do |error|
if (match = error.match(/^Formula (.+) needs to be installed/)) &&
check_missing_formulae.include?(match[1])
next
end
puts "#{error}"
end
end
puts "Satisfy missing dependencies with `brew bundle install`."
exit 1
end
puts "The Brewfile's dependencies are satisfied." unless quiet
end
end
end
end
end

View File

@ -0,0 +1,221 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
require "utils/formatter"
module Homebrew
module Bundle
module Commands
# TODO: refactor into multiple modules
module Cleanup
def self.reset!
require "bundle/cask_dumper"
require "bundle/formula_dumper"
require "bundle/tap_dumper"
require "bundle/vscode_extension_dumper"
require "bundle/brew_services"
@dsl = nil
@kept_casks = nil
@kept_formulae = nil
Homebrew::Bundle::CaskDumper.reset!
Homebrew::Bundle::FormulaDumper.reset!
Homebrew::Bundle::TapDumper.reset!
Homebrew::Bundle::VscodeExtensionDumper.reset!
Homebrew::Bundle::BrewServices.reset!
end
def self.run(global: false, file: nil, force: false, zap: false, dsl: nil,
formulae: true, casks: true, taps: true, vscode: true)
@dsl ||= dsl
casks = casks ? casks_to_uninstall(global:, file:) : []
formulae = formulae ? formulae_to_uninstall(global:, file:) : []
taps = taps ? taps_to_untap(global:, file:) : []
vscode_extensions = vscode ? vscode_extensions_to_uninstall(global:, file:) : []
if force
if casks.any?
args = zap ? ["--zap"] : []
Kernel.system HOMEBREW_BREW_FILE, "uninstall", "--cask", *args, "--force", *casks
puts "Uninstalled #{casks.size} cask#{"s" if casks.size != 1}"
end
if formulae.any?
Kernel.system HOMEBREW_BREW_FILE, "uninstall", "--formula", "--force", *formulae
puts "Uninstalled #{formulae.size} formula#{"e" if formulae.size != 1}"
end
Kernel.system HOMEBREW_BREW_FILE, "untap", *taps if taps.any?
Bundle.exchange_uid_if_needed! do
vscode_extensions.each do |extension|
Kernel.system(T.must(Bundle.which_vscode).to_s, "--uninstall-extension", extension)
end
end
cleanup = system_output_no_stderr(HOMEBREW_BREW_FILE, "cleanup")
puts cleanup unless cleanup.empty?
else
would_uninstall = false
if casks.any?
puts "Would uninstall casks:"
puts Formatter.columns casks
would_uninstall = true
end
if formulae.any?
puts "Would uninstall formulae:"
puts Formatter.columns formulae
would_uninstall = true
end
if taps.any?
puts "Would untap:"
puts Formatter.columns taps
would_uninstall = true
end
if vscode_extensions.any?
puts "Would uninstall VSCode extensions:"
puts Formatter.columns vscode_extensions
would_uninstall = true
end
cleanup = system_output_no_stderr(HOMEBREW_BREW_FILE, "cleanup", "--dry-run")
unless cleanup.empty?
puts "Would `brew cleanup`:"
puts cleanup
end
puts "Run `brew bundle cleanup --force` to make these changes." if would_uninstall || !cleanup.empty?
exit 1 if would_uninstall
end
end
def self.casks_to_uninstall(global: false, file: nil)
require "bundle/cask_dumper"
Homebrew::Bundle::CaskDumper.cask_names - kept_casks(global:, file:)
end
def self.formulae_to_uninstall(global: false, file: nil)
kept_formulae = self.kept_formulae(global:, file:)
require "bundle/formula_dumper"
require "bundle/formula_installer"
current_formulae = Homebrew::Bundle::FormulaDumper.formulae
current_formulae.reject! do |f|
Homebrew::Bundle::FormulaInstaller.formula_in_array?(f[:full_name], kept_formulae)
end
# Don't try to uninstall formulae with keepme references
current_formulae.reject! do |f|
Formula[f[:full_name]].installed_kegs.any? do |keg|
keg.keepme_refs.present?
end
end
current_formulae.map { |f| f[:full_name] }
end
private_class_method def self.kept_formulae(global: false, file: nil)
require "bundle/brewfile"
require "bundle/formula_dumper"
require "bundle/cask_dumper"
@kept_formulae ||= begin
@dsl ||= Brewfile.read(global:, file:)
kept_formulae = @dsl.entries.select { |e| e.type == :brew }.map(&:name)
kept_formulae += Homebrew::Bundle::CaskDumper.formula_dependencies(kept_casks)
kept_formulae.map! do |f|
Homebrew::Bundle::FormulaDumper.formula_aliases.fetch(
f,
Homebrew::Bundle::FormulaDumper.formula_oldnames.fetch(f, f),
)
end
kept_formulae + recursive_dependencies(Homebrew::Bundle::FormulaDumper.formulae, kept_formulae)
end
end
private_class_method def self.kept_casks(global: false, file: nil)
require "bundle/brewfile"
return @kept_casks if @kept_casks
@dsl ||= Brewfile.read(global:, file:)
kept_casks = @dsl.entries.select { |e| e.type == :cask }.flat_map(&:name)
kept_casks.map! do |c|
Homebrew::Bundle::CaskDumper.cask_oldnames.fetch(c, c)
end
@kept_casks = kept_casks
end
private_class_method def self.recursive_dependencies(current_formulae, formulae_names, top_level: true)
@checked_formulae_names = [] if top_level
dependencies = T.let([], T::Array[Formula])
formulae_names.each do |name|
next if @checked_formulae_names.include?(name)
formula = current_formulae.find { |f| f[:full_name] == name }
next unless formula
f_deps = formula[:dependencies]
unless formula[:poured_from_bottle?]
f_deps += formula[:build_dependencies]
f_deps.uniq!
end
next unless f_deps
next if f_deps.empty?
@checked_formulae_names << name
f_deps += recursive_dependencies(current_formulae, f_deps, top_level: false)
dependencies += f_deps
end
dependencies.uniq
end
IGNORED_TAPS = %w[homebrew/core].freeze
def self.taps_to_untap(global: false, file: nil)
require "bundle/brewfile"
require "bundle/tap_dumper"
@dsl ||= Brewfile.read(global:, file:)
kept_formulae = self.kept_formulae(global:, file:).filter_map { lookup_formula(_1) }
kept_taps = @dsl.entries.select { |e| e.type == :tap }.map(&:name)
kept_taps += kept_formulae.filter_map(&:tap).map(&:name)
current_taps = Homebrew::Bundle::TapDumper.tap_names
current_taps - kept_taps - IGNORED_TAPS
end
def self.lookup_formula(formula)
Formulary.factory(formula)
rescue TapFormulaUnavailableError
# ignore these as an unavailable formula implies there is no tap to worry about
nil
end
def self.vscode_extensions_to_uninstall(global: false, file: nil)
require "bundle/brewfile"
@dsl ||= Brewfile.read(global:, file:)
kept_extensions = @dsl.entries.select { |e| e.type == :vscode }.map { |x| x.name.downcase }
# To provide a graceful migration from `Brewfile`s that don't yet or
# don't want to use `vscode`: don't remove any extensions if we don't
# find any in the `Brewfile`.
return [].freeze if kept_extensions.empty?
require "bundle/vscode_extension_dumper"
current_extensions = Homebrew::Bundle::VscodeExtensionDumper.extensions
current_extensions - kept_extensions
end
def self.system_output_no_stderr(cmd, *args)
IO.popen([cmd, *args], err: :close).read
end
end
end
end
end

View File

@ -0,0 +1,24 @@
# typed: strict
# frozen_string_literal: true
require "bundle/dumper"
module Homebrew
module Bundle
module Commands
module Dump
sig {
params(global: T::Boolean, file: T.nilable(String), describe: T::Boolean, force: T::Boolean,
no_restart: T::Boolean, taps: T::Boolean, formulae: T::Boolean, casks: T::Boolean,
mas: T::Boolean, whalebrew: T::Boolean, vscode: T::Boolean).void
}
def self.run(global:, file:, describe:, force:, no_restart:, taps:, formulae:, casks:, mas:, whalebrew:,
vscode:)
Homebrew::Bundle::Dumper.dump_brewfile(
global:, file:, describe:, force:, no_restart:, taps:, formulae:, casks:, mas:, whalebrew:, vscode:,
)
end
end
end
end
end

View File

@ -0,0 +1,348 @@
# typed: true
# frozen_string_literal: true
require "English"
require "exceptions"
require "extend/ENV"
require "utils"
require "PATH"
require "utils/output"
module Homebrew
module Bundle
module Commands
module Exec
extend Utils::Output::Mixin
PATH_LIKE_ENV_REGEX = /.+#{File::PATH_SEPARATOR}/
sig {
params(
args: String,
global: T::Boolean,
file: T.nilable(String),
subcommand: String,
services: T::Boolean,
check: T::Boolean,
).void
}
def self.run(*args, global: false, file: nil, subcommand: "", services: false, check: false)
if check
require "bundle/commands/check"
Homebrew::Bundle::Commands::Check.run(global:, file:, quiet: true)
end
# Store the old environment so we can check if things were already set
# before we start mutating it.
old_env = ENV.to_h
# Setup Homebrew's ENV extensions
ENV.activate_extensions!
command = args.first
raise UsageError, "No command to execute was specified!" if command.blank?
require "bundle/brewfile"
@dsl = Brewfile.read(global:, file:)
require "formula"
require "formulary"
ENV.deps = @dsl.entries.filter_map do |entry|
next if entry.type != :brew
Formulary.factory(entry.name)
end
# Allow setting all dependencies to be keg-only
# (i.e. should be explicitly in HOMEBREW_*PATHs ahead of HOMEBREW_PREFIX)
ENV.keg_only_deps = if ENV["HOMEBREW_BUNDLE_EXEC_ALL_KEG_ONLY_DEPS"].present?
ENV.delete("HOMEBREW_BUNDLE_EXEC_ALL_KEG_ONLY_DEPS")
ENV.deps
else
ENV.deps.select(&:keg_only?)
end
ENV.setup_build_environment
# Enable compiler flag filtering
ENV.refurbish_args
# Set up `nodenv`, `pyenv` and `rbenv` if present.
env_formulae = %w[nodenv pyenv rbenv]
ENV.deps.each do |dep|
dep_name = dep.name
next unless env_formulae.include?(dep_name)
dep_root = ENV.fetch("HOMEBREW_#{dep_name.upcase}_ROOT", "#{Dir.home}/.#{dep_name}")
ENV.prepend_path "PATH", Pathname.new(dep_root)/"shims"
end
# Setup pkgconf, if needed, to help locate packages
Bundle.prepend_pkgconf_path_if_needed!
# For commands which aren't either absolute or relative
# Add the command directory to PATH, since it may get blown away by superenv
if command.exclude?("/") && (which_command = which(command)).present?
ENV.prepend_path "PATH", which_command.dirname.to_s
end
# Replace the formula versions from the environment variables
ENV.deps.each do |formula|
formula_name = formula.name
formula_version = Bundle.formula_versions_from_env(formula_name)
next unless formula_version
ENV.each do |key, value|
opt = %r{/opt/#{formula_name}([/:$])}
next unless value.match(opt)
cellar = "/Cellar/#{formula_name}/#{formula_version}\\1"
# Look for PATH-like environment variables
ENV[key] = if key.include?("PATH") && value.match?(PATH_LIKE_ENV_REGEX)
rejected_opts = []
path = PATH.new(ENV.fetch("PATH"))
.reject do |path_value|
rejected_opts << path_value if path_value.match?(opt)
end
rejected_opts.each do |path_value|
path.prepend(path_value.gsub(opt, cellar))
end
path.to_s
else
value.gsub(opt, cellar)
end
end
end
# Ensure brew bundle exec/sh/env commands have access to other tools in the PATH
if (homebrew_path = ENV.fetch("HOMEBREW_PATH", nil))
ENV.append_path "PATH", homebrew_path
end
# For commands which aren't either absolute or relative
raise "command was not found in your PATH: #{command}" if command.exclude?("/") && which(command).nil?
%w[HOMEBREW_TEMP TMPDIR HOMEBREW_TMPDIR].each do |var|
value = ENV.fetch(var, nil)
next if value.blank?
next if File.writable?(value)
ENV.delete(var)
end
ENV.each do |key, value|
# Look for PATH-like environment variables
next if key.exclude?("PATH") || !value.match?(PATH_LIKE_ENV_REGEX)
# Exclude Homebrew shims from the PATH as they don't work
# without all Homebrew environment variables and can interfere with
# non-Homebrew builds.
ENV[key] = PATH.new(value)
.reject do |path_value|
path_value.include?("/Homebrew/shims/")
end.to_s
end
if subcommand == "env"
ENV.sort.each do |key, value|
# Skip exporting Homebrew internal variables that won't be used by other tools.
# Those Homebrew needs have already been set to global constants and/or are exported again later.
# Setting these globally can interfere with nested Homebrew invocations/environments.
if key.start_with?("HOMEBREW_", "PORTABLE_RUBY_")
ENV.delete(key)
next
end
# No need to export empty values.
next if value.blank?
# Skip exporting things that were the same in the old environment.
old_value = old_env[key]
next if old_value == value
# Look for PATH-like environment variables
if key.include?("PATH") && value.match?(PATH_LIKE_ENV_REGEX)
old_values = old_value.to_s.split(File::PATH_SEPARATOR)
path = PATH.new(value)
.reject do |path_value|
# Exclude existing/old values as they've already been exported.
old_values.include?(path_value)
end
next if path.blank?
puts "export #{key}=\"#{Utils::Shell.sh_quote(path.to_s)}:${#{key}:-}\""
else
puts "export #{key}=\"#{Utils::Shell.sh_quote(value)}\""
end
end
return
elsif subcommand == "sh"
preferred_path = Utils::Shell.preferred_path(default: "/bin/bash")
notice = unless Homebrew::EnvConfig.no_env_hints?
<<~EOS
Your shell has been configured to use a build environment from your `Brewfile`.
This should help you build stuff.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
When done, type `exit`.
EOS
end
ENV["HOMEBREW_FORCE_API_AUTO_UPDATE"] = nil
args = [Utils::Shell.shell_with_prompt("brew bundle", preferred_path:, notice:)]
end
if services
require "bundle/brew_services"
exit_code = T.let(0, Integer)
run_services(@dsl.entries) do
Kernel.system(*args)
if (system_exit_code = $CHILD_STATUS&.exitstatus)
exit_code = system_exit_code
end
end
exit!(exit_code)
else
exec(*args)
end
end
sig {
params(
entries: T::Array[Homebrew::Bundle::Dsl::Entry],
_block: T.proc.params(
entry: Homebrew::Bundle::Dsl::Entry,
info: T::Hash[String, T.untyped],
service_file: Pathname,
conflicting_services: T::Array[T::Hash[String, T.anything]],
).void,
).void
}
private_class_method def self.map_service_info(entries, &_block)
entries_formulae = entries.filter_map do |entry|
next if entry.type != :brew
formula = Formula[entry.name]
next unless formula.any_version_installed?
[entry, formula]
end.to_h
return if entries_formulae.empty?
conflicts = entries_formulae.to_h do |entry, formula|
[
entry,
(
formula.versioned_formulae_names +
formula.conflicts.map(&:name) +
Array(entry.options[:conflicts_with])
).uniq,
]
end
# The formula + everything that could possible conflict with the service
names_to_query = entries_formulae.flat_map do |entry, formula|
[
formula.name,
*conflicts.fetch(entry),
]
end
# We parse from a command invocation so that brew wrappers can invoke special actions
# for the elevated nature of `brew services`
services_info = JSON.parse(
Utils.safe_popen_read(HOMEBREW_BREW_FILE, "services", "info", "--json", *names_to_query),
)
entries_formulae.filter_map do |entry, formula|
service_file = Bundle::BrewServices.versioned_service_file(entry.name)
unless service_file&.file?
prefix = formula.any_installed_prefix
next if prefix.nil?
service_file = if Homebrew::Services::System.launchctl?
prefix/"#{formula.plist_name}.plist"
else
prefix/"#{formula.service_name}.service"
end
end
next unless service_file.file?
info = services_info.find { |candidate| candidate["name"] == formula.name }
conflicting_services = services_info.select do |candidate|
next unless candidate["running"]
conflicts.fetch(entry).include?(candidate["name"])
end
raise "Failed to get service info for #{entry.name}" if info.nil?
yield entry, info, service_file, conflicting_services
end
end
sig { params(entries: T::Array[Homebrew::Bundle::Dsl::Entry], _block: T.nilable(T.proc.void)).void }
private_class_method def self.run_services(entries, &_block)
entries_to_stop = []
services_to_restart = []
map_service_info(entries) do |entry, info, service_file, conflicting_services|
# Don't restart if already running this version
loaded_file = Pathname.new(info["loaded_file"].to_s)
next if info["running"] && loaded_file.file? && loaded_file.realpath == service_file.realpath
if info["running"] && !Bundle::BrewServices.stop(info["name"], keep: true)
opoo "Failed to stop #{info["name"]} service"
end
conflicting_services.each do |conflict|
if Bundle::BrewServices.stop(conflict["name"], keep: true)
services_to_restart << conflict["name"] if conflict["registered"]
else
opoo "Failed to stop #{conflict["name"]} service"
end
end
unless Bundle::BrewServices.run(info["name"], file: service_file)
opoo "Failed to start #{info["name"]} service"
end
entries_to_stop << entry
end
return unless block_given?
begin
yield
ensure
# Do a full re-evaluation of services instead state has changed
stop_services(entries_to_stop)
services_to_restart.each do |service|
next if Bundle::BrewServices.run(service)
opoo "Failed to restart #{service} service"
end
end
end
sig { params(entries: T::Array[Homebrew::Bundle::Dsl::Entry]).void }
private_class_method def self.stop_services(entries)
map_service_info(entries) do |_, info, _, _|
next unless info["loaded"]
# Try avoid services not started by `brew bundle services`
next if Homebrew::Services::System.launchctl? && info["registered"]
if info["running"] && !Bundle::BrewServices.stop(info["name"], keep: true)
opoo "Failed to stop #{info["name"]} service"
end
end
end
end
end
end
end

View File

@ -0,0 +1,39 @@
# typed: strict
# frozen_string_literal: true
require "bundle/brewfile"
require "bundle/installer"
module Homebrew
module Bundle
module Commands
module Install
sig {
params(
global: T::Boolean,
file: T.nilable(String),
no_lock: T::Boolean,
no_upgrade: T::Boolean,
verbose: T::Boolean,
force: T::Boolean,
quiet: T::Boolean,
).void
}
def self.run(global: false, file: nil, no_lock: false, no_upgrade: false, verbose: false, force: false,
quiet: false)
@dsl = Brewfile.read(global:, file:)
Homebrew::Bundle::Installer.install!(
@dsl.entries,
global:, file:, no_lock:, no_upgrade:, verbose:, force:, quiet:,
) || exit(1)
end
sig { returns(T.nilable(Dsl)) }
def self.dsl
@dsl ||= T.let(nil, T.nilable(Dsl))
@dsl
end
end
end
end
end

View File

@ -0,0 +1,25 @@
# typed: strict
# frozen_string_literal: true
require "bundle/brewfile"
require "bundle/lister"
module Homebrew
module Bundle
module Commands
module List
sig {
params(global: T::Boolean, file: T.nilable(String), formulae: T::Boolean, casks: T::Boolean,
taps: T::Boolean, mas: T::Boolean, whalebrew: T::Boolean, vscode: T::Boolean).void
}
def self.run(global:, file:, formulae:, casks:, taps:, mas:, whalebrew:, vscode:)
parsed_entries = Brewfile.read(global:, file:).entries
Homebrew::Bundle::Lister.list(
parsed_entries,
formulae:, casks:, taps:, mas:, whalebrew:, vscode:,
)
end
end
end
end
end

View File

@ -0,0 +1,17 @@
# typed: strict
# frozen_string_literal: true
require "bundle/remover"
module Homebrew
module Bundle
module Commands
module Remove
sig { params(args: T.anything, type: Symbol, global: T::Boolean, file: T.nilable(String)).void }
def self.run(*args, type:, global:, file:)
Homebrew::Bundle::Remover.remove(*args, type:, global:, file:)
end
end
end
end
end

View File

@ -0,0 +1,134 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
module Homebrew
module Bundle
class Dsl
class Entry
attr_reader :type, :name, :options
def initialize(type, name, options = {})
@type = type
@name = name
@options = options
end
def to_s
name
end
end
attr_reader :entries, :cask_arguments, :input
def initialize(path)
@path = path
@input = path.read
@entries = []
@cask_arguments = {}
begin
process
# Want to catch all exceptions for e.g. syntax errors.
rescue Exception => e # rubocop:disable Lint/RescueException
error_msg = "Invalid Brewfile: #{e.message}"
raise RuntimeError, error_msg, e.backtrace
end
end
def process
instance_eval(@input, @path.to_s)
end
def cask_args(args)
raise "cask_args(#{args.inspect}) should be a Hash object" unless args.is_a? Hash
@cask_arguments.merge!(args)
end
def brew(name, options = {})
raise "name(#{name.inspect}) should be a String object" unless name.is_a? String
raise "options(#{options.inspect}) should be a Hash object" unless options.is_a? Hash
name = Homebrew::Bundle::Dsl.sanitize_brew_name(name)
@entries << Entry.new(:brew, name, options)
end
def cask(name, options = {})
raise "name(#{name.inspect}) should be a String object" unless name.is_a? String
raise "options(#{options.inspect}) should be a Hash object" unless options.is_a? Hash
options[:full_name] = name
name = Homebrew::Bundle::Dsl.sanitize_cask_name(name)
options[:args] = @cask_arguments.merge options.fetch(:args, {})
@entries << Entry.new(:cask, name, options)
end
def mas(name, options = {})
id = options[:id]
raise "name(#{name.inspect}) should be a String object" unless name.is_a? String
raise "options[:id](#{id}) should be an Integer object" unless id.is_a? Integer
@entries << Entry.new(:mas, name, id:)
end
def whalebrew(name)
raise "name(#{name.inspect}) should be a String object" unless name.is_a? String
@entries << Entry.new(:whalebrew, name)
end
def vscode(name)
raise "name(#{name.inspect}) should be a String object" unless name.is_a? String
@entries << Entry.new(:vscode, name)
end
def tap(name, clone_target = nil, options = {})
raise "name(#{name.inspect}) should be a String object" unless name.is_a? String
if clone_target && !clone_target.is_a?(String)
raise "clone_target(#{clone_target.inspect}) should be nil or a String object"
end
options[:clone_target] = clone_target
name = Homebrew::Bundle::Dsl.sanitize_tap_name(name)
@entries << Entry.new(:tap, name, options)
end
HOMEBREW_TAP_ARGS_REGEX = %r{^([\w-]+)/(homebrew-)?([\w-]+)$}
HOMEBREW_CORE_FORMULA_REGEX = %r{^homebrew/homebrew/([\w+-.@]+)$}i
HOMEBREW_TAP_FORMULA_REGEX = %r{^([\w-]+)/([\w-]+)/([\w+-.@]+)$}
def self.sanitize_brew_name(name)
name = name.downcase
if name =~ HOMEBREW_CORE_FORMULA_REGEX
Regexp.last_match(1)
elsif name =~ HOMEBREW_TAP_FORMULA_REGEX
user = Regexp.last_match(1)
repo = T.must(Regexp.last_match(2))
name = Regexp.last_match(3)
"#{user}/#{repo.sub("homebrew-", "")}/#{name}"
else
name
end
end
def self.sanitize_tap_name(name)
name = name.downcase
if name =~ HOMEBREW_TAP_ARGS_REGEX
"#{Regexp.last_match(1)}/#{Regexp.last_match(3)}"
else
name
end
end
def self.sanitize_cask_name(name)
name = name.split("/").last if name.include?("/")
name.downcase
end
def self.pluralize_dependency(installed_count)
(installed_count == 1) ? "dependency" : "dependencies"
end
end
end
end

View File

@ -0,0 +1,89 @@
# typed: strict
# frozen_string_literal: true
require "fileutils"
require "pathname"
module Homebrew
module Bundle
module Dumper
sig { params(brewfile_path: Pathname, force: T::Boolean).returns(T::Boolean) }
private_class_method def self.can_write_to_brewfile?(brewfile_path, force: false)
raise "#{brewfile_path} already exists" if should_not_write_file?(brewfile_path, overwrite: force)
true
end
sig {
params(
describe: T::Boolean,
no_restart: T::Boolean,
formulae: T::Boolean,
taps: T::Boolean,
casks: T::Boolean,
mas: T::Boolean,
whalebrew: T::Boolean,
vscode: T::Boolean,
).returns(String)
}
def self.build_brewfile(describe:, no_restart:, formulae:, taps:, casks:, mas:, whalebrew:, vscode:)
require "bundle/tap_dumper"
require "bundle/formula_dumper"
require "bundle/cask_dumper"
require "bundle/mac_app_store_dumper"
require "bundle/whalebrew_dumper"
require "bundle/vscode_extension_dumper"
content = []
content << TapDumper.dump if taps
content << FormulaDumper.dump(describe:, no_restart:) if formulae
content << CaskDumper.dump(describe:) if casks
content << MacAppStoreDumper.dump if mas
content << WhalebrewDumper.dump if whalebrew
content << VscodeExtensionDumper.dump if vscode
"#{content.reject(&:empty?).join("\n")}\n"
end
sig {
params(
global: T::Boolean,
file: T.nilable(String),
describe: T::Boolean,
force: T::Boolean,
no_restart: T::Boolean,
formulae: T::Boolean,
taps: T::Boolean,
casks: T::Boolean,
mas: T::Boolean,
whalebrew: T::Boolean,
vscode: T::Boolean,
).void
}
def self.dump_brewfile(global:, file:, describe:, force:, no_restart:, formulae:, taps:, casks:, mas:,
whalebrew:, vscode:)
path = brewfile_path(global:, file:)
can_write_to_brewfile?(path, force:)
content = build_brewfile(describe:, no_restart:, taps:, formulae:, casks:, mas:, whalebrew:, vscode:)
write_file path, content
end
sig { params(global: T::Boolean, file: T.nilable(String)).returns(Pathname) }
def self.brewfile_path(global: false, file: nil)
require "bundle/brewfile"
Brewfile.path(dash_writes_to_stdout: true, global:, file:)
end
sig { params(file: Pathname, overwrite: T::Boolean).returns(T::Boolean) }
private_class_method def self.should_not_write_file?(file, overwrite: false)
file.exist? && !overwrite && file.to_s != "/dev/stdout"
end
sig { params(file: Pathname, content: String).void }
def self.write_file(file, content)
Bundle.exchange_uid_if_needed! do
file.open("w") { |io| io.write content }
end
end
end
end
end

View File

@ -0,0 +1,247 @@
# typed: true
# frozen_string_literal: true
require "json"
require "tsort"
require "utils/output"
module Homebrew
module Bundle
# TODO: refactor into multiple modules
module FormulaDumper
extend Utils::Output::Mixin
def self.reset!
require "bundle/brew_services"
Homebrew::Bundle::BrewServices.reset!
@formulae = nil
@formulae_by_full_name = nil
@formulae_by_name = nil
@formula_aliases = nil
@formula_oldnames = nil
end
def self.formulae
return @formulae if @formulae
formulae_by_full_name
@formulae
end
def self.formulae_by_full_name(name = nil)
return @formulae_by_full_name[name] if name.present? && @formulae_by_full_name&.key?(name)
require "formula"
require "formulary"
Formulary.enable_factory_cache!
@formulae_by_name ||= {}
@formulae_by_full_name ||= {}
if name.nil?
formulae = Formula.installed.map { add_formula(_1) }
sort!(formulae)
return @formulae_by_full_name
end
formula = Formula[name]
add_formula(formula)
rescue FormulaUnavailableError => e
opoo "'#{name}' formula is unreadable: #{e}"
{}
end
def self.formulae_by_name(name)
formulae_by_full_name(name) || @formulae_by_name[name]
end
def self.dump(describe: false, no_restart: false)
require "bundle/brew_services"
requested_formula = formulae.select do |f|
f[:installed_on_request?] || !f[:installed_as_dependency?]
end
requested_formula.map do |f|
brewline = if describe && f[:desc].present?
f[:desc].split("\n").map { |s| "# #{s}\n" }.join
else
""
end
brewline += "brew \"#{f[:full_name]}\""
args = f[:args].map { |arg| "\"#{arg}\"" }.sort.join(", ")
brewline += ", args: [#{args}]" unless f[:args].empty?
brewline += ", restart_service: :changed" if !no_restart && BrewServices.started?(f[:full_name])
brewline += ", link: #{f[:link?]}" unless f[:link?].nil?
brewline
end.join("\n")
end
def self.formula_aliases
return @formula_aliases if @formula_aliases
@formula_aliases = {}
formulae.each do |f|
aliases = f[:aliases]
next if aliases.blank?
aliases.each do |a|
@formula_aliases[a] = f[:full_name]
if f[:full_name].include? "/" # tap formula
tap_name = f[:full_name].rpartition("/").first
@formula_aliases["#{tap_name}/#{a}"] = f[:full_name]
end
end
end
@formula_aliases
end
def self.formula_oldnames
return @formula_oldnames if @formula_oldnames
@formula_oldnames = {}
formulae.each do |f|
oldnames = f[:oldnames]
next if oldnames.blank?
oldnames.each do |oldname|
@formula_oldnames[oldname] = f[:full_name]
if f[:full_name].include? "/" # tap formula
tap_name = f[:full_name].rpartition("/").first
@formula_oldnames["#{tap_name}/#{oldname}"] = f[:full_name]
end
end
end
@formula_oldnames
end
private_class_method def self.add_formula(formula)
hash = formula_to_hash formula
@formulae_by_name[hash[:name]] = hash
@formulae_by_full_name[hash[:full_name]] = hash
hash
end
private_class_method def self.formula_to_hash(formula)
keg = if formula.linked?
link = true if formula.keg_only?
formula.linked_keg
else
link = false unless formula.keg_only?
formula.any_installed_prefix
end
if keg
require "tab"
tab = Tab.for_keg(keg)
args = tab.used_options.map(&:name)
version = begin
keg.realpath.basename
rescue
# silently handle broken symlinks
nil
end.to_s
args << "HEAD" if version.start_with?("HEAD")
installed_as_dependency = tab.installed_as_dependency
installed_on_request = tab.installed_on_request
runtime_dependencies = if (runtime_deps = tab.runtime_dependencies)
runtime_deps.filter_map { |d| d["full_name"] }
end
poured_from_bottle = tab.poured_from_bottle
end
runtime_dependencies ||= formula.runtime_dependencies.map(&:name)
bottled = if (stable = formula.stable) && stable.bottle_defined?
bottle_hash = formula.bottle_hash.deep_symbolize_keys
stable.bottled?
end
{
name: formula.name,
desc: formula.desc,
oldnames: formula.oldnames,
full_name: formula.full_name,
aliases: formula.aliases,
any_version_installed?: formula.any_version_installed?,
args: Array(args).uniq,
version:,
installed_as_dependency?: installed_as_dependency || false,
installed_on_request?: installed_on_request || false,
dependencies: runtime_dependencies,
build_dependencies: formula.deps.select(&:build?).map(&:name).uniq,
conflicts_with: formula.conflicts.map(&:name),
pinned?: formula.pinned? || false,
outdated?: formula.outdated? || false,
link?: link,
poured_from_bottle?: poured_from_bottle || false,
bottle: bottle_hash || false,
bottled: bottled || false,
official_tap: formula.tap&.official? || false,
}
end
class Topo < Hash
include TSort
def each_key(&block)
keys.each(&block)
end
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node.downcase).sort.each(&block)
end
end
private_class_method def self.sort!(formulae)
# Step 1: Sort by formula full name while putting tap formulae behind core formulae.
# So we can have a nicer output.
formulae = formulae.sort do |a, b|
if a[:full_name].exclude?("/") && b[:full_name].include?("/")
-1
elsif a[:full_name].include?("/") && b[:full_name].exclude?("/")
1
else
a[:full_name] <=> b[:full_name]
end
end
# Step 2: Sort by formula dependency topology.
topo = Topo.new
formulae.each do |f|
topo[f[:name]] = topo[f[:full_name]] = f[:dependencies].filter_map do |dep|
ff = formulae_by_name(dep)
next if ff.blank?
next unless ff[:any_version_installed?]
ff[:full_name]
end
end
@formulae = topo.tsort
.map { |name| @formulae_by_full_name[name] || @formulae_by_name[name] }
.uniq { |f| f[:full_name] }
rescue TSort::Cyclic => e
e.message =~ /\["([^"]*)".*"([^"]*)"\]/
cycle_first = Regexp.last_match(1)
cycle_last = Regexp.last_match(2)
odie e.message if !cycle_first || !cycle_last
odie <<~EOS
Formulae dependency graph sorting failed (likely due to a circular dependency):
#{cycle_first}: #{topo[cycle_first] if topo}
#{cycle_last}: #{topo[cycle_last] if topo}
Please run the following commands and try again:
brew update
brew uninstall --ignore-dependencies --force #{cycle_first} #{cycle_last}
brew install #{cycle_first} #{cycle_last}
EOS
end
end
end
end

View File

@ -0,0 +1,316 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
module Homebrew
module Bundle
class FormulaInstaller
def self.reset!
@installed_formulae = nil
@outdated_formulae = nil
@pinned_formulae = nil
end
def self.preinstall!(name, no_upgrade: false, verbose: false, **options)
new(name, options).preinstall!(no_upgrade:, verbose:)
end
def self.install!(name, preinstall: true, no_upgrade: false, verbose: false, force: false, **options)
new(name, options).install!(preinstall:, no_upgrade:, verbose:, force:)
end
def initialize(name, options = {})
@full_name = name
@name = name.split("/").last
@args = options.fetch(:args, []).map { |arg| "--#{arg}" }
@conflicts_with_arg = options.fetch(:conflicts_with, [])
@restart_service = options[:restart_service]
@start_service = options.fetch(:start_service, @restart_service)
@link = options.fetch(:link, nil)
@postinstall = options.fetch(:postinstall, nil)
@version_file = options.fetch(:version_file, nil)
@changed = nil
end
def preinstall!(no_upgrade: false, verbose: false)
if installed? && (self.class.no_upgrade_with_args?(no_upgrade, @name) || !upgradable?)
puts "Skipping install of #{@name} formula. It is already installed." if verbose
@changed = nil
return false
end
true
end
def install!(preinstall: true, no_upgrade: false, verbose: false, force: false)
install_result = if preinstall
install_change_state!(no_upgrade:, verbose:, force:)
else
true
end
result = install_result
if installed?
service_result = service_change_state!(verbose:)
result &&= service_result
link_result = link_change_state!(verbose:)
result &&= link_result
postinstall_result = postinstall_change_state!(verbose:)
result &&= postinstall_result
if result && @version_file.present?
# Use the version from the environment if it hasn't changed.
# Strip the revision number because it's not part of the non-Homebrew version.
version = if !changed? && (env_version = Bundle.formula_versions_from_env(@name))
PkgVersion.parse(env_version).version
else
Formula[@full_name].version
end.to_s
File.write(@version_file, "#{version}\n")
puts "Wrote #{@name} version #{version} to #{@version_file}" if verbose
end
end
result
end
def install_change_state!(no_upgrade:, verbose:, force:)
return false unless resolve_conflicts!(verbose:)
if installed?
upgrade_formula!(verbose:, force:)
else
install_formula!(verbose:, force:)
end
end
def start_service?
@start_service.present?
end
def start_service_needed?
require "bundle/brew_services"
start_service? && !BrewServices.started?(@full_name)
end
def restart_service?
@restart_service.present?
end
def restart_service_needed?
return false unless restart_service?
# Restart if `restart_service: :always`, or if the formula was installed or upgraded
@restart_service.to_s == "always" || changed?
end
def changed?
@changed.present?
end
def service_change_state!(verbose:)
require "bundle/brew_services"
file = Bundle::BrewServices.versioned_service_file(@name)
if restart_service_needed?
puts "Restarting #{@name} service." if verbose
BrewServices.restart(@full_name, file:, verbose:)
elsif start_service_needed?
puts "Starting #{@name} service." if verbose
BrewServices.start(@full_name, file:, verbose:)
else
true
end
end
def link_change_state!(verbose: false)
link_args = []
link_args << "--force" if unlinked_and_keg_only?
cmd = case @link
when :overwrite
link_args << "--overwrite"
"link" unless linked?
when true
"link" unless linked?
when false
"unlink" if linked?
when nil
if keg_only?
"unlink" if linked?
else
"link" unless linked?
end
end
if cmd.present?
verb = "#{cmd}ing".capitalize
with_args = " with #{link_args.join(" ")}" if link_args.present?
puts "#{verb} #{@name} formula#{with_args}." if verbose
return Bundle.brew(cmd, *link_args, @name, verbose:)
end
true
end
def postinstall_change_state!(verbose:)
return true if @postinstall.blank?
return true unless changed?
puts "Running postinstall for #{@name}: #{@postinstall}" if verbose
Kernel.system(@postinstall)
end
def self.formula_installed_and_up_to_date?(formula, no_upgrade: false)
return false unless formula_installed?(formula)
return true if no_upgrade_with_args?(no_upgrade, formula)
!formula_upgradable?(formula)
end
def self.no_upgrade_with_args?(no_upgrade, formula_name)
no_upgrade && Bundle.upgrade_formulae.exclude?(formula_name)
end
def self.formula_in_array?(formula, array)
return true if array.include?(formula)
return true if array.include?(formula.split("/").last)
require "bundle/formula_dumper"
old_names = Homebrew::Bundle::FormulaDumper.formula_oldnames
old_name = old_names[formula]
old_name ||= old_names[formula.split("/").last]
return true if old_name && array.include?(old_name)
resolved_full_name = Homebrew::Bundle::FormulaDumper.formula_aliases[formula]
return false unless resolved_full_name
return true if array.include?(resolved_full_name)
return true if array.include?(resolved_full_name.split("/").last)
false
end
def self.formula_installed?(formula)
formula_in_array?(formula, installed_formulae)
end
def self.formula_upgradable?(formula)
# Check local cache first and then authoritative Homebrew source.
formula_in_array?(formula, upgradable_formulae) && Formula[formula].outdated?
end
def self.installed_formulae
@installed_formulae ||= formulae.map { |f| f[:name] }
end
def self.upgradable_formulae
outdated_formulae - pinned_formulae
end
def self.outdated_formulae
@outdated_formulae ||= formulae.filter_map { |f| f[:name] if f[:outdated?] }
end
def self.pinned_formulae
@pinned_formulae ||= formulae.filter_map { |f| f[:name] if f[:pinned?] }
end
def self.formulae
require "bundle/formula_dumper"
Homebrew::Bundle::FormulaDumper.formulae
end
private
def installed?
FormulaInstaller.formula_installed?(@name)
end
def linked?
Formula[@full_name].linked?
end
def keg_only?
Formula[@full_name].keg_only?
end
def unlinked_and_keg_only?
!linked? && keg_only?
end
def upgradable?
FormulaInstaller.formula_upgradable?(@name)
end
def conflicts_with
@conflicts_with ||= begin
conflicts_with = Set.new
conflicts_with += @conflicts_with_arg
require "bundle/formula_dumper"
if (formula = Homebrew::Bundle::FormulaDumper.formulae_by_full_name(@full_name)) &&
(formula_conflicts_with = formula[:conflicts_with])
conflicts_with += formula_conflicts_with
end
conflicts_with.to_a
end
end
def resolve_conflicts!(verbose:)
conflicts_with.each do |conflict|
next unless FormulaInstaller.formula_installed?(conflict)
if verbose
puts <<~EOS
Unlinking #{conflict} formula.
It is currently installed and conflicts with #{@name}.
EOS
end
return false unless Bundle.brew("unlink", conflict, verbose:)
next unless restart_service?
require "bundle/brew_services"
puts "Stopping #{conflict} service (if it is running)." if verbose
BrewServices.stop(conflict, verbose:)
end
true
end
def install_formula!(verbose:, force:)
install_args = @args.dup
install_args << "--force" << "--overwrite" if force
install_args << "--skip-link" if @link == false
with_args = " with #{install_args.join(" ")}" if install_args.present?
puts "Installing #{@name} formula#{with_args}. It is not currently installed." if verbose
unless Bundle.brew("install", "--formula", @full_name, *install_args, verbose:)
@changed = nil
return false
end
FormulaInstaller.installed_formulae << @name
@changed = true
true
end
def upgrade_formula!(verbose:, force:)
upgrade_args = []
upgrade_args << "--force" if force
with_args = " with #{upgrade_args.join(" ")}" if upgrade_args.present?
puts "Upgrading #{@name} formula#{with_args}. It is installed but not up-to-date." if verbose
unless Bundle.brew("upgrade", "--formula", @name, *upgrade_args, verbose:)
@changed = nil
return false
end
@changed = true
true
end
end
end
end

View File

@ -0,0 +1,84 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
require "bundle/dsl"
require "bundle/formula_installer"
require "bundle/cask_installer"
require "bundle/mac_app_store_installer"
require "bundle/whalebrew_installer"
require "bundle/vscode_extension_installer"
require "bundle/tap_installer"
require "bundle/skipper"
module Homebrew
module Bundle
module Installer
def self.install!(entries, global: false, file: nil, no_lock: false, no_upgrade: false, verbose: false,
force: false, quiet: false)
success = 0
failure = 0
entries.each do |entry|
name = entry.name
args = [name]
options = {}
verb = "Installing"
type = entry.type
cls = case type
when :brew
options = entry.options
verb = "Upgrading" if Homebrew::Bundle::FormulaInstaller.formula_upgradable?(name)
Homebrew::Bundle::FormulaInstaller
when :cask
options = entry.options
verb = "Upgrading" if Homebrew::Bundle::CaskInstaller.cask_upgradable?(name)
Homebrew::Bundle::CaskInstaller
when :mas
args << entry.options[:id]
Homebrew::Bundle::MacAppStoreInstaller
when :whalebrew
Homebrew::Bundle::WhalebrewInstaller
when :vscode
Homebrew::Bundle::VscodeExtensionInstaller
when :tap
verb = "Tapping"
options = entry.options
Homebrew::Bundle::TapInstaller
end
next if cls.nil?
next if Homebrew::Bundle::Skipper.skip? entry
preinstall = if cls.preinstall!(*args, **options, no_upgrade:, verbose:)
puts Formatter.success("#{verb} #{name}")
true
else
puts "Using #{name}" unless quiet
false
end
if cls.install!(*args, **options,
preinstall:, no_upgrade:, verbose:, force:)
success += 1
else
$stderr.puts Formatter.error("#{verb} #{name} has failed!")
failure += 1
end
end
unless failure.zero?
dependency = Homebrew::Bundle::Dsl.pluralize_dependency(failure)
$stderr.puts Formatter.error "`brew bundle` failed! #{failure} Brewfile #{dependency} failed to install"
return false
end
unless quiet
dependency = Homebrew::Bundle::Dsl.pluralize_dependency(success)
puts Formatter.success "`brew bundle` complete! #{success} Brewfile #{dependency} now installed."
end
true
end
end
end
end

View File

@ -0,0 +1,33 @@
# typed: strict
# frozen_string_literal: true
module Homebrew
module Bundle
module Lister
sig {
params(entries: T::Array[Homebrew::Bundle::Dsl::Entry], formulae: T::Boolean, casks: T::Boolean,
taps: T::Boolean, mas: T::Boolean, whalebrew: T::Boolean, vscode: T::Boolean).void
}
def self.list(entries, formulae:, casks:, taps:, mas:, whalebrew:, vscode:)
entries.each do |entry|
puts entry.name if show?(entry.type, formulae:, casks:, taps:, mas:, whalebrew:, vscode:)
end
end
sig {
params(type: Symbol, formulae: T::Boolean, casks: T::Boolean, taps: T::Boolean, mas: T::Boolean,
whalebrew: T::Boolean, vscode: T::Boolean).returns(T::Boolean)
}
private_class_method def self.show?(type, formulae:, casks:, taps:, mas:, whalebrew:, vscode:)
return true if formulae && type == :brew
return true if casks && type == :cask
return true if taps && type == :tap
return true if mas && type == :mas
return true if whalebrew && type == :whalebrew
return true if vscode && type == :vscode
false
end
end
end
end

View File

@ -0,0 +1,36 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
require "bundle/mac_app_store_installer"
module Homebrew
module Bundle
module Checker
class MacAppStoreChecker < Homebrew::Bundle::Checker::Base
PACKAGE_TYPE = :mas
PACKAGE_TYPE_NAME = "App"
def installed_and_up_to_date?(id, no_upgrade: false)
Homebrew::Bundle::MacAppStoreInstaller.app_id_installed_and_up_to_date?(id, no_upgrade:)
end
def format_checkable(entries)
checkable_entries(entries).to_h { |e| [e.options[:id], e.name] }
end
def exit_early_check(app_ids_with_names, no_upgrade:)
work_to_be_done = app_ids_with_names.find do |id, _name|
!installed_and_up_to_date?(id, no_upgrade:)
end
Array(work_to_be_done)
end
def full_check(app_ids_with_names, no_upgrade:)
app_ids_with_names.reject { |id, _name| installed_and_up_to_date?(id, no_upgrade:) }
.map { |_id, name| failure_reason(name, no_upgrade:) }
end
end
end
end
end

View File

@ -0,0 +1,44 @@
# typed: strict
# frozen_string_literal: true
require "json"
module Homebrew
module Bundle
module MacAppStoreDumper
sig { void }
def self.reset!
@apps = nil
end
sig { returns(T::Array[[String, String]]) }
def self.apps
@apps ||= T.let(nil, T.nilable(T::Array[[String, String]]))
@apps ||= if Bundle.mas_installed?
`mas list 2>/dev/null`.split("\n").map do |app|
app_details = app.match(/\A(?<id>\d+)\s+(?<name>.*?)\s+\((?<version>[\d.]*)\)\Z/)
# Only add the application details should we have a valid match.
# Strip unprintable characters
if app_details
name = T.must(app_details[:name])
[T.must(app_details[:id]), name.gsub(/[[:cntrl:]]|\p{C}/, "")]
end
end
else
[]
end.compact
end
sig { returns(T::Array[Integer]) }
def self.app_ids
apps.map { |id, _| id.to_i }
end
sig { returns(String) }
def self.dump
apps.sort_by { |_, name| name.downcase }.map { |id, name| "mas \"#{name}\", id: #{id}" }.join("\n")
end
end
end
end

View File

@ -0,0 +1,79 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
require "os"
module Homebrew
module Bundle
module MacAppStoreInstaller
def self.reset!
@installed_app_ids = nil
@outdated_app_ids = nil
end
def self.preinstall!(name, id, no_upgrade: false, verbose: false)
unless Bundle.mas_installed?
puts "Installing mas. It is not currently installed." if verbose
Bundle.brew("install", "mas", verbose:)
raise "Unable to install #{name} app. mas installation failed." unless Bundle.mas_installed?
end
if app_id_installed?(id) &&
(no_upgrade || !app_id_upgradable?(id))
puts "Skipping install of #{name} app. It is already installed." if verbose
return false
end
true
end
def self.install!(name, id, preinstall: true, no_upgrade: false, verbose: false, force: false)
return true unless preinstall
if app_id_installed?(id)
puts "Upgrading #{name} app. It is installed but not up-to-date." if verbose
return false unless Bundle.system "mas", "upgrade", id.to_s, verbose: verbose
return true
end
puts "Installing #{name} app. It is not currently installed." if verbose
return false unless Bundle.system "mas", "install", id.to_s, verbose: verbose
installed_app_ids << id
true
end
def self.app_id_installed_and_up_to_date?(id, no_upgrade: false)
return false unless app_id_installed?(id)
return true if no_upgrade
!app_id_upgradable?(id)
end
def self.app_id_installed?(id)
installed_app_ids.include? id
end
def self.app_id_upgradable?(id)
outdated_app_ids.include? id
end
def self.installed_app_ids
require "bundle/mac_app_store_dumper"
@installed_app_ids ||= Homebrew::Bundle::MacAppStoreDumper.app_ids
end
def self.outdated_app_ids
@outdated_app_ids ||= if Bundle.mas_installed?
`mas outdated 2>/dev/null`.split("\n").map do |app|
app.split(" ", 2).first.to_i
end
else
[]
end
end
end
end
end

View File

@ -0,0 +1,52 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
require "utils/output"
module Homebrew
module Bundle
module Remover
extend ::Utils::Output::Mixin
def self.remove(*args, type:, global:, file:)
require "bundle/brewfile"
require "bundle/dumper"
brewfile = Brewfile.read(global:, file:)
content = brewfile.input
entry_type = type.to_s if type != :none
escaped_args = args.flat_map do |arg|
names = if type == :brew
possible_names(arg)
else
[arg]
end
names.uniq.map { |a| Regexp.escape(a) }
end
new_content = content.split("\n")
.grep_v(/#{entry_type}(\s+|\(\s*)"(#{escaped_args.join("|")})"/)
.join("\n") << "\n"
if content.chomp == new_content.chomp &&
type == :none &&
args.any? { |arg| possible_names(arg, raise_error: false).count > 1 }
opoo "No matching entries found in Brewfile. Try again with `--formula` to match formula " \
"aliases and old formula names."
return
end
path = Dumper.brewfile_path(global:, file:)
Dumper.write_file path, new_content
end
def self.possible_names(formula_name, raise_error: true)
formula = Formulary.factory(formula_name)
[formula_name, formula.name, formula.full_name, *formula.aliases, *formula.oldnames].compact.uniq
rescue FormulaUnavailableError
raise if raise_error
end
end
end
end

View File

@ -0,0 +1,56 @@
# typed: strict
# frozen_string_literal: true
require "hardware"
module Homebrew
module Bundle
module Skipper
class << self
sig { params(entry: Dsl::Entry, silent: T::Boolean).returns(T::Boolean) }
def skip?(entry, silent: false)
require "bundle/formula_dumper"
return true if @failed_taps&.any? do |tap|
prefix = "#{tap}/"
entry.name.start_with?(prefix) || entry.options[:full_name]&.start_with?(prefix)
end
entry_type_skips = Array(skipped_entries[entry.type])
return false if entry_type_skips.empty?
# Check the name or ID particularly for Mac App Store entries where they
# can have spaces in the names (and the `mas` output format changes on
# occasion).
entry_ids = [entry.name, entry.options[:id]&.to_s].compact
return false unless entry_type_skips.intersect?(entry_ids)
puts Formatter.warning "Skipping #{entry.name}" unless silent
true
end
sig { params(tap_name: String).void }
def tap_failed!(tap_name)
@failed_taps ||= T.let([], T.nilable(T::Array[String]))
@failed_taps << tap_name
end
private
sig { returns(T::Hash[Symbol, T::Array[String]]) }
def skipped_entries
return @skipped_entries if @skipped_entries
@skipped_entries ||= T.let({}, T.nilable(T::Hash[Symbol, T::Array[String]]))
[:brew, :cask, :mas, :tap, :whalebrew].each do |type|
@skipped_entries[type] =
ENV["HOMEBREW_BUNDLE_#{type.to_s.upcase}_SKIP"]&.split
end
@skipped_entries
end
end
end
end
end
require "extend/os/bundle/skipper"

View File

@ -0,0 +1,26 @@
# typed: strict
# frozen_string_literal: true
module Homebrew
module Bundle
module Checker
class TapChecker < Homebrew::Bundle::Checker::Base
PACKAGE_TYPE = :tap
PACKAGE_TYPE_NAME = "Tap"
sig {
params(entries: T::Array[Homebrew::Bundle::Dsl::Entry], exit_on_first_error: T::Boolean,
no_upgrade: T::Boolean, verbose: T::Boolean).returns(T::Array[String])
}
def find_actionable(entries, exit_on_first_error: false, no_upgrade: false, verbose: false)
requested_taps = format_checkable(entries)
return [] if requested_taps.empty?
require "bundle/tap_dumper"
current_taps = Homebrew::Bundle::TapDumper.tap_names
(requested_taps - current_taps).map { |entry| "Tap #{entry} needs to be tapped." }
end
end
end
end
end

View File

@ -0,0 +1,47 @@
# typed: strict
# frozen_string_literal: true
require "json"
module Homebrew
module Bundle
module TapDumper
sig { void }
def self.reset!
@taps = nil
end
sig { returns(String) }
def self.dump
taps.map do |tap|
remote = if tap.custom_remote? && (tap_remote = tap.remote)
if (api_token = ENV.fetch("HOMEBREW_GITHUB_API_TOKEN", false).presence)
# Replace the API token in the remote URL with interpolation.
# Rubocop's warning here is wrong; we intentionally want to not
# evaluate this string until the Brewfile is evaluated.
# rubocop:disable Lint/InterpolationCheck
tap_remote = tap_remote.gsub api_token, '#{ENV.fetch("HOMEBREW_GITHUB_API_TOKEN")}'
# rubocop:enable Lint/InterpolationCheck
end
", \"#{tap_remote}\""
end
"tap \"#{tap.name}\"#{remote}"
end.sort.uniq.join("\n")
end
sig { returns(T::Array[String]) }
def self.tap_names
taps.map(&:name)
end
sig { returns(T::Array[Tap]) }
private_class_method def self.taps
@taps ||= T.let(nil, T.nilable(T::Array[Tap]))
@taps ||= begin
require "tap"
Tap.select(&:installed?).to_a
end
end
end
end
end

View File

@ -0,0 +1,46 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
module Homebrew
module Bundle
module TapInstaller
def self.preinstall!(name, verbose: false, **_options)
if installed_taps.include? name
puts "Skipping install of #{name} tap. It is already installed." if verbose
return false
end
true
end
def self.install!(name, preinstall: true, verbose: false, force: false, **options)
return true unless preinstall
puts "Installing #{name} tap. It is not currently installed." if verbose
args = []
official_tap = name.downcase.start_with? "homebrew/"
args << "--force" if force || (official_tap && Homebrew::EnvConfig.developer?)
success = if options[:clone_target]
Bundle.brew("tap", name, options[:clone_target], *args, verbose:)
else
Bundle.brew("tap", name, *args, verbose:)
end
unless success
require "bundle/skipper"
Homebrew::Bundle::Skipper.tap_failed!(name)
return false
end
installed_taps << name
true
end
def self.installed_taps
require "bundle/tap_dumper"
@installed_taps ||= Homebrew::Bundle::TapDumper.tap_names
end
end
end
end

View File

@ -0,0 +1,24 @@
# typed: strict
# frozen_string_literal: true
module Homebrew
module Bundle
module Checker
class VscodeExtensionChecker < Homebrew::Bundle::Checker::Base
PACKAGE_TYPE = :vscode
PACKAGE_TYPE_NAME = "VSCode Extension"
sig { params(extension: String, no_upgrade: T::Boolean).returns(String) }
def failure_reason(extension, no_upgrade:)
"#{PACKAGE_TYPE_NAME} #{extension} needs to be installed."
end
sig { params(extension: String, no_upgrade: T::Boolean).returns(T::Boolean) }
def installed_and_up_to_date?(extension, no_upgrade: false)
require "bundle/vscode_extension_installer"
Homebrew::Bundle::VscodeExtensionInstaller.extension_installed?(extension)
end
end
end
end
end

View File

@ -0,0 +1,30 @@
# typed: strict
# frozen_string_literal: true
module Homebrew
module Bundle
module VscodeExtensionDumper
sig { void }
def self.reset!
@extensions = nil
end
sig { returns(T::Array[String]) }
def self.extensions
@extensions ||= T.let(nil, T.nilable(T::Array[String]))
@extensions ||= if Bundle.vscode_installed?
Bundle.exchange_uid_if_needed! do
`"#{Bundle.which_vscode}" --list-extensions 2>/dev/null`
end.split("\n").map(&:downcase)
else
[]
end
end
sig { returns(String) }
def self.dump
extensions.map { |name| "vscode \"#{name}\"" }.join("\n")
end
end
end
end

View File

@ -0,0 +1,52 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
module Homebrew
module Bundle
module VscodeExtensionInstaller
def self.reset!
@installed_extensions = nil
end
def self.preinstall!(name, no_upgrade: false, verbose: false)
if !Bundle.vscode_installed? && Bundle.cask_installed?
puts "Installing visual-studio-code. It is not currently installed." if verbose
Bundle.brew("install", "--cask", "visual-studio-code", verbose:)
end
if extension_installed?(name)
puts "Skipping install of #{name} VSCode extension. It is already installed." if verbose
return false
end
raise "Unable to install #{name} VSCode extension. VSCode is not installed." unless Bundle.vscode_installed?
true
end
def self.install!(name, preinstall: true, no_upgrade: false, verbose: false, force: false)
return true unless preinstall
return true if extension_installed?(name)
puts "Installing #{name} VSCode extension. It is not currently installed." if verbose
return false unless Bundle.exchange_uid_if_needed! do
Bundle.system(T.must(Bundle.which_vscode), "--install-extension", name, verbose:)
end
installed_extensions << name
true
end
def self.extension_installed?(name)
installed_extensions.include? name.downcase
end
def self.installed_extensions
require "bundle/vscode_extension_dumper"
@installed_extensions ||= Homebrew::Bundle::VscodeExtensionDumper.extensions
end
end
end
end

View File

@ -0,0 +1,36 @@
# typed: strict
# frozen_string_literal: true
require "utils/output"
module Homebrew
module Bundle
module WhalebrewDumper
extend Utils::Output::Mixin
sig { void }
def self.reset!
@images = T.let(nil, T.nilable(T::Array[String]))
end
sig { returns(T::Array[T.nilable(String)]) }
def self.images
return [] unless Bundle.whalebrew_installed?
odisabled "`brew bundle` `whalebrew` support", "using `whalebrew` directly"
@images ||= T.let(
`whalebrew list 2>/dev/null`.split("\n")
.reject { |line| line.start_with?("COMMAND ") }
.filter_map { |line| line.split(/\s+/).last }
.uniq,
T.nilable(T::Array[String]),
)
end
sig { returns(String) }
def self.dump
images.map { |image| "whalebrew \"#{image}\"" }.join("\n")
end
end
end
end

View File

@ -0,0 +1,52 @@
# typed: true # rubocop:todo Sorbet/StrictSigil
# frozen_string_literal: true
require "utils/output"
module Homebrew
module Bundle
module WhalebrewInstaller
extend Utils::Output::Mixin
def self.reset!
@installed_images = nil
end
def self.preinstall!(name, verbose: false, **_options)
unless Bundle.whalebrew_installed?
puts "Installing whalebrew. It is not currently installed." if verbose
Bundle.brew("install", "--formula", "whalebrew", verbose:)
raise "Unable to install #{name} app. Whalebrew installation failed." unless Bundle.whalebrew_installed?
end
if image_installed?(name)
puts "Skipping install of #{name} app. It is already installed." if verbose
return false
end
true
end
def self.install!(name, preinstall: true, verbose: false, force: false, **_options)
odisabled "`brew bundle` `whalebrew` support", "using `whalebrew` directly"
return true unless preinstall
puts "Installing #{name} image. It is not currently installed." if verbose
return false unless Bundle.system "whalebrew", "install", name, verbose: verbose
installed_images << name
true
end
def self.image_installed?(image)
installed_images.include? image
end
def self.installed_images
require "bundle/whalebrew_dumper"
@installed_images ||= Homebrew::Bundle::WhalebrewDumper.images
end
end
end
end

View File

@ -7,16 +7,8 @@ module Cachable
@cache ||= T.let({}, T.nilable(T::Hash[T.untyped, T.untyped]))
end
# NOTE: We overwrite here instead of using `Hash#clear` to handle frozen hashes.
sig { void }
def clear_cache
overwrite_cache!({})
end
private
sig { params(hash: T::Hash[T.untyped, T.untyped]).void }
def overwrite_cache!(hash)
@cache = hash
cache.clear
end
end

View File

@ -22,6 +22,9 @@ require "cask/artifact/prefpane"
require "cask/artifact/qlplugin"
require "cask/artifact/mdimporter"
require "cask/artifact/screen_saver"
require "cask/artifact/bashcompletion"
require "cask/artifact/fishcompletion"
require "cask/artifact/zshcompletion"
require "cask/artifact/service"
require "cask/artifact/stage_only"
require "cask/artifact/suite"

Some files were not shown because too many files have changed in this diff Show More