@@ -2,6 +2,16 @@ namespace :vox do
22 desc 'Create tag and push to origin'
33 task :tag , [ :tag ] do |_ , args |
44 abort 'You must provide a tag.' if args [ :tag ] . nil? || args [ :tag ] . empty?
5+ version = args [ :tag ]
6+ abort "#{ version } does not appear to be a valid version string in x.y.z format" unless Gem ::Version . correct? ( version )
7+
8+ # Changed unreleased to new version in CHANGELOG.md
9+ puts 'Updating CHANGELOG.md'
10+ data = File . read ( 'CHANGELOG.md' )
11+ data = data . sub ( /## Unreleased/ , "## #{ version } " )
12+ data = "## Unreleased\n \n " + data
13+ File . write ( 'CHANGELOG.md' , data )
14+ run_command ( "git add CHANGELOG.md && git commit -m 'Update changelog for #{ version } '" )
515
616 # Run git command to get short SHA and one line description of the commit on HEAD
717 branch = run_command ( 'git rev-parse --abbrev-ref HEAD' )
@@ -12,8 +22,11 @@ namespace :vox do
1222 puts "SHA: #{ sha } "
1323 puts "Commit: #{ msg } "
1424
15- run_command ( "git tag -a #{ args [ :tag ] } -m '#{ args [ :tag ] } '" )
16- puts "Pushing #{ args [ :tag ] } to origin"
17- run_command ( "git push origin #{ args [ :tag ] } " )
25+ run_command ( "git tag -a #{ version } -m '#{ version } '" )
26+
27+ unless !ENV [ 'NOPUSH' ] . nil?
28+ puts "Pushing #{ version } to origin"
29+ run_command ( "git push origin #{ version } " )
30+ end
1831 end
1932end
0 commit comments