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
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
Douglas Eichelberger
fcf18912fe
Inline use of attr_predicate
2025-03-02 21:36:03 -08:00
Douglas Eichelberger
a81239ec2d
Enable strict typing in Formula
2025-02-24 10:23:42 -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
botantony
35dcf8e362
creator: add zig option
2025-02-21 15:05:42 +01: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
Douglas Eichelberger
8763fb6d29
Resolve rubocop violations
2025-02-17 18:56:31 -08: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
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
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
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
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
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
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
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
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
Bo Anderson
627c4a714c
dev-cmd/pr-upload: allow --keep-old with --upload-only
2025-02-03 18:15:31 +01:00
William Woodruff
0ceddc91ce
code review
...
Signed-off-by: William Woodruff <william@yossarian.net>
2025-02-03 17:12:11 +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
Nanda H Krishna
a49e7d9483
dev-cmd/livecheck: improve error message when all formulae are autobumped
2025-02-03 12:43:17 +01:00
Bo Anderson
f727d07d43
dev-cmd/bottle: don't install gnu-tar when not needed
2025-01-31 10:57:47 +01:00
Mike McQuaid
7ff99e2353
Use ~ instead of ${HOME}
...
Partial revert of Homebrew/brew#19153
See https://github.com/Homebrew/brew/pull/19153#discussion_r1930678587
2025-01-27 15:19:59 +00:00
Mike McQuaid
bbf5a9f479
env_config: use environment variables consistently
...
- use e.g. `$HOMEBREW_*` for cases where only the environment variable
is the entire backtick-quoted string
- use e.g. `${HOMEBREW_*}` for cases where the environment variable is
part of a backtick-quoted string to make clear what parts are variable
and what parts are not
- use `export HOMEBREW_*=...` for cases where we're talking about
setting the environment variable (because it likely needs to be
exported to work how they want)
Inspired by https://github.com/Homebrew/homebrew-bundle/pull/1579 making
similar changes for Homebrew/homebrew-bundle.
2025-01-27 14:21:27 +00:00
Mike McQuaid
9cc9dd8760
dev-cmd/tests: disable forcing brew
wrapper in tests.
...
Otherwise, various integration tests will fail under some
configurations.
2025-01-23 16:06:23 +00:00
Nanda H Krishna
22da03e887
Fix type errors
2025-01-22 01:45:19 +05:30
Nanda H Krishna
f69478bc1d
dev-cmd/bump-formula-pr: automatically bump matched-version resources
2025-01-22 01:39:41 +05:30
Issy Long
4c9de7d31c
Merge pull request #19084 from Homebrew/add-comments-to-rubocop-disables
...
Add clarifying comments to `rubocop:disable`s
2025-01-13 11:32:31 +00:00
Mike McQuaid
4b29d940ae
Merge pull request #19086 from Homebrew/fix-unbottled-linux-bug
...
dev-cmd/unbottled: fix module resolution error
2025-01-13 09:14:13 +00:00
apainintheneck
85ea7f26f3
dev-cmd/unbottled: fix module resolution error
...
The problem here was that it was unable to find the correct namespace.
---Before---
It assumed the `MacOS` module was below the `Homebrew::DevCmd::Unbottled` class.
```rb
kevinrobell@kevinrobell-iMac ~ [1]> brew unbottled --tag arm64_sequoia --dependents -v vtk
==> Populating dependency tree...
==> :arm64_sequoia bottle status
Error: uninitialized constant Homebrew::DevCmd::Unbottled::MacOS
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:242:in `block (2 levels) in output_unbottled'
/home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/set.rb:501:in `each_key'
/home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/set.rb:501:in `each'
/home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/delegate.rb:87:in `all?'
/home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/delegate.rb:87:in `method_missing'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:233:in `block in output_unbottled'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:214:in `each'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:214:in `output_unbottled'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:107:in `block in run'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/simulate_system.rb:29:in `with'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:67:in `run'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:94:in `<main>'
Please report this issue:
https://docs.brew.sh/Troubleshooting
```
I tried just adding `::Macos...` and that also caused an error because it seems like the `MacOs = OS::Mac` code had not been loaded.
```
kevinrobell@kevinrobell-iMac ~ [1]> brew unbottled --tag arm64_sequoia --dependents -v vtk
==> Populating dependency tree...
==> :arm64_sequoia bottle status
Error: uninitialized constant MacOS
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:242:in `block (2 levels) in output_unbottled'
/home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/set.rb:501:in `each_key'
/home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/set.rb:501:in `each'
/home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/delegate.rb:87:in `all?'
/home/kevinrobell/.asdf/installs/ruby/3.3.6/lib/ruby/3.3.0/delegate.rb:87:in `method_missing'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:233:in `block in output_unbottled'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:214:in `each'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:214:in `output_unbottled'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:107:in `block in run'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/simulate_system.rb:29:in `with'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/unbottled.rb:67:in `run'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `bind_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/call_validation.rb:278:in `validate_call'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11711/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:94:in `<main>'
Please report this issue:
https://docs.brew.sh/Troubleshooting
```
---After---
```
kevinrobell@kevinrobell-iMac ~ [1]> brew unbottled --tag arm64_sequoia --dependents -v vtk
==> Populating dependency tree...
==> :arm64_sequoia bottle status
vtk: doesn't support this macOS
```
2025-01-12 23:46:30 -08:00
Issy Long
6ada9a9665
Add clarifying comments to rubocop:disable
s
...
- Needed for PR 18842 that adds a `DisableComment` RuboCop to ensure that all RuboCop disables have comments.
2025-01-12 16:59:07 +00:00
Sam Ford
cb514a1d04
Disable parallel for small test coverage runs
...
`brew tests --coverage` can fail to produce coverage information when
run on a small number of tests (e.g., `--only utils/curl`). We use
`ParallelTests::last_process?` in `tests/spec_helper.rb` to handle
the SimpleCov output but due to the way the method is implemented, it
doesn't work as expected if the number of processes is greater than
one but lower than the number of cores. I tried to address this
through changes to `spec_helper.rb` and/or changes to `ParallelTests`
but didn't meet with any success.
This works around the issue by disabling parallel test execution when
the `--coverage` option is used and the number of files to be tested
is lower than the number of CPU cores. I've been using this workaround
for months and it works as expected on my machine.
2025-01-10 19:42:04 -05:00
Issy Long
5faa0e1dbf
Merge pull request #19042 from Homebrew/more-typed-strict
...
Bump more files to Sorbet `typed: strict`
2025-01-11 00:22:09 +00:00
Issy Long
268f801038
Bump more files to Sorbet typed: strict
2025-01-11 00:11:27 +00:00
Issy Long
683f85f4b0
Merge pull request #18984 from Homebrew/livecheck-skip-autobumped-formulae
...
dev-cmd/livecheck: Skip autobumped formulae
2025-01-04 15:27:16 +00:00
Issy Long
ce562c312b
Alphabetical envvars; better variable names; just the one loop
2025-01-04 14:26:05 +00:00
Issy Long
296c2b9f3f
Be smarter about finding a tap's autobump.txt
...
- Livecheck blocks can exist in taps other than Core and Cask.
- And packages can have the same name in multiple taps.
2025-01-02 17:41:52 +00:00
Issy Long
a71786a332
Flag and envvar to include autobumped formulae
...
- This is useful for maintainers to check the full range of livecheck functionality.
2025-01-02 17:20:38 +00:00
Mike McQuaid
e69124045a
Remove BuildPulse and use CodeCov instead
...
Now we're successfully sending flaky test results to CodeCov, let's
remove BuildPulse code and docs.
2024-12-24 10:32:55 +00:00
Issy Long
4b94bbb4d4
More efficient autobump file reads - and support Casks
2024-12-22 14:40:40 +00:00
Issy Long
b54b9dad2a
Oh the non-breaking space (option + space) got me again
2024-12-22 00:31:56 +00:00
Issy Long
3f976ec0c2
dev-cmd/livecheck: Skip autobumped formulae
...
- Skip formulae that are autobumped by BrewTestBot,
to avoid useless effort spent by contributors who
are checking for formulae to bump and then we close
their PRs.
2024-12-22 00:27:58 +00:00
Douglas Eichelberger
69f2d3bf32
Merge branch 'master' into no-ostruct
2024-12-10 11:00:32 -08:00
Bo Anderson
ccdf39ff4e
dev-cmd/tap-new: improve handling of multi-user setups
2024-12-10 05:24:10 +00:00
Douglas Eichelberger
ce9216e66c
Fix use of tap
2024-12-08 10:28:10 -08:00