module WildlandDevTools::Releases
Constants
- VALID_REMOTES
Public Class Methods
create_release(verbose = false)
click to toggle source
# File lib/wildland_dev_tools/releases.rb, line 9 def create_release(verbose = false) return false unless git_up_to_date! tag_name = "PRODUCTION-#{base_tag_name}" create_and_push_tag(tag_name, verbose) end
create_release_candidate(verbose = false)
click to toggle source
# File lib/wildland_dev_tools/releases.rb, line 15 def create_release_candidate(verbose = false) return false unless git_up_to_date! tag_name = "RC-#{base_tag_name}" create_and_push_tag(tag_name, verbose) end
Protected Class Methods
base_tag_name()
click to toggle source
# File lib/wildland_dev_tools/releases.rb, line 29 def base_tag_name DateTime.now.strftime("%y-%m-%d-%H-%M") end
create_and_push_tag(tag_name, verbose = false)
click to toggle source
# File lib/wildland_dev_tools/releases.rb, line 23 def create_and_push_tag(tag_name, verbose = false) puts "Creating tag #{tag_name}" if verbose system("OVERCOMMIT_DISABLE=1 git tag #{tag_name}") system("OVERCOMMIT_DISABLE=1 git push origin #{tag_name}") end
git_up_to_date!()
click to toggle source
# File lib/wildland_dev_tools/releases.rb, line 33 def git_up_to_date! local = `OVERCOMMIT_DISABLE=1 git rev-parse @` remote = `OVERCOMMIT_DISABLE=1 git rev-parse @{u}` base = `OVERCOMMIT_DISABLE=1 git merge-base @ @{u}` case when local == remote return true when local == base raise GitSyncException, 'Need to pull master from origin.' when remote == base raise GitSyncException, 'Need to push master to origin.' else raise GitSyncException, 'Your local master has diverged from origin.' end end