summaryrefslogtreecommitdiff
path: root/tasks
diff options
context:
space:
mode:
authorDan Allen <dan.j.allen@gmail.com>2022-06-24 01:34:28 -0600
committerDan Allen <dan.j.allen@gmail.com>2022-06-24 01:35:33 -0600
commit38eae3fc02dcf8a71371a1d5eb4e551c9d4aa66b (patch)
treec50412b02d54a50b89e6cbad981c6cf2cc76dcef /tasks
parentaa713b2b6ddecc4c3094af698c868597ac387b52 (diff)
add postversion script and step to prepare branch for development [skip ci]
Diffstat (limited to 'tasks')
-rw-r--r--tasks/postversion.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/tasks/postversion.rb b/tasks/postversion.rb
new file mode 100644
index 00000000..84d8152e
--- /dev/null
+++ b/tasks/postversion.rb
@@ -0,0 +1,30 @@
+# frozen_string_literal: true
+
+release_version = ENV['RELEASE_VERSION']
+major_minor_version = ((release_version.split '.').slice 0, 2).join '.'
+prerelease = (release_version.count '[a-z]') > 0 ? %(.#{(release_version.split '.', 3)[-1]}) : nil
+
+changelog_file = 'CHANGELOG.adoc'
+antora_file = 'docs/antora.yml'
+
+changelog_contents = File.readlines changelog_file, mode: 'r:UTF-8'
+last_release_idx = changelog_contents.index {|l| (l.start_with? '== ') && (%r/^== \d/.match? l) }
+changelog_contents.insert last_release_idx, <<~END
+== Unreleased
+
+_No changes since previous release._
+
+END
+
+antora_contents = (File.readlines antora_file, mode: 'r:UTF-8').map do |l|
+ if l.start_with? 'prerelease: '
+ %(prerelease: #{prerelease ? ?' + prerelease + ?' : 'false'}\n)
+ elsif l.start_with? 'version: '
+ %(version: '#{major_minor_version}'\n)
+ else
+ l
+ end
+end
+
+File.write changelog_file, changelog_contents.join, mode: 'w:UTF-8'
+File.write antora_file, antora_contents.join, mode: 'w:UTF-8'