3393 Commits

Author SHA1 Message Date
Issy Long
d5af469e85
dev-cmd/tests: Bump to Sorbet typed: strict 2024-06-30 20:41:02 +01:00
Issy Long
0837f7c23c
dev-cmd/test: Bump to Sorbet typed: strict 2024-06-30 19:30:35 +01:00
Issy Long
3bf6a01516
dev-cmd/generate-formula-api: Bump to Sorbet typed: strict 2024-06-30 19:29:22 +01:00
Issy Long
944790acfe
dev-cmd/generate-cask-api: Bump to Sorbet typed: strict 2024-06-30 19:27:35 +01:00
Issy Long
3b28e90556
dev-cmd/tap-new: Bump to Sorbet typed: strict 2024-06-30 19:25:19 +01:00
Issy Long
69cf1df56f
dev-cmd/livecheck: Bump to Sorbet typed: strict 2024-06-30 19:23:26 +01:00
Issy Long
57ba22053f
dev-cmd/update-sponsors: Bump to Sorbet typed: strict 2024-06-30 19:10:38 +01:00
Issy Long
1b517a9d49
dev-cmd/irb: Bump to Sorbet typed: strict 2024-06-30 19:07:38 +01:00
Issy Long
c57cd4bf98
dev-cmd/contributions: Bump to Sorbet typed: strict 2024-06-30 18:42:16 +01:00
Issy Long
34caeb7ea8
dev-cmd/unbottled: Bump to Sorbet typed: strict 2024-06-30 17:49:27 +01:00
Ilya Kulakov
be48b47d91 extract: Add the --git-revision argument
When pinning formula alongside its dependencies it's important to limit
the search scope.
2024-06-28 17:45:35 -07:00
Alexander Bayandin
b24997242b dev-cmd/tap-new: update cache key 2024-06-22 20:55:13 +01:00
Alexander Bayandin
e44e645cec dev-cmd/tap-new: add macos-14 2024-06-22 17:47:24 +01:00
Eric Knibbe
b8dc576647
dev-cmd/extract: trim version to only digits/decimals for class & file names
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2024-06-20 08:15:36 -04:00
Mike McQuaid
64b86fe25c
bottle/github_packages: include path_exec_files.
`all_files` is added to the bottle JSON but not actually used by
`GitHubPackages` yet.
2024-06-19 21:49:31 +02:00
Patrick Linnane
8e089b2fd2
Revert "bottle/github_packages: include path_exec_files, all_files." 2024-06-18 09:59:27 -07:00
Mike McQuaid
0fa8e80a8f
Merge pull request #17518 from Homebrew/revert-17517-revert-17507-path_exec_files 2024-06-18 16:41:52 +02:00
Bo Anderson
1e7cf514eb
utils/gems: handle mismatching EUID and UID for bundle installs 2024-06-18 14:42:45 +01:00
Mike McQuaid
6b8b4d3f26
bottle/github_packages: include path_exec_files, all_files. 2024-06-16 09:35:33 +02:00
Patrick Linnane
2a053b7bc8
Revert "bottle/github_packages: include path_exec_files, all_files." 2024-06-15 12:54:59 -07:00
Mike McQuaid
895cd02071
bottle/github_packages: include path_exec_files, all_files.
This provides an extra field to the GitHub Packages manifest about the
executable files in `bin` or `sbin` directories of the bottle.

It also provides an extra GitHub Packages JSON file with the list of all
files.

This would allow us (post a large rebottling effort) to start providing
this information in the Homebrew JSON API.

It also provides a much nicer information source for e.g.
homebrew-command-not-found that doesn't involve downloading actual
bottles.

Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
2024-06-15 18:40:07 +01:00
Mike McQuaid
c13700af00
Use repository consistently instead of repo
The documentation linting job doesn't like `repo` so let's fix this
globally rather than naming it differently in documentation and code.
2024-06-10 09:31:53 +01:00
Mike McQuaid
84319eec05
Merge pull request #17408 from abitrolly/warn-after-edit
dev-cmd/edit: Show API install warning after the edit is done
2024-06-04 08:57:20 +01:00
Issy Long
e130e47f23
Merge pull request #17411 from Homebrew/typecheck-spoom-better 2024-06-02 22:56:17 +01:00
Issy Long
80be27dc9b
Make brew typecheck --update --suggest-typed bump strictness further
- Not only `false` to `true` but `true` to `strict`.
- Only humans every run this, but our goal is to increase the
  typechecking in our files to get to `strict` everywhere so
  let's make that easy to remember to do.
2024-06-02 18:53:38 +01:00
Issy Long
509fffab2b
Make more files Sorbet typed: strict
- According to Spoom, these could be bumped automatically with no errors.
2024-06-02 15:15:24 +01:00
Anatoli Babenia
bf87339bfb dev-cmd/edit: Show API install warning after the edit is done 2024-06-02 16:05:08 +03:00
Issy Long
da78bcfdcc
dev-cmd/contributions: ‘Coauthorship’ sounds weird
- This inconsistency of "author", "committer", "coauthorship", that is, only "coauthor" ending in "ship", has annoyed me ever since I wrote it. It has finally sufficiently annoyed me to fix it.
2024-06-02 08:35:33 +01:00
Mike McQuaid
712ca361d7
dev-cmd/bump*: improve autobump messaging.
Let's make it clearer _why_ autobumped PRs cannot be submitted by humans
and, while we're here, similarly for disabled/head-only packages.
2024-05-31 10:23:13 +01:00
Issy Long
1f9c764a69
dev-cmd/contributions: Pass from correctly through count_reviews too 2024-05-28 14:10:25 +01:00
Issy Long
808cfda92d
dev-cmd/contributions: Fix the date range behaviour
- This was broken (I did have a commit SHA for the breakage but I can't find it now) since `from` and `args.from` are different variables (one can be nil, the other has a default value).
- So it was reporting very high counts because, despite the message, the `from` restriction was not being passed to `count_repo_commits`.
2024-05-28 13:58:41 +01:00
Bo Anderson
b56fef7fd5
dev-cmd/vendor-gems: run bundle clean
Fixes install inconsistencies between standalone and all other bundle operations
2024-05-23 06:25:02 +01:00
Mike McQuaid
fd7df63b9d
dev-cmd/prof: add vernier support.
It's the newest great profiler for Ruby.
2024-05-17 23:57:46 +09:00
Mike McQuaid
a408da65fc
Hide default gems warnings for Ruby 3.4.
These omit warnings with Ruby 3.3 and are required for Ruby 3.4. We'll
fix them when we're upgrading to 3.4 instead.
2024-05-17 14:42:44 +09:00
Mike McQuaid
7461bf81a1
SBOM: more fixes.
- Remove use of (unused) `Cachable` module.
- Pass whether we're bottling to determine whether to create
  reproducible SBOM or not. A reproducible SBOM omits the time and
  compiler.
- Remove bottle information when bottling: we cannot know what e.g.
  the checksum (and, with GitHub Packages, therefore also the download
  location) will be before we've created the tarball contents.
- Always write a bottle on installation (unless we're bottling) to
  provide new bottle information or freshen the existing one with the
  information we stripped out for reproducibility e.g. the time and
  compiler.
- Don't need to handle a `nil` `@source_modified_time` as it's always
  set.

Fixes #17281
2024-05-13 07:36:51 +01:00
Mike McQuaid
50384591c7
extend/kernel: add sigs to opoo/onoe/ofail
Add these and correctly pass through a string to
`GitHub::Actions.puts_annotation_if_env_set`.

Also, fix some call sites to not rely on the `void` return.
2024-05-10 14:12:19 +01:00
Mike McQuaid
c1c4f4509b
Merge pull request #17256 from jasonkarns/patch-1
dev-cmd/tap-new: add Brewfile documentation to readme template
2024-05-09 19:24:14 +01:00
Mike McQuaid
16901a674f
extend/kernel: make opoo/odie/etc. print GitHub Actions notes.
We already do this for deprecations but these may make warnings
and errors from Homebrew easier to spot in GitHub Actions logs.

While we're here, cleanup other cases that should have used
`GitHub::Actions::Annotation` but didn't and provide some helpers and
tweaks there necessary for our use case here.
2024-05-09 14:43:53 +01:00
Jason Karns
e40c3e24bd
Update Library/Homebrew/dev-cmd/tap-new.rb
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2024-05-09 08:30:03 -04:00
Mike McQuaid
442aa91704
SBOM improvements
- write a schema when installing formulae (if not already present)
- cache the schema on disk rather than downloading it every time
- make more methods/attributes `private`
- allow validation to be optional, only enable for Homebrew developers
  at installation time
- use the tab for more, correct information
- ensure that dependencies/bottles are written correctly
- use new SBOM 3 schema URL
- improve test coverage
2024-05-09 13:10:37 +01:00
Kevin
c44e053847
Merge pull request #17242 from Homebrew/fix-cask-source-file-path-loading-issues
Fix cask source file path loading issues
2024-05-08 18:28:04 -07:00
Jason Karns
1f1a8b6c11
Add Brewfile documentation to tap-new readme template
It would be helpful for taps to document how they are to be used with `Brewfile`.

Adding documentation for formulae installation to the generated tap readme would help ensure that new taps have this helpful documentation in their repos from the start.
2024-05-08 14:20:51 -04:00
Sean Molenaar
a43b7464c2 feat: add generated SPDX file on bottling 2024-05-07 20:33:22 +02:00
Mike McQuaid
222fe8ef0b
Homebrew 4.3.0 deprecation/disable/removals.
The usual pass of deprecating/disabling/removing code for the next
minor Homebrew release.
2024-05-07 12:18:04 +01:00
apainintheneck
ffc503f1d0 Fix cask source file path loading issues
There are two big changes here. Both have to do with how we want
to load casks in different scenarios. One also is related to formulae.

1. Prevent loading casks & formulae outside of taps for specific commands.

There are certain commands like `bump`, `bump-*-pr`, `livecheck` and `audit`
where it really makes no sense to try and run things if the specified formulae
or cask is not in a tap. A new `#to_formulae_and_casks_with_taps` method was
added to the `CLI::NamedArgs` class to allow us to easily grab and validate
formulae and casks from named arguments.

2. Always load the source file path when loading casks with the path loader.

There was an edge case where all JSON cask files were being loaded without
setting the source file path because most of the work was handed off to the
API loader where that normally would make more sense. Now we set that when
calling the API loader which solves the problem. This improves the user
experience of people using the `--cache` and `fetch` commands in certain
edge cases. Hopefully it makes the user experience a bit more consistent.

A regression test was added for this point.
2024-05-06 23:34:23 -07:00
Eric Knibbe
3d985d082e
cmd/generate-cask-api: include cask renames 2024-05-03 19:16:32 -04:00
Mike McQuaid
b5b37d8c80
Merge pull request #17204 from Homebrew/ruby_scripts_to_utils_files
Library/Homebrew: move stdin ruby scripts to files under `utils`.
2024-05-02 10:44:00 +01:00
Mike McQuaid
bc0f5ee62a
Library/Homebrew: move stdin ruby scripts to files under utils.
This avoids can avoid UID/EUID related issues with Ruby scripts passed
over `stdin` clashing with Ruby security features.

It's also just a bit nicer to have Ruby scripts in files instead.

While we're here:
- refactor some shared logic into a new `setup-gem-home-bundle-gemfile`
  function in `ruby.sh`
- do some general cleanup of `lock.sh`
- prioritise `flock` over `python` in `lock.sh`
2024-05-02 10:33:42 +01:00
Markus Reiter
480e264d9a
Lint Ruby docs. 2024-05-01 11:35:21 +02:00
Markus Reiter
caf87c0336
Warn about undocumented non-private APIs. 2024-05-01 11:35:20 +02:00