summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorWarren Volz <warren@warrenvolz.com>2015-07-16 18:29:11 -0600
committerWarren Volz <warren@warrenvolz.com>2015-07-17 16:16:25 -0600
commit5f717e2f5c4abe9ff957e92b27f8f8ecf1c55727 (patch)
treeae863e524d947b9f559cd5d88e4e4ebec2ea38b6 /lib
parent90f5c4d0a3c9d5e43e9a58ab0aa79c8b085c62d4 (diff)
downloadgitlab-ci-5f717e2f5c4abe9ff957e92b27f8f8ecf1c55727.tar.gz
port version matching code in upgrader lib from gitlab
- fixes upgrader script not working with v7.1x versions - rspec test cases from gitlab for upgrader lib - rename gitlab to gitlabci - use real data for gitlabci3 version check
Diffstat (limited to 'lib')
-rw-r--r--lib/upgrader.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/upgrader.rb b/lib/upgrader.rb
index 3969fa2..b1599e2 100644
--- a/lib/upgrader.rb
+++ b/lib/upgrader.rb
@@ -41,7 +41,10 @@ class Upgrader
end
def latest_version_raw
- last_tag = git_tags.last.match(/v\d\.\d\.\d/).to_s
+ git_tags = fetch_git_tags
+ git_tags = git_tags.select { |version| version =~ /v\d+\.\d+\.\d+\Z/ }
+ git_versions = git_tags.map { |tag| VersionInfo.parse(tag.match(/v\d+\.\d+\.\d+/).to_s) }
+ "v#{git_versions.sort.last.to_s}"
end
def update_commands
@@ -90,8 +93,8 @@ class Upgrader
answer
end
- def git_tags
+ def fetch_git_tags
tags = `git ls-remote --tags origin | grep tags\/v#{current_version.major}`
- tags.lines.to_a.select { |version| version =~ /v\d\.\d\.\d\Z/ }
+ tags.lines.to_a.select { |version| version =~ /v\d+\.\d+\.\d+\Z/ }
end
end