lib/hu/deploy.rb in hu-1.2.3 vs lib/hu/deploy.rb in hu-1.2.4

- old
+ new

@@ -92,11 +92,15 @@ busy 'update working copy', :dots wc_update.join unbusy highest_version = find_highest_version_tag - likely_next_version = Versionomy.parse(highest_version).bump(:tiny).to_s + tiny_bump = Versionomy.parse(highest_version).bump(:tiny).to_s + minor_bump = Versionomy.parse(highest_version).bump(:minor).to_s + major_bump = Versionomy.parse(highest_version).bump(:major).to_s + likely_next_version = tiny_bump + release_tag, branch_already_exists = prompt_for_release_tag(likely_next_version, likely_next_version, true) prompt = TTY::Prompt.new clearscreen = true @@ -125,14 +129,25 @@ choice = prompt.select("Choose your destiny") do |menu| menu.enum '.' menu.choice "Refresh", :refresh menu.choice "Quit", :abort_ask unless git_revisions[:release] == git_revisions[stag_app_name] or !release_branch_exists - menu.choice "Push release/#{release_tag} to #{stag_app_name}", :push_to_staging + menu.choice "Push release/#{release_tag} to #{stag_app_name}", :push_to_staging end if release_branch_exists - menu.choice "Delete release/#{release_tag} and start new release from develop", :retag + unless release_tag == tiny_bump + menu.choice "Change to PATCH release (bugfix only) : #{highest_version} -> #{tiny_bump}", :bump_tiny + end + + unless release_tag == minor_bump + menu.choice "Change to MINOR release (new features) : #{highest_version} -> #{minor_bump}", :bump_minor + end + + unless release_tag == major_bump + menu.choice "Change to MAJOR release (breaking changes): #{highest_version} -> #{major_bump}", :bump_major + end + if git_revisions[:release] == git_revisions[stag_app_name] menu.choice "Finish release (merge, tag and final stage)", :finish_release end elsif git_revisions[prod_app_name] != git_revisions[stag_app_name] menu.choice "DEPLOY (promote #{stag_app_name} to #{prod_app_name})", :DEPLOY @@ -163,12 +178,20 @@ puts anykey when :abort_ask puts if delete_branch("release/#{release_tag}") exit 0 - when :retag + when :bump_tiny if delete_branch("release/#{release_tag}") - release_tag, branch_already_exists = prompt_for_release_tag(likely_next_version) + release_tag, branch_already_exists = prompt_for_release_tag(tiny_bump, tiny_bump) + end + when :bump_minor + if delete_branch("release/#{release_tag}") + release_tag, branch_already_exists = prompt_for_release_tag(minor_bump, minor_bump) + end + when :bump_major + if delete_branch("release/#{release_tag}") + release_tag, branch_already_exists = prompt_for_release_tag(major_bump, major_bump) end end end end