3279 Commits

Author SHA1 Message Date
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
Shivam Mathur
7b604ef924 dev-cmd/pr-automerge: add missing require 2024-07-17 05:56:20 +00:00
Nanda H Krishna
9e7eef33a6
Merge pull request #17748 from Homebrew/brew_bump_all
`brew bump`: cleanup and improve `--eval-all` handling
2024-07-15 15:55:27 -04:00
Ruoyu Zhong
22c5bdf2af
dev-cmd/rubocop: use ShellCommand 2024-07-15 14:49:23 -04:00
Mike McQuaid
835c2f2e2b
Merge pull request #17742 from Homebrew/ruby_bash_commands_integrations 2024-07-15 16:10:31 +02:00
Nanda H Krishna
d20add9786
brew bump: more improvements 2024-07-14 23:46:17 -04:00
Ruoyu Zhong
640f3c904a
dev-cmd/bump-formula-pr: fix missing require
Fixes https://github.com/Homebrew/homebrew-core/actions/runs/9931895403/job/27432438142#step:6:716.
2024-07-14 23:17:45 -04:00
Nanda H Krishna
32d1f10fcf
Fix style issues 2024-07-14 23:13:59 -04:00
Mike McQuaid
5987c5c1d0
Add stub Ruby commands for all Bash commands.
This gets us pretty similar (but easier to manage) manpage output but
much nicer completions etc. for all these commands.
2024-07-14 23:12:53 -04:00
Nanda H Krishna
4b2c9e0651
brew bump: cleanup and improve --eval-all handling 2024-07-14 23:11:34 -04:00
Bo Anderson
8cbb04b09d
dev-cmd/update-test: fix dev channel testing 2024-07-15 03:50:53 +01:00
Nanda H Krishna
9f3c404b0b
Merge pull request #17740 from Moisan/brew_bump_all
`brew bump`: do not call repology by default
2024-07-14 16:48:47 -04:00
Thierry Moisan
0bb64fd312
Add --repology flag 2024-07-14 16:35:10 -04:00
Patrick Linnane
e9db766624
dev-cmd/pr-publish: add missing require
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2024-07-14 12:43:39 -07:00
Mike McQuaid
d9853fb412
dev-cmd/bottle: add missing require.
Another one of these.
2024-07-14 15:25:33 -04:00