Skip to content

Commit 4bfbe4a

Browse files
authored
Merge pull request #159 from simplybusiness/fix-version-fetch
Refactor testing
2 parents 0e76445 + d9bfecc commit 4bfbe4a

File tree

2 files changed

+216
-92
lines changed

2 files changed

+216
-92
lines changed

lib/action.rb

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class Action
88

99
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
1010
SEPARATOR = /\s*[:=]\s*/
11-
VERSION_KEY = /(^|\.|\s)version/
11+
VERSION_KEY = /(?:^|\.|\s|"|')(?:base|version)["']*/
1212
VERSION_SETTING = Regexp.new(VERSION_KEY.source + SEPARATOR.source + SEMVER.source, Regexp::IGNORECASE).freeze
1313

1414
def initialize(config)
@@ -32,32 +32,28 @@ def check_version
3232
client.create_status(repo, head_commit, state, description: description, context: 'Version check')
3333
end
3434

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-
4735
def fetch_version(ref:)
4836
content = Base64.decode64(client.contents(repo, path: file_path, query: { ref: ref })['content'])
4937
match = content.match(VERSION_SETTING)
5038

5139
format_version(match)
52-
end
53-
54-
def fetch_version_safe(ref:)
55-
fetch_version(ref: ref)
5640
rescue Octokit::NotFound
5741
@failed_description = "Version file not found on #{ref} branch #{file_path}"
5842
nil
5943
end
6044

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+
6157
def format_version(version)
6258
Gem::Version.new(version[0].split(SEPARATOR).last.gsub(/\s/, '').gsub(/'|"/, ''))
6359
end

0 commit comments

Comments
 (0)