3393 Commits

Author SHA1 Message Date
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
Rylan Polster
0b5130937f
Update debugger to fail without portable ruby 2024-08-15 10:14:52 -04:00
Rylan Polster
3b63a7eff4
Add brew debugger command 2024-08-14 22:56:26 -04:00
Issy Long
807093f276
dev-cmd/typecheck: Support typechecking in taps
```shell
$ brew typecheck homebrew/bundle
No sorbet/ directory found. Maybe you want to run 'srb init'?

A type checker for Ruby

Usage:
  srb                                 Same as "srb t"
  srb (init | initialize)             Initializes the `sorbet` directory
  srb rbi [options]                   Manage the `sorbet` directory
  srb (t | tc | typecheck) [options]  Typechecks the code

Options:
  -h, --help     View help for this subcommand.
  --version      Show version.

For full help:
  https://sorbet.org
Check https://docs.brew.sh/Typechecking for more information on how to resolve these errors.
```
2024-08-12 18:14:22 +01:00
Issy Long
45978435e7
rubocop: Use Sorbet/StrictSigil as it's better than comments
- Previously I thought that comments were fine to discourage people from
  wasting their time trying to bump things that used `undef` that Sorbet
  didn't support. But RuboCop is better at this since it'll complain if
  the comments are unnecessary.

- Suggested in https://github.com/Homebrew/brew/pull/18018#issuecomment-2283369501.

- I've gone for a mixture of `rubocop:disable` for the files that can't
  be `typed: strict` (use of undef, required before everything else, etc)
  and `rubocop:todo` for everything else that should be tried to make
  strictly typed. There's no functional difference between the two as
  `rubocop:todo` is `rubocop:disable` with a different name.

- And I entirely disabled the cop for the docs/ directory since
  `typed: strict` isn't going to gain us anything for some Markdown
  linting config files.

- This means that now it's easier to track what needs to be done rather
  than relying on checklists of files in our big Sorbet issue:

```shell
$ git grep 'typed: true # rubocop:todo Sorbet/StrictSigil' | wc -l
    268
```

- And this is confirmed working for new files:

```shell
$ git status
On branch use-rubocop-for-sorbet-strict-sigils
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        Library/Homebrew/bad.rb
        Library/Homebrew/good.rb

nothing added to commit but untracked files present (use "git add" to track)

$ brew style
Offenses:

bad.rb:1:1: C: Sorbet/StrictSigil: Sorbet sigil should be at least strict got true.
^^^^^^^^^^^^^

1340 files inspected, 1 offense detected
```
2024-08-12 15:24:27 +01:00
Rui Chen
e28b5091b3
dev-cmd/dispatch-build-bottle: add missing require
```
Error: uninitialized constant Homebrew::DevCmd::DispatchBuildBottle::Tap
Error: uninitialized constant Utils::Bottles
```

Signed-off-by: Rui Chen <rui@chenrui.dev>
2024-08-03 17:44:41 -04:00
Rylan Polster
afc8c0fa62
Remove redundant unless
Co-authored-by: Bo Anderson <mail@boanderson.me>
2024-08-02 19:20:38 -04:00
Rylan Polster
6badcd929c
Add sorbet vscode configuration 2024-08-02 16:03:49 -04:00
Mike McQuaid
96cbc7bd6e
dev-cmd/release: add missing require. 2024-07-29 09:25:51 +01:00
Issy Long
9e98bbf59a
Revert "dev-cmd/contributions: Show only the CSV output for --csv" 2024-07-28 19:28:19 +01:00
Issy Long
c880dd4350
dev-cmd/contributions: Show only the CSV output for --csv
- This was noisy when using `--csv` as it would print the text output
  and then the CSV output.
2024-07-28 16:17:07 +01:00
Sam Ford
a6e61fd664
contributions, github: reorder requires
Per feedback to https://github.com/Homebrew/brew/pull/17806, this
moves some `require` statements in `dev-cmd/contributions.rb` and
`Utils::GitHub` into the methods that need them.
2024-07-25 10:02:18 -04:00
Sam Ford
403b0bf3f1
contributions: resolve type errors
This updates the type signature for `#scan_repositories` to address a
runtime type error and to reflect the actual return type.

The logic in `#scan_repositories` to check for unsupported
repositories leads to a type error, as `#ofail` has a void return
type. To resolve this, I moved the repository verification code into
`#run` (after `repos` is defined but before it's used) and used
`#odie`, so the command will exit early with an error.

While I was at it, I updated the type for the `repos` parameter to
not be `nilable`, as it shouldn't be `nil` based on how we're
handling `repos` in `#run`.
2024-07-18 15:40:10 -04:00
Sam Ford
b4b984e968
contributions: move CSV require into #generate_csv
CSV generation is optional, so this moves the related `require` into
the method where `CSV` is used (following a pattern we've used for
other `require` calls throughout `brew`).
2024-07-18 15:40:07 -04:00
Sam Ford
a9f7da36e0
contributions, github: add missing requires
This resolves `unitialized constant` errors in `brew contributions`
(`Tap`, `GitHub`) and `Utils::GitHub` (`Utils::Curl`).

This also preemptively adds some requires to `Utils::GitHub` and
`GitHub::API`, to avoid similar errors.
2024-07-18 12:55:41 -04:00