release_tagger 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/release_tagger/repo.rb +19 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1dd7fc6bfa899294769597fe1f7399648a80a6ed
|
4
|
+
data.tar.gz: 80c15d85980194be4598b455f823277d7b27de2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb2c9044cfeff40349cee2730224ed02be900ee92f4dd0dcd24718c3a39480e25c6005584ab158bfb9f4abd06dd91bc070abc0f8a8aa52e9f86a1d89aa49b089
|
7
|
+
data.tar.gz: 59dcbb84de01abeaeee2682ccf5d0583a0c6d1d06babb9b7a16cca7b3e293d44ad92322af248cb28cd6380b6009f43d76c894d48ee71488c6b3c607bb8eae906
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.2
|
data/lib/release_tagger/repo.rb
CHANGED
@@ -7,7 +7,8 @@ module ReleaseTagger
|
|
7
7
|
PACKAGECLOUD_ACCOUNT = 'lostmyname'
|
8
8
|
REPO = 'qa'
|
9
9
|
ITEMS_PER_PAGE = 1000
|
10
|
-
|
10
|
+
ARCHS = %w(noarch x86_64)
|
11
|
+
VERSIONS_URL = "https://packagecloud.io/api/v1/repos/#{PACKAGECLOUD_ACCOUNT}/#{REPO}/package/rpm/el/7/%s/%s/versions.json?per_page=#{ITEMS_PER_PAGE}"
|
11
12
|
|
12
13
|
def get_api_token
|
13
14
|
home_config_file = Pathname.new(File.join(File.expand_path('~'), '.release_tagger', 'packagecloud_token'))
|
@@ -32,13 +33,13 @@ Consider setting your packagecloud api token in any of:
|
|
32
33
|
package_cloud_api_token
|
33
34
|
end
|
34
35
|
|
35
|
-
def
|
36
|
+
def get_json_response(url)
|
36
37
|
pc_api_token = get_api_token
|
37
|
-
uri = URI.parse(
|
38
|
+
uri = URI.parse(url)
|
38
39
|
req = Net::HTTP::Get.new(uri)
|
39
40
|
req.basic_auth pc_api_token, ''
|
40
41
|
response = Net::HTTP.start(uri.hostname, uri.port, :use_ssl => uri.scheme == 'https') {|http| http.request(req)}
|
41
|
-
|
42
|
+
puts url
|
42
43
|
unless response.is_a?(Net::HTTPOK)
|
43
44
|
puts "Error trying to get latest version of package #{package_name}"
|
44
45
|
puts response.code
|
@@ -46,10 +47,20 @@ Consider setting your packagecloud api token in any of:
|
|
46
47
|
end
|
47
48
|
|
48
49
|
res = JSON.parse(response.body)
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
50
|
+
res
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
def get_max_package_version(package_name)
|
55
|
+
release_version = '0.0.0'
|
56
|
+
ARCHS.each do |arch|
|
57
|
+
res = get_json_response(VERSIONS_URL % [package_name, arch])
|
58
|
+
unless res == []
|
59
|
+
latest_package = res.select { |package| package['name'] == package_name}.max_by{ |package| package['version']}
|
60
|
+
if Gem::Version.new(latest_package['version']) > Gem::Version.new(release_version)
|
61
|
+
release_version = latest_package['version']
|
62
|
+
end
|
63
|
+
end
|
53
64
|
end
|
54
65
|
release_version
|
55
66
|
end
|