@@ -8,7 +8,7 @@ class Action
8
8
9
9
SEMVER = /["']*(0|[1-9]\d *)\. (0|[1-9]\d *)\. (0|[1-9]\d *)(?:-((?:0|[1-9]\d *|\d *[a-zA-Z-][0-9a-zA-Z-]*)(?:\. (?:0|[1-9]\d *|\d *[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+ ([0-9a-zA-Z-]+(?:\. [0-9a-zA-Z-]+)*))?["']*/ # rubocop:disable Layout/LineLength
10
10
SEPARATOR = /\s *[:=]\s */
11
- VERSION_KEY = /(^|\. |\s ) version/
11
+ VERSION_KEY = /(?: ^|\. |\s |"|')(?:base| version)["']* /
12
12
VERSION_SETTING = Regexp . new ( VERSION_KEY . source + SEPARATOR . source + SEMVER . source , Regexp ::IGNORECASE ) . freeze
13
13
14
14
def initialize ( config )
@@ -32,32 +32,28 @@ def check_version
32
32
client . create_status ( repo , head_commit , state , description : description , context : 'Version check' )
33
33
end
34
34
35
- def version_increased? ( branch_name :, trunk_name : 'master' )
36
- branch_version = fetch_version_safe ( ref : branch_name )
37
- trunk_version = fetch_version_safe ( ref : trunk_name )
38
- return false if branch_version . nil? || trunk_version . nil?
39
-
40
- puts "::notice title=Trunk version::trunk version: #{ trunk_version } "
41
- puts "::notice title=Branch version::branch version: #{ branch_version } "
42
- branch_version > trunk_version
43
- end
44
-
45
- private
46
-
47
35
def fetch_version ( ref :)
48
36
content = Base64 . decode64 ( client . contents ( repo , path : file_path , query : { ref : ref } ) [ 'content' ] )
49
37
match = content . match ( VERSION_SETTING )
50
38
51
39
format_version ( match )
52
- end
53
-
54
- def fetch_version_safe ( ref :)
55
- fetch_version ( ref : ref )
56
40
rescue Octokit ::NotFound
57
41
@failed_description = "Version file not found on #{ ref } branch #{ file_path } "
58
42
nil
59
43
end
60
44
45
+ def version_increased? ( branch_name :, trunk_name : 'master' )
46
+ branch_version = fetch_version ( ref : branch_name )
47
+ trunk_version = fetch_version ( ref : trunk_name )
48
+ return false if branch_version . nil? || trunk_version . nil?
49
+
50
+ puts "::notice title=Trunk version::trunk version: #{ trunk_version } "
51
+ puts "::notice title=Branch version::branch version: #{ branch_version } "
52
+ branch_version > trunk_version
53
+ end
54
+
55
+ private
56
+
61
57
def format_version ( version )
62
58
Gem ::Version . new ( version [ 0 ] . split ( SEPARATOR ) . last . gsub ( /\s / , '' ) . gsub ( /'|"/ , '' ) )
63
59
end
0 commit comments