40981 Commits

Author SHA1 Message Date
Thierry Moisan
e351cf049c
Update Library/Homebrew/test/sandbox_spec.rb
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2024-07-14 11:51:52 -04:00
Thierry Moisan
6995e955b5
Update Library/Homebrew/test/sandbox_spec.rb
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2024-07-14 11:51:45 -04:00
Mike McQuaid
b8ff4b3d23
Widen attestation verification rollout
Take 2 of https://github.com/Homebrew/brew/pull/17692 but with:

- provide and document `HOMEBREW_NO_VERIFY_ATTESTATIONS`
- don't try to run unless there's GitHub credentials
- don't try to run unless `gh` is installed
- don't try to run in CI

While we're here:
- split out a `Homebrew::EnvConfig.devcmdrun?` helper method
- add some missing `Homebrew::EnvConfig.github_api_token` presence
  checks
2024-07-14 11:50:57 -04:00
Mike McQuaid
15f162c6ab
Output disable date for deprecated packages
Let's use the disable date, if provided, and use 1 year after the
deprecation date otherwise, to display a better message for the
various outputs of deprecated package messages.

Also, provide an internal API for this that can be used by
Homebrew/actions.
2024-07-14 11:49:44 -04:00
Markus Reiter
1b79e01c5b
Remove useless ignore_interrupts. 2024-07-14 11:43:20 -04:00
Markus Reiter
bcded854ce
Make ignore_interrupts thread-safe. 2024-07-14 11:43:14 -04:00
Thierry Moisan
66a479be82
sandbox: deny signal to other processes 2024-07-14 11:21:51 -04:00
Mike McQuaid
b9da669ef2
Merge pull request #17718 from Homebrew/vendor-gems-no-pull-request-target 2024-07-14 10:54:48 -04:00
Ruoyu Zhong
41c43dcd9f
workflows/vendor-gem: simplify condition 2024-07-14 10:44:43 -04:00
Mike McQuaid
652eafc966
workflows/vendor-gem: remove use of pull_request target.
Maintainers no longer need this run on their forks and maintainers can
manually run this from `workflow_dispatch` after reviewing the changes
if needed.
2024-07-14 10:38:31 -04:00
Mike McQuaid
320185aa9b
Merge pull request #17717 from samford/bump-add-repology-require 2024-07-14 10:21:59 -04:00
Sam Ford
ae06033afa
bump: add utils/repology require
A recent commit reworked `require`s to improve performance but this
led to an `uninitialized constant Homebrew::DevCmd::Bump::Repology`
error in `brew bump`. This adds a `utils/repology` `require` to
`dev-cmd/bump.rb` to resolve the error.
2024-07-14 10:08:55 -04:00
Mike McQuaid
7193dc0944
Merge pull request #17715 from Homebrew/remove_maintainer_json 2024-07-14 10:08:36 -04:00
Mike McQuaid
1f6b6060dd
Remove maintainers.json
This will no longer be needed or used after the merge of:
https://github.com/Homebrew/homebrew-test-bot/pull/1142
2024-07-14 09:03:18 -04:00
Mike McQuaid
001d318014
Merge pull request #17707 from Homebrew/optimise_requires 2024-07-14 09:01:42 -04:00
Mike McQuaid
c5dbd3ca24
Rearrange requires
This improves the load time of most brew commands. For an example of
one of the simplest commands this speeds up:

Without Bootsnap:
```
$ hyperfine 'git checkout master; brew help' 'git checkout optimise_requires; brew help'
Benchmark 1: git checkout master; brew help
  Time (mean ± σ):     525.0 ms ±  35.8 ms    [User: 229.9 ms, System: 113.1 ms]
  Range (min … max):   465.3 ms … 576.6 ms    10 runs

Benchmark 2: git checkout optimise_requires; brew help
  Time (mean ± σ):     383.3 ms ±  25.1 ms    [User: 133.0 ms, System: 72.1 ms]
  Range (min … max):   353.0 ms … 443.6 ms    10 runs

Summary
  git checkout optimise_requires; brew help ran
    1.37 ± 0.13 times faster than git checkout master; brew help
```

With Bootsnap:
```
$ hyperfine 'git checkout master; brew help' 'git checkout optimise_requires; brew help'
Benchmark 1: git checkout master; brew help
  Time (mean ± σ):     386.0 ms ±  30.9 ms    [User: 130.2 ms, System: 93.8 ms]
  Range (min … max):   359.5 ms … 469.3 ms    10 runs

Benchmark 2: git checkout optimise_requires; brew help
  Time (mean ± σ):     330.2 ms ±  32.4 ms    [User: 93.4 ms, System: 73.0 ms]
  Range (min … max):   302.9 ms … 413.9 ms    10 runs

Summary
  git checkout optimise_requires; brew help ran
    1.17 ± 0.15 times faster than git checkout master; brew help
```
2024-07-14 08:49:39 -04:00
Patrick Linnane
074a8e6a4b
Merge pull request #17714 from Homebrew/sorbet-files-update 2024-07-13 18:37:48 -07:00
BrewTestBot
456677a3f2
sorbet: Autobump sigils via Spoom
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2024-07-14 00:24:16 +00:00
BrewTestBot
2201332d4d
sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/master/.github/workflows/sorbet.yml) workflow.
2024-07-14 00:24:16 +00:00
Mike McQuaid
b86515bb75
Merge pull request #17713 from Homebrew/MikeMcQuaid-patch-1 2024-07-13 18:08:25 -04:00
Patrick Linnane
99b278b66b
brew style --fix
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2024-07-13 14:58:07 -07:00
Mike McQuaid
5771c2f968
attestation: only enable for developers outside CI
Let's hold off on CI and devcmdrun for now.
2024-07-13 17:55:44 -04:00
Mike McQuaid
3ff8b65109
Merge pull request #17712 from Homebrew/homebrew_no_verify_attestations 2024-07-13 17:50:35 -04:00
Mike McQuaid
4366ade990
attestation: allow disabling verification.
Add the (for now undocumented) `HOMEBREW_NO_VERIFY_ATTESTATIONS` to
disable attestation verification if it's having issues or when doing
development.

While we're here, do a little style cleanup too.
2024-07-13 17:39:40 -04:00
Patrick Linnane
6b99ac5868
Merge pull request #17711 from Homebrew/dependabot/github_actions/github/codeql-action-4fa2a7953630fd2f3fb380f21be14ede0169dd4f 2024-07-13 14:28:28 -07:00
dependabot[bot]
95310d8c65
build(deps): bump github/codeql-action
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 319cdb9fa619417d07cc37a964f0502bfbc5e8a9 to 4fa2a7953630fd2f3fb380f21be14ede0169dd4f.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](319cdb9fa6...4fa2a79536)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 21:17:29 +00:00
Mike McQuaid
919530c154
Merge pull request #17709 from reitermarkus/from-bottle-loader-downloadable 2024-07-13 17:01:14 -04:00
Markus Reiter
ae6f43921a
Implement verify_download_integrity for bottle manifests. 2024-07-13 16:50:53 -04:00
Markus Reiter
05f07953fe
Create Resource::BottleManifest. 2024-07-13 16:47:00 -04:00
William Woodruff
92ef6ef763
Merge pull request #17708 from Homebrew/sandbox-chmod 2024-07-13 16:38:44 -04:00
William Woodruff
46c156660b
Merge pull request #17694 from SMillerDev/feat/general/invalidate_sudo 2024-07-13 16:35:00 -04:00
Rylan Polster
e054a3ccf6
Also restrict SUID/GSID writes in sandbox 2024-07-13 16:28:17 -04:00
Sean Molenaar
2adf25dcaf feat: do not use existing sudo authentication in brew commands 2024-07-13 22:24:00 +02:00
Mike McQuaid
f466fca000
Merge pull request #17706 from Homebrew/ww/fix-local-bottles 2024-07-13 16:15:53 -04:00
Thierry Moisan
74bb9fb193
Add test 2024-07-13 16:14:12 -04:00
Mike McQuaid
06daff1621
formula_installer: tweak style. 2024-07-13 16:05:35 -04:00
William Woodruff
e56fde6584
formula_installer: skip attestations on local_bottle_path
Signed-off-by: William Woodruff <william@yossarian.net>
2024-07-13 16:02:12 -04:00
Rylan Polster
ea364210f2
Remove unecessary directory check 2024-07-13 15:58:41 -04:00
Mike McQuaid
0f9ca1d627
Merge pull request #17699 from Homebrew/ww/rm-marshal-from-spec 2024-07-13 15:53:00 -04:00
Mike McQuaid
2ee6f29934
Merge pull request #17700 from Homebrew/filter-special-chars-from-sandbox 2024-07-13 15:52:33 -04:00
Bo Anderson
37883714f5
Merge pull request #17704 from Homebrew/ww/silence-stderr
attestation: don't dupe stderr
2024-07-13 20:40:57 +01:00
William Woodruff
2d216174fb
Merge branch 'master' into ww/rm-marshal-from-spec 2024-07-13 15:36:51 -04:00
William Woodruff
419d4f7ab6
curl_spec: use deep_dup
Signed-off-by: William Woodruff <william@yossarian.net>
2024-07-13 15:36:34 -04:00
William Woodruff
695f080ba8
Revert "curl_spec: remove no-op Marshal use"
This reverts commit f3847d263f69a9a36e004c75c4969f939a66de3b.
2024-07-13 15:33:16 -04:00
William Woodruff
6cfe118ae3
attestation: don't dupe stderr
Silences `system_command!`'s own stderr handling,
since we do it independently.

Signed-off-by: William Woodruff <william@yossarian.net>
2024-07-13 15:30:21 -04:00
Rylan Polster
ab46965d95
Deny file mode changes outside of specified paths in sandbox 2024-07-13 15:23:39 -04:00
William Woodruff
6a5bcb339d
Merge pull request #17692 from Homebrew/ww/attestations-for-dev 2024-07-13 15:09:30 -04:00
Rylan Polster
f4e5e0c716
Don't allow special characters in sandbox rule paths
Co-authored-by: Thierry Moisan <thierry.moisan@gmail.com>
2024-07-13 14:41:05 -04:00
William Woodruff
f3847d263f
curl_spec: remove no-op Marshal use
Signed-off-by: William Woodruff <william@yossarian.net>
2024-07-13 14:38:57 -04:00
Ruoyu Zhong
7c90c2df92
Merge pull request #17698 from Homebrew/better-input-handling
workflows/vendor-gems: handle input string more robustly
2024-07-13 14:24:23 -04:00