summaryrefslogtreecommitdiff
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
parentaa713b2b6ddecc4c3094af698c868597ac387b52 (diff)
add postversion script and step to prepare branch for development [skip ci]
-rwxr-xr-xrelease.sh4
-rw-r--r--tasks/postversion.rb30
2 files changed, 33 insertions, 1 deletions
diff --git a/release.sh b/release.sh
index fe673405..06f110e4 100755
--- a/release.sh
+++ b/release.sh
@@ -38,8 +38,10 @@ chmod 600 $HOME/.gem/credentials
git push origin $RELEASE_BRANCH
ruby tasks/release-notes.rb
gh release create v$RELEASE_VERSION -t v$RELEASE_VERSION -F release-notes.md -d
+ ruby tasks/postversion.rb
+ git commit -a -m 'prepare branch for development [no ci]'
+ git push origin $RELEASE_BRANCH
)
-
exit_code=$?
# nuke gem credentials
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'