3457 Commits

Author SHA1 Message Date
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
Michael Cho
a07be232df
dev-cmd/bottle: use iso8601 for compliance with spec 2024-09-02 10:26:37 -04:00
Carlo Cabrera
e6dd9fbd9c
Use tap#autobump 2024-09-02 22:10:05 +08:00
Carlo Cabrera
07d04dd348
dev-cmd/bump: add --auto flag
This will read from the tap's `.github/autobump.txt` when provided.

See discussion at Homebrew/homebrew-core#183126.
2024-09-02 20:01:16 +08:00
Sam Ford
24ac6967ba
Adjust typing around #check_pull_requests
`brew bump-formula-pr` is encountering a type error, as the inferred
return type of `GitHub#check_for_duplicate_pull_requests` doesn't
align with the explicit return type of `#check_pull_requests`:

```
Error: Return value: Expected type T.nilable(T::Array[String]), got
  type Module with value T::Private::Types::Void::VOID
Caller: /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/
  bump-formula-pr.rb:137
Definition: /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/
  dev-cmd/bump-formula-pr.rb:472 (Homebrew::DevCmd::BumpFormulaPr
  #check_pull_requests)
```

This addresses the issue by adding a type signature with a `void`
return type to `#check_for_duplicate_pull_requests` and setting the
return type of `#check_pull_requests` to `void` as well. The return
type from `#check_pull_requests` isn't used, so a `void` return type
is arguably a better reflection of the method's behavior. The
`#check_pull_requests` method in `BumpCaskPr` has a `void` return
type, so this change brings the `BumpFormulaPr` method in line.
2024-08-31 16:42:43 -04:00
Mike McQuaid
fe909c41b8
Improve duplicate pull request handling
- change the messaging depending on how confident we are that we're
  actually looking at duplicates i.e. we're not confident without a
  version number supplied
- similarly, just warn instead of failing with an error (and no
  override) if we're not confident that we're looking at duplicates
  because a version wasn't supplied
- change `bump-cask-pr` and `bump-formula-pr` to always check for all
  pull requests with the new version number (to allow failing on this)
  rather than only checking closed pull requests with a version number
- change `bump` to check for definite/maybe duplicate PRs and only
  exit if they are definitely duplicates
- cleanup some variable usage to DRY things up a bit
2024-08-30 14:21:42 +01:00
Bo Anderson
6a0db5035f
Fix misuse of fork in sandbox causing crashes 2024-08-28 13:53:01 +01:00
Michael Cho
253db8def2
dev-cmd/bottle: include installed_size in metadata 2024-08-23 14:24:21 -04:00
Michael Cho
f627c70b71
dev-cmd/bottle: use default tar when bottling gnu-tar 2024-08-23 11:14:34 -04:00
Bo Anderson
98fb5f9dea
Don't assume ENV is a superenv in RBI 2024-08-23 05:59:00 +01:00
Mike McQuaid
08c7044598
dev-cmd/edit: simplify flag check.
Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
2024-08-21 08:51:04 +01:00
Misty De Méo
89af10f29a dev-cmd/edit: correct path types
* Avoids passing the `--project` pseudopath to path checking methods
* Ensures the project path is a Pathname, not a String
2024-08-20 16:30:43 -07:00
Douglas Eichelberger
b3cb9420ab
Merge pull request #18081 from Homebrew/type-safety
Minor type safety improvements
2024-08-19 13:24:10 -07:00
Mike McQuaid
a2a92fa46d
Merge pull request #18027 from Homebrew/make-brew-typecheck-work-with-taps 2024-08-19 12:56:12 +01:00
Douglas Eichelberger
fb2fdc5249 Minor type safety improvements 2024-08-18 18:16:39 -07:00
Issy Long
4e37436c3a
dev-cmd/typecheck: Disallow --fix when in taps too
- This could autocorrect files in Homebrew/brew when
  we should be targetting the tap, because of the
  weird hierarchy thing
  (https://github.com/Homebrew/brew/pull/18027#issuecomment-2294896044).

Co-authored-by: Bo Anderson <mail@boanderson.me>
2024-08-17 22:04:20 +01:00
Issy Long
feedc5c84e
dev-cmd/typecheck: Use Sorbet's --dir to set the tap path
- This means we don't have to copy config files around,
  and users get instant results rather than having
  to run `srb init`.
2024-08-17 17:18:59 +01:00
Rylan Polster
842b4ac3d3
Improve VS Code debugger support 2024-08-15 11:47:31 -04:00