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
Eric Knibbe
a5c0b44c68
update-maintainers: ignore accents when sorting names
2024-12-06 09:22:05 -05:00
Douglas Eichelberger
90d066c7b8
Tidy up layout
2024-12-04 08:00:32 -08:00
Douglas Eichelberger
e1fdd2eda4
Enable strict typing in NamedArgs
2024-12-03 17:43:22 -08:00
Mike McQuaid
d4c8ce0bba
Merge pull request #18839 from Homebrew/livecheck/rename-livecheckable
2024-12-03 09:27:53 +00:00
Eric Knibbe
79fb75177f
generate-man-completions: also fail if only date changed
2024-12-02 15:44:27 -05:00
Sam Ford
01cb74e525
livecheck: clarify livecheckable language
...
Formulae, casks, and resources have a `#livecheckable?` method that
indicates whether they contain a `livecheck` block. This is intended
to be read as "has a livecheckable?", not "is livecheckable?" (as
livecheck can find versions for some packages/resources without a
`livecheck` block). Unfortunately, correct understanding of this
method's behavior [outside of documentation] relies on historical
knowledge that few people possess, so this is often confusing to
anyone who hasn't been working on livecheck since 2020.
In the olden days, a "livecheckable" was a Ruby file containing a
`livecheck` block (originally a hash) with a filename that
corresponded to a related formula. The `livecheck` blocks in
livecheckable files were integrated into their respective formulae in
August 2020, so [first-party] livecheckables ceased to exist at that
time. From that point forward, we simply referred to these as
`livecheck` blocks.
With that in mind, this clarifies the situation by replacing
"livecheckable" language. This includes renaming `#livecheckable?` to
`#livecheck_defined?`, replacing usage of "livecheckable" as a noun
with "`livecheck` block", replacing "livecheckable" as a boolean with
"livecheck_defined", and replacing incorrect usage of "livecheckable"
as an adjective with "checkable".
2024-12-02 10:13:03 -05:00
Sam Ford
1cbcc44cb4
bump: skip PR checking when livecheck fails
...
`brew bump` will check for PRs related to a package even if livecheck
fails to identify new versions. This reworks related conditions to
ensure that related PR checks are only run when livecheck returns
version information.
2024-11-24 20:50:39 -05:00
Sam Ford
a89457fcb9
bump: skip PR checking when up to date
...
`brew bump` will check for PRs related to a package even if the
package version and livecheck version are the same. We're presumably
only interested in related PRs when the livecheck version differs, so
we can reduce GitHub API requests by skipping the check(s) when the
versions are equal. We use `bump` in `autobump` workflows, so this
should help with recent rate limiting issues (e.g., 3203 out of 3426
autobumped formulae were up to date in a recent run).
This also reworks the output for duplicate PRs, making it clear when
`bump` skipped checking PRs (as printing "none" would suggest that
PRs were checked) and only printing the "Maybe duplicate" information
when checked. This makes it a little easier to understand what `bump`
has done internally from the output.
2024-11-24 20:50:37 -05:00
Bevan Kay
7c5e59e8a4
generate-cask-ci-matrix-syntax: allow no argument for syntax-only jobs
2024-11-19 20:32:12 +11:00
Bevan Kay
597f5fa018
generate-cask-ci-matrix: fix incorrect error raised
2024-11-18 12:59:56 +11:00
Bevan Kay
dd3ad5bb56
add generate-cask-ci-matrix command
2024-11-16 22:19:09 +11:00
Sutou Kouhei
0c3e207b24
dev-cmd/bump-formula-pr: fix type error
...
The error message:
Error: Parameter 'formula': Expected type String, got type Formulary::FormulaNamespace87ec47e7f9dec2f39e30adcc9fdea28fb57606eab88d4f83e8ebec591964143c::ApacheArrow with value #<Formula apache-arrow (sta...ore/Formula/a/apache-arrow.rb>
Caller: /opt/homebrew/Library/Homebrew/dev-cmd/bump-formula-pr.rb:152
Definition: /opt/homebrew/Library/Homebrew/dev-cmd/bump-formula-pr.rb:417 (Homebrew::DevCmd::BumpFormulaPr#check_for_mirrors)
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11618/lib/types/configuration.rb:296:in `call_validation_error_handler_default'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11618/lib/types/configuration.rb:303:in `call_validation_error_handler'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11618/lib/types/private/methods/call_validation.rb:310:in `report_error'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11618/lib/types/private/methods/call_validation.rb:218:in `block in validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11618/lib/types/private/methods/signature.rb:213:in `each_args_value_type'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11618/lib/types/private/methods/call_validation.rb:215:in `validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11618/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/opt/homebrew/Library/Homebrew/dev-cmd/bump-formula-pr.rb:152:in `run'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11618/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11618/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/gems/sorbet-runtime-0.5.11618/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/opt/homebrew/Library/Homebrew/brew.rb:94:in `<main>'
Please report this issue:
https://docs.brew.sh/Troubleshooting
This happened when I use the following command line:
brew bump-formula-pr \
--commit \
--no-audit \
--sha256="abcf1934cd0cdddd33664e9f2d9a251d6c55239d1122ad0ed223b13a583c82a9" \
--url="https://www.apache.org/dyn/closer.lua?path=arrow/arrow-18.0.0/apache-arrow-18.0.0.tar.gz " \
--verbose \
--write-only \
apache-arrow
2024-10-29 06:42:29 +09:00
Ruoyu Zhong
146212c5eb
brew tc --fix
2024-10-25 03:06:16 +08:00
Dawid Dziurla
02cef968a2
dev-cmd/bump-formula-pr: always use full git repo as tap remote
2024-10-15 10:20:58 +02:00
Douglas Eichelberger
ced4a3a91f
Migrate Parlour extensions to Tapioca compilers
2024-10-14 19:50:09 -07:00
Klaus Hipp
837bc711b9
dev-cmd/bump: fix comparison of versions with comma-separated values
2024-10-02 17:18:41 +01:00
Mike McQuaid
5ac34f5348
Merge pull request #18462 from Homebrew/ci_macos_15
...
github/workflows: use macos-15 GitHub Actions runners.
2024-10-02 16:06:52 +01:00
Bo Anderson
315709f2ab
dev-cmd/vendor-gems: fix UID handling
2024-10-01 05:43:42 +01:00
Mike McQuaid
8dc9e117f3
github/workflows: use macos-15 GitHub Actions runners.
...
- Let's use this instead of macOS 14/latest when possible.
- Keep around macOS 13 to ensure we're still testing x86_64.
2024-09-30 09:02:23 +01:00
Mike McQuaid
6e55426407
dev-cmd/create: tweak wording.
2024-09-26 12:25:06 +01:00
Anatoli Babenia
82f9ebd613
create: show audit command on the next line
...
This makes it easy to copy/paste the command, which needs to be
run anyway.
2024-09-26 09:06:50 +03:00
Rui Chen
09b71befb4
revert tap_remote_repository change
...
Signed-off-by: Rui Chen <rui@chenrui.dev>
2024-09-25 10:03:17 -04:00
Rui Chen
b178a80220
update tap_remote_repo ref
...
Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
2024-09-25 10:00:00 -04:00
Rui Chen
7655a6f91a
chore: remote_repo -> remote_repository
...
Signed-off-by: Rui Chen <rui@chenrui.dev>
2024-09-25 09:52:41 -04:00
Mike McQuaid
94416e82f0
Add new odeprecated, odisabled, remove disabled code.
...
Prepare the usual deprecation cycle for Homebrew 4.4.0.
2024-09-24 10:15:34 +01:00
Carlo Cabrera
f26530dd9d
dev-cmd/bottle: improve :all
bottle handling
...
Currently, we silently ignore cases where a formula previously had an
`:all` bottle but now no longer does.
These are most often due to (in order of likelihood):
- bottle reproducibility breakage in `brew`
- new hard-coded `/usr/local` references in text files in a bottle
The former is a bug that should be fixed, while the latter can be fixed
trivally with an `inreplace`.
Let's try to make sure we always do this by making `brew bottle` error
out so that we can catch these instances as they happen rather than
after the fact.
I haven't encountered any cases where a formula previously had an `:all`
bottle but no longer does for reasons other than the two outlined above.
If we do encouter those in the future, we can either:
- update `brew bottle` to skip this check, perhaps with a new flag
- delete the formula's old `:all` bottle before doing `brew bottle` so
it doesn't error
2024-09-18 19:21:54 +08:00
Michael Cho
133e46e484
dev-cmd/unbottled: fix total unbottled count
2024-09-17 12:47:39 -04:00
Bo Anderson
337ac07980
dev-cmd/generate-cask-api: fix handling of +
characters
2024-09-16 16:25:19 +01:00
Carlo Cabrera
9127bf2c71
Merge remote-tracking branch 'origin/master' into auto-bump
2024-09-06 20:04:45 +08:00
Carlo Cabrera
800df2a284
Improve error message
...
Co-authored-by: Markus Reiter <me@reitermark.us>
2024-09-06 16:39:55 +08:00
Mike McQuaid
019b0f50fb
Merge pull request #18260 from tshu-w/master
2024-09-05 10:12:04 +01:00
Tianshu Wang
4f62fd0789
Revert $TMPDIR for emacsclient
2024-09-05 15:49:11 +08:00
Bo Anderson
eb5f47637f
Globally silence default gem warnings
2024-09-05 03:37:25 +01:00