Skip to content

Commit be43ad3

Browse files
committed
release.yml: Fix tag conversion for Ruby 4.0
and PREVIOUS_RELEASE_TAG for any .0 releases
1 parent 8fba4b0 commit be43ad3

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ jobs:
4949
5050
- name: Create a release on GitHub
5151
run: |
52-
RELEASE_TAG=$(echo v${{ env.RUBY_VERSION }} | sed 's/\./_/g')
52+
RELEASE_TAG=$(ruby tool/ruby-version.rb tag "${{ env.RUBY_VERSION }}")
5353
echo $RELEASE_TAG
54-
PREVIOUS_RELEASE_TAG=$(echo $RELEASE_TAG | awk 'BEGIN {FS="_"; OFS="_"}{ $NF=$NF-1; print }')
54+
PREVIOUS_RELEASE_TAG=$(ruby tool/ruby-version.rb previous-tag "${{ env.RUBY_VERSION }}")
5555
echo $PREVIOUS_RELEASE_TAG
5656
tool/gen-github-release.rb $PREVIOUS_RELEASE_TAG $RELEASE_TAG --no-dry-run
5757
env:

tool/ruby-version.rb

100644100755
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#!/usr/bin/env ruby
2+
13
module RubyVersion
24
def self.tag(version)
35
major_version = Integer(version.split('.', 2)[0])
@@ -35,3 +37,16 @@ def self.previous(version)
3537
end
3638
end
3739
end
40+
41+
if __FILE__ == $0
42+
case ARGV[0]
43+
when "tag"
44+
print RubyVersion.tag(ARGV[1])
45+
when "previous"
46+
print RubyVersion.previous(ARGV[1])
47+
when "previous-tag"
48+
print RubyVersion.tag(RubyVersion.previous(ARGV[1]))
49+
else
50+
"#{$0}: unexpected command #{ARGV[0].inspect}"
51+
end
52+
end

0 commit comments

Comments
 (0)