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
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
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
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
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
d31b7fe86e
Add docs for brew alias
command
2025-07-15 13:34:49 -04: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
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
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
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
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
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
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
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
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
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
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
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