release_tagger 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/release_tagger/repo.rb +19 -8
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3b097254542e2fc3d1a364a7862242f6b0c090dd
4
- data.tar.gz: f2aded664428fda3dee0e887c8b29ccfee07f590
3
+ metadata.gz: 1dd7fc6bfa899294769597fe1f7399648a80a6ed
4
+ data.tar.gz: 80c15d85980194be4598b455f823277d7b27de2b
5
5
  SHA512:
6
- metadata.gz: 9dcb31c9eab4e9df7241ce1bb546f520c2da0eaac9689d213638d3c22d72eb7c9371da0d8d0b5cf8adeafc03959cb7b38c65beccff76bd0885720c7e1366e843
7
- data.tar.gz: b41b19afd2395f9f15086c1cdf08929324530115a7b75cab8a83e649703d48ed5a1bf5f952fb9f84094e91adfde687a1aeb6eb397dbd4acfa8847b016831d1e5
6
+ metadata.gz: fb2c9044cfeff40349cee2730224ed02be900ee92f4dd0dcd24718c3a39480e25c6005584ab158bfb9f4abd06dd91bc070abc0f8a8aa52e9f86a1d89aa49b089
7
+ data.tar.gz: 59dcbb84de01abeaeee2682ccf5d0583a0c6d1d06babb9b7a16cca7b3e293d44ad92322af248cb28cd6380b6009f43d76c894d48ee71488c6b3c607bb8eae906
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
@@ -7,7 +7,8 @@ module ReleaseTagger
7
7
  PACKAGECLOUD_ACCOUNT = 'lostmyname'
8
8
  REPO = 'qa'
9
9
  ITEMS_PER_PAGE = 1000
10
- VERSIONS_URL = "https://packagecloud.io/api/v1/repos/#{PACKAGECLOUD_ACCOUNT}/#{REPO}/package/rpm/el/7/%s/x86_64/versions.json?per_page=#{ITEMS_PER_PAGE}"
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 get_max_package_version(package_name)
36
+ def get_json_response(url)
36
37
  pc_api_token = get_api_token
37
- uri = URI.parse(VERSIONS_URL % package_name)
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
- release_version = '1.0.0'
50
- unless res == []
51
- latest_package = res.select { |package| package['name'] == package_name}.max_by{ |package| package['version']}
52
- release_version = latest_package['version']
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: release_tagger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Coffey