diff options
| author | Dan Allen <dan.j.allen@gmail.com> | 2022-06-24 01:34:28 -0600 |
|---|---|---|
| committer | Dan Allen <dan.j.allen@gmail.com> | 2022-06-24 01:35:33 -0600 |
| commit | 38eae3fc02dcf8a71371a1d5eb4e551c9d4aa66b (patch) | |
| tree | c50412b02d54a50b89e6cbad981c6cf2cc76dcef | |
| parent | aa713b2b6ddecc4c3094af698c868597ac387b52 (diff) | |
add postversion script and step to prepare branch for development [skip ci]
| -rwxr-xr-x | release.sh | 4 | ||||
| -rw-r--r-- | tasks/postversion.rb | 30 |
2 files changed, 33 insertions, 1 deletions
@@ -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' |
