2453 Commits

Author SHA1 Message Date
Issy Long
0c7825accd
dev-cmd/contributions: Make the first arg either a name or email
- This is easier than mapping GitHub usernames to email addresses, when
  folks don't have email addresses always public on their GitHub
  profiles. Also, the users of this command (PLC members, other
  interested parties) don't have to remember folks' email addresses.
- It also gives better data for people who've changed their name over
  the years, and who commit with multiple email addresses (personal and
  work).

```
❯ brew contributions "Issy Long" all
Person Issy Long directly authored 687 commits and co-authored 33 commits across all Homebrew repos in all time.

❯ brew contributions "Rylan Polster" all
Person Rylan Polster directly authored 1747 commits and co-authored 133 commits across all Homebrew repos in all time.

❯ brew contributions me@issyl0.co.uk all
Person me@issyl0.co.uk directly authored 711 commits and co-authored 25 commits across all Homebrew repos in all time.

❯ brew contributions "Mike McQuaid" all
Person Mike McQuaid directly authored 26879 commits and co-authored 204 commits across all Homebrew repos in all time.
```
2022-08-03 16:53:57 +01:00
Issy Long
ae73f28d0f
dev-cmd/contributions: Use a named arg for required repositories
- This is apparently "more in-keeping with how we do required arguments
  (never requiring flags)" across Homebrew.
- New usage: `brew contributions me@issyl0.co.uk all`, `brew
  contributions me@issyl0.co.uk brew,core`
2022-08-03 16:53:56 +01:00
Issy Long
c02e03a179
dev-cmd/contributions: Use methods to get arguments
- I got these with hash syntax because I couldn't figure out Sorbet, but
  there's `args.rbi` to add the CLI args methods to. Nice!
- In doing this I realised that `--repositories` is required again, we
  no longer infer `--repositories=all` from no `--repositories` passed
  as we did in a previous version of this.
2022-08-03 16:53:55 +01:00
Issy Long
5d312d25d0
dev-cmd/contributions: Properly auto-tap 2022-08-03 16:53:54 +01:00
Issy Long
63a1a078b9
dev-cmd/contributions: Improve SUPPORTED_REPOS array syntax
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2022-08-03 16:53:53 +01:00
Issy Long
f5d5778186
dev-cmd/contributions: Use --repositories not --repos
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2022-08-03 16:53:52 +01:00
Issy Long
1ac1097203
dev-cmd/contributions: Better usage banner
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2022-08-03 16:53:51 +01:00
Issy Long
dd986f7705
dev-cmd/contributions: Use .to_sentence not .join(", ")
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2022-08-03 16:53:50 +01:00
Issy Long
6974faa29b
dev-cmd/contributions: Appease brew style 2022-08-03 16:53:49 +01:00
Issy Long
5fa192c261
dev-cmd/contributions: Use --repos=all not a separate --all flag 2022-08-03 16:53:48 +01:00
Issy Long
be08b773f1
dev-cmd/contributions: Add --all to scan everything, plus auto-tapping 2022-08-03 16:53:47 +01:00
Issy Long
8e5a5672fb
dev-cmd/contributions: Better shell argument handling, plus stop piping to grep 2022-08-03 16:53:46 +01:00
Issy Long
5a34bc86c4
dev-cmd/contributions: RuboCop has opinions on where spaces should go 2022-08-03 16:53:45 +01:00
Issy Long
70c300daf2
dev-cmd/contributions: Use Utils.safe_popen_read not backticks 2022-08-03 16:53:45 +01:00
Issy Long
f6b2fe5093
dev-cmd/contributions: Improve sentence string line wrapping
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2022-08-03 16:53:44 +01:00
Issy Long
33d3aef295
dev-cmd/contributions: Only one email is allowed currently
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2022-08-03 16:53:43 +01:00
Issy Long
8a67ce76b5
dev-cmd/contributions: Appease brew typecheck 2022-08-03 16:53:42 +01:00
Issy Long
441df3d866
dev-cmd/contributions: Switch --email to be a named arg
- This way we can do the more intuitive:

```
$ brew contributions --repos=brew,core rslpolster@gmail.com
Person rslpolster@gmail.com directly authored 1580 commits and co-authored 125 commits to brew, core in all time.
```
2022-08-03 16:53:41 +01:00
Issy Long
c330ea4e3b
dev-cmd/contributions: Split git_log_cmd into two methods
- Otherwise it's quite involved and a bit hard to read.
2022-08-03 16:53:40 +01:00
Issy Long
fef9a286fe
dev-cmd/contributions: Simplify find_repo_path_for_repo
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2022-08-03 16:53:39 +01:00
Issy Long
503b51c54f
dev-cmd/contributions: Better error messages for bad --repos
```
$ brew contributions --email=me@issyl0.co.uk --repos=coreeeee
Error: Unsupported repo: coreeeee. Try one of brew, core, cask, bundle.

$ brew untap homebrew/bundle
$ brew contributions --email=me@issyl0.co.uk --repos=bundle
Error: Couldn't find repo bundle locally. Do you have it tapped?
```
2022-08-03 16:53:38 +01:00
Issy Long
0355c60787
dev-cmd/contributions: Retrieve a user's repo contributions over time
- Before each AGM it's currently a manual process for a PLC member to
  search commit logs and GitHub to figure out who contributed to
  Homebrew, so who should remain a member.
- I noticed that [looking at commits for a
  user](https://github.com/Homebrew/homebrew-core/commits?author=issyl0&since=2022-01-01&until=2023-01-01)
  would not count `Co-Authored-By`, which happens a lot now there's an
  autosquash action on PRs in `Homebrew/homebrew-core`, say if someone
  fixed a formula's build or tests or whatever and then the PR got
  auto-merged.
- Here's `brew contributions` that uses `git log` to be able to go back
  through all time or a specific time period (`--from`, `--to`). It's up
  to individual PLC discretion for "activity", but it does at least go
  some way to automating the data retrieval.
- Example (I can use my username as `--email` because my username is in
  all of the email addresses that I use for committing to Homebrew):

```
$ brew contributions --email=issyl0 --repos=brew,core
Person issyl0 directly authored 732 commits and co-authored 31 commits to brew, core in all time.
```
2022-08-03 16:53:37 +01:00
Carlo Cabrera
b2cf1822fa
Fix brew style 2022-08-02 22:53:29 +08:00
Carlo Cabrera
8a169364a8
pr-pull: fix typo
Error: tried to create Proc object without a block
    Do not report this issue until you've run `brew update` and tried again.
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/pr-pull.rb:372:in `proc'
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/pr-pull.rb:372:in `pr_check_conflicts'
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/pr-pull.rb:439:in `block in pr_pull'
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/pr-pull.rb:429:in `each'
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/dev-cmd/pr-pull.rb:429:in `pr_pull'
    /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:93:in `<main>'
    Error: Process completed with exit code 1.

https://github.com/Homebrew/homebrew-core/runs/7634004090?check_suite_focus=true#step:10:15
2022-08-02 22:46:30 +08:00
Michka Popoff
374c3985d6
pr-pull: check for conflicts with long running builds
This change will prevent us having to run some long running builds
multiple times and to rely on luck to get things merged without conflicts.

The check takes less than 30 secondes on my local setup.
2022-08-01 23:34:06 +02:00
Alexander Bayandin
4f3a7125ef
bump-formula-pr: even more precise tag replacement 2022-07-22 14:18:33 +01:00
Bo Anderson
e4264c9f35
Replace sorbet-runtime-stub with sorbet-runtime 2022-07-19 23:43:14 +01:00
Bo Anderson
676b88c5c4
dev-cmd/update-test: test against merge-base rather than latest master 2022-07-16 02:28:26 +01:00
danielnachun
b137d4ae00
bottle.rb: make GCC relocatable again 2022-07-11 01:25:16 -07:00
Alexander Bayandin
cfa63e9b86
bump-formula-pr: more precise tag/version replacement 2022-07-06 11:45:19 -04:00
Michka Popoff
0815a4481a
Merge pull request #13494 from Bo98/bottle-dep-fix
Fix `Keg.bottle_dependencies` including unneeded build dependencies
2022-06-30 22:26:09 +02:00
Mike McQuaid
22d6af1258
Manual brew style fixes. 2022-06-30 08:56:21 +01:00
Mike McQuaid
2d5eab2e1c
brew style --fix 2022-06-30 08:56:21 +01:00
Bo Anderson
2ddce84225
Remove Keg.relocation_formulae
We no longer use any formulae for relocation.
2022-06-30 03:39:29 +01:00
Sam Ford
283ff9e3ad
bump-formula-pr: handle url with specs hash
The existing `bump-formula-pr` regexes expect a `url` string to only
be followed by a newline. However, `url` also accepts a `specs` hash,
which can appear after the `url` string. For example:

```
url "https://www.example.com/1.2.3.tar.gz", using: :homebrew_curl
```

This commit modifies the regexes to capture anything after the `url`
string and before the newline. This works for the aforementioned
example, where the trailing hash is on the same line, but it won't
work if the hash appears on a subsequent line. For example:

```
url "https://www.example.com/1.2.3.tar.gz",
  using: :homebrew_curl
```
2022-06-24 19:26:16 -04:00
apainintheneck
3b65ecaf4c livecheck: fix path to livecheck watchlist 2022-06-21 17:57:19 -07:00
Bo Anderson
02164a35db
Use ORIGINAL_PATHS over envs; reject nil PATH 2022-06-17 19:47:57 +01:00
Bo Anderson
8ada737d40
Encapsulate ENV["SHELL"] usage 2022-06-17 19:47:57 +01:00
Bo Anderson
40bbdc659e
Fix some Style/FetchEnvVar offences 2022-06-17 19:47:57 +01:00
Bo Anderson
cd73e6bac5
Introduce more Ruby constants for values set by brew.sh 2022-06-17 19:47:57 +01:00
Bo Anderson
0a1762bd14
Use RUBY_PATH and HOMEBREW_RUBY_EXEC_ARGS more universally 2022-06-17 19:47:56 +01:00
Bo Anderson
a2033c397e
Use EnvConfig methods over direct ENV access 2022-06-17 19:47:56 +01:00
Bo Anderson
f5dc7a571f
Fix Style/ObjectThen offences 2022-06-17 19:47:55 +01:00
Rylan Polster
b896f6cb0d
Allow more developer commands with HOMEBREW_INSTALL_FROM_API 2022-06-16 21:31:15 -04:00
Bo Anderson
9d09ae1590
dev-cmd/dispatch-build-bottle: remove --macos and --linux conflict 2022-06-14 00:50:00 +01:00
Bo Anderson
6632a4fd49
dev-cmd/extract: strip out old bottle disable reasons 2022-06-10 20:25:21 +01:00
Kid
721a27d68d dev-cmd/cat: support setting bat theme via environment variable 2022-06-06 08:44:47 +08:00
Mike McQuaid
bdc32c24cc
Merge pull request #12241 from cho-m/bump-cask-arch-lang
bump-cask-pr: bump language checksums in non-running hardware
2022-06-01 16:59:56 +01:00
Mike McQuaid
1bb44979ee
Disable and delete code for 3.5.0
The next planned release will be 3.5.0 so let's fix things up for there.
2022-05-30 14:59:14 +01:00
Bo Anderson
cbba6af505
dev-cmd/typecheck: relax typing for msgpack 2022-05-30 02:39:13 +01:00