Skip to content

Commit 5757e42

Browse files
committed
Update tag task to update changelog
1 parent 7a6ce3d commit 5757e42

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

tasks/tag.rake

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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
1932
end

0 commit comments

Comments
 (0)