Port Homebrew::DevCmd::Release

This commit is contained in:
Douglas Eichelberger 2024-03-21 21:36:07 -07:00
parent 6d362ccb3b
commit 177bab38c7
2 changed files with 87 additions and 87 deletions

View File

@ -1,14 +1,13 @@
# typed: true # typed: strict
# frozen_string_literal: true # frozen_string_literal: true
require "abstract_command"
require "cli/parser" require "cli/parser"
module Homebrew module Homebrew
module_function module DevCmd
class Release < AbstractCommand
sig { returns(CLI::Parser) } cmd_args do
def release_args
Homebrew::CLI::Parser.new do
description <<~EOS description <<~EOS
Create a new draft Homebrew/brew release with the appropriate version number and release notes. Create a new draft Homebrew/brew release with the appropriate version number and release notes.
@ -27,11 +26,9 @@ module Homebrew
named_args :none named_args :none
end end
end
def release
args = release_args.parse
sig { override.void }
def run
safe_system "git", "-C", HOMEBREW_REPOSITORY, "fetch", "origin" if Homebrew::EnvConfig.no_auto_update? safe_system "git", "-C", HOMEBREW_REPOSITORY, "fetch", "origin" if Homebrew::EnvConfig.no_auto_update?
begin begin
@ -97,4 +94,6 @@ module Homebrew
puts release["html_url"] puts release["html_url"]
exec_browser release["html_url"] exec_browser release["html_url"]
end end
end
end
end end

View File

@ -1,7 +1,8 @@
# frozen_string_literal: true # frozen_string_literal: true
require "cmd/shared_examples/args_parse" require "cmd/shared_examples/args_parse"
require "dev-cmd/release"
RSpec.describe "brew release" do RSpec.describe Homebrew::DevCmd::Release do
it_behaves_like "parseable arguments" it_behaves_like "parseable arguments"
end end