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
require "abstract_command"
require "cli/parser"
module Homebrew
module_function
sig { returns(CLI::Parser) }
def release_args
Homebrew::CLI::Parser.new do
module DevCmd
class Release < AbstractCommand
cmd_args do
description <<~EOS
Create a new draft Homebrew/brew release with the appropriate version number and release notes.
@ -27,11 +26,9 @@ module Homebrew
named_args :none
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?
begin
@ -97,4 +94,6 @@ module Homebrew
puts release["html_url"]
exec_browser release["html_url"]
end
end
end
end

View File

@ -1,7 +1,8 @@
# frozen_string_literal: true
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"
end