From 875eaa3a128d9087dd9c046f3710198c29a5d90f Mon Sep 17 00:00:00 2001 From: Rylan Polster Date: Mon, 5 Jan 2026 13:12:13 -0500 Subject: [PATCH] Add `--no-exit-code` to `generate-man-completions` --- .github/workflows/docs.yml | 2 +- .../Homebrew/dev-cmd/generate-man-completions.rb | 16 ++++++++++++---- .../dev_cmd/generate_man_completions.rbi | 5 ++++- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 08e18dd239..ace37cd54e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -47,7 +47,7 @@ jobs: rm -r Library/Homebrew/vendor # Generate latest manpage - brew regenerate-man-pages || true + brew generate-man-completions --no-exit-code - name: Run Vale run: vale docs/ diff --git a/Library/Homebrew/dev-cmd/generate-man-completions.rb b/Library/Homebrew/dev-cmd/generate-man-completions.rb index 3e8af86a3e..22dc65e3be 100644 --- a/Library/Homebrew/dev-cmd/generate-man-completions.rb +++ b/Library/Homebrew/dev-cmd/generate-man-completions.rb @@ -17,6 +17,8 @@ module Homebrew Generate Homebrew's manpages and shell completions. EOS + switch "--no-exit-code", description: "Exit with code 0 even if no changes were made." + named_args :none end @@ -32,12 +34,18 @@ module Homebrew "-C", HOMEBREW_REPOSITORY, "diff", "--shortstat", "--patch", "--exit-code", "docs/Manpage.md", "manpages", "completions" ] - if diff.status.success? - ofail "No changes to manpage or completions." + status, message = if diff.status.success? + [:failure, "No changes to manpage or completions."] elsif /1 file changed, 1 insertion\(\+\), 1 deletion\(-\).*-\.TH "BREW" "1" "\w+ \d+"/m.match?(diff.stdout) - ofail "No changes to manpage or completions other than the date." + [:failure, "No changes to manpage or completions other than the date."] else - puts "Manpage and completions updated." + [:success, "Manpage and completions updated."] + end + + if status == :failure && !args.no_exit_code? + ofail message + else + puts message end end end diff --git a/Library/Homebrew/sorbet/rbi/dsl/homebrew/dev_cmd/generate_man_completions.rbi b/Library/Homebrew/sorbet/rbi/dsl/homebrew/dev_cmd/generate_man_completions.rbi index ffa3636d07..4cd93963b6 100644 --- a/Library/Homebrew/sorbet/rbi/dsl/homebrew/dev_cmd/generate_man_completions.rbi +++ b/Library/Homebrew/sorbet/rbi/dsl/homebrew/dev_cmd/generate_man_completions.rbi @@ -10,4 +10,7 @@ class Homebrew::DevCmd::GenerateManCompletions def args; end end -class Homebrew::DevCmd::GenerateManCompletions::Args < Homebrew::CLI::Args; end +class Homebrew::DevCmd::GenerateManCompletions::Args < Homebrew::CLI::Args + sig { returns(T::Boolean) } + def no_exit_code?; end +end