packaging 0.99.52 → 0.99.53

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7c227cbeba14dc0855f6fb8b897081580b8b710a661ab792db6d4dcf600ea26
4
- data.tar.gz: b25fae598151d2faa560e503a4a881e1468b66f4d2d8251d0e0a04bb4759f376
3
+ metadata.gz: 56a523006ca46cba872305d8cab5c36e6fd2028f1d4e4f49d056c2068563b697
4
+ data.tar.gz: dea3247fde29b5021c580d7f46787dbd2b1c3afb5c27f15c5f7edc5442bb563b
5
5
  SHA512:
6
- metadata.gz: 435a2b4cad3511f946be4a9d3198f6208b0d1a0202bd7fc324562f873babfd2e870255b00b5f759385517c2af1fced97067f1f7bccacc375077c81b786dae79c
7
- data.tar.gz: e8379a185e8ffba43d1ae98f07925b6a36f080f570fb041f0d9c245996d5261aa39cd36d76200e31cabaa906273275de9f550991950850a8b14ef4a4ea979f4f
6
+ metadata.gz: b51e67a3c0ed94bba73cc93a1612b405394d338a20b9ef6e343a8120b406d04ba1fc8306ff70a6a79d176b5b8143674dd1e5519b31f348ffbc16b9517b05342f
7
+ data.tar.gz: 4cfedab9f6a7a3de112d23669d91e0d5cdace6b8636bc0df9b71e51c989b0799034eb024a7ec6a94d2346a96f315ac74ffdbaf43d91d3fc34a4e7bb148af1f54
data/lib/packaging/gem.rb CHANGED
@@ -16,10 +16,10 @@ module Pkg::Gem
16
16
  Pkg::Util::Ship.ship_pkgs(["#{file}*"], Pkg::Config.gem_host, Pkg::Config.gem_path, platform_independent: true)
17
17
  end
18
18
 
19
- def shipped_to_rubygems?(gem_name, gem_version)
19
+ def shipped_to_rubygems?(gem_name, gem_version, gem_platform)
20
20
  gem_data = JSON.parse(`curl https://rubygems.org/api/v1/versions/#{gem_name}.json`)
21
- gem_versions = gem_data.map { |version| version['number'] }
22
- return gem_versions.include? gem_version
21
+ gem = gem_data.select { |data| data['number'] == gem_version && data['platform'] == gem_platform }
22
+ return !gem.empty?
23
23
  rescue => e
24
24
  puts "Uh oh, something went wrong searching for gem '#{gem_name}':"
25
25
  puts e
@@ -31,7 +31,15 @@ module Pkg::Gem
31
31
  # of a ~/.gem/credentials file or else rubygems.org won't have
32
32
  # any idea who you are.
33
33
  def ship_to_rubygems(file, options = {})
34
- if shipped_to_rubygems?(Pkg::Config.gem_name, Pkg::Config.gemversion)
34
+ # rubygems uses 'ruby' as the platform when it's not a platform-specific
35
+ # gem
36
+ platform = file.match(/\w+-(?:\d+(?:\.)?)+-(.*)\.gem$/)
37
+ unless platform.nil?
38
+ gem_platform = platform[1]
39
+ end
40
+ gem_platform ||= 'ruby'
41
+
42
+ if shipped_to_rubygems?(Pkg::Config.gem_name, Pkg::Config.gemversion, gem_platform)
35
43
  puts "#{file} has already been shipped to rubygems, skipping . . ."
36
44
  return
37
45
  end
@@ -68,15 +68,19 @@ describe 'Pkg::Gem' do
68
68
  }
69
69
  it 'returns true if gem version has already been shipped' do
70
70
  allow(JSON).to receive(:parse).and_return(gem_data)
71
- expect(Pkg::Gem.shipped_to_rubygems?('puppet', '6.0.5')).to be true
71
+ expect(Pkg::Gem.shipped_to_rubygems?('puppet', '6.0.5', 'ruby')).to be true
72
+ end
73
+ it 'returns false if the platform doesn\'t match' do
74
+ allow(JSON).to receive(:parse).and_return(gem_data)
75
+ expect(Pkg::Gem.shipped_to_rubygems?('puppet', '6.0.5', 'x64-mingw32')).to be false
72
76
  end
73
77
  it 'returns false if gem version has not already been shipped' do
74
78
  allow(JSON).to receive(:parse).and_return(gem_data)
75
- expect(Pkg::Gem.shipped_to_rubygems?('puppet', '6.0.9')).to be false
79
+ expect(Pkg::Gem.shipped_to_rubygems?('puppet', '6.0.9', 'ruby')).to be false
76
80
  end
77
81
  it 'returns false if gem is not found at all on rubygems' do
78
- expect { Pkg::Gem.shipped_to_rubygems?('totally-not-a-real-gem', '9.9.9') }.to_not raise_error
79
- expect(Pkg::Gem.shipped_to_rubygems?('totally-not-a-real-gem', '9.9.9')).to be false
82
+ expect { Pkg::Gem.shipped_to_rubygems?('totally-not-a-real-gem', '9.9.9', 'ruby') }.to_not raise_error
83
+ expect(Pkg::Gem.shipped_to_rubygems?('totally-not-a-real-gem', '9.9.9', 'ruby')).to be false
80
84
  end
81
85
  end
82
86
  end
data/tasks/jenkins.rake CHANGED
@@ -271,7 +271,7 @@ namespace :pl do
271
271
  begin
272
272
  Rake::Task["pl:update_release_metrics"].invoke
273
273
  rescue => e
274
- puts "Uh oh! Something went wrong updating release-metrics:\n#{e}\nPlease add this release manually. Proceeding..."
274
+ fail "Error updating release-metrics:\n#{e}\nYou will need to add this release manually."
275
275
  end
276
276
  end
277
277
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packaging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.99.52
4
+ version: 0.99.53
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet Labs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-17 00:00:00.000000000 Z
11
+ date: 2020-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -245,27 +245,27 @@ specification_version: 4
245
245
  summary: Puppet Labs' packaging automation
246
246
  test_files:
247
247
  - spec/lib/packaging_spec.rb
248
- - spec/lib/packaging/util/version_spec.rb
249
- - spec/lib/packaging/util/misc_spec.rb
250
- - spec/lib/packaging/util/os_spec.rb
251
- - spec/lib/packaging/util/file_spec.rb
252
- - spec/lib/packaging/util/jenkins_spec.rb
253
- - spec/lib/packaging/util/rake_utils_spec.rb
254
- - spec/lib/packaging/util/execution_spec.rb
248
+ - spec/lib/packaging/util/ship_spec.rb
255
249
  - spec/lib/packaging/util/git_tag_spec.rb
250
+ - spec/lib/packaging/util/os_spec.rb
256
251
  - spec/lib/packaging/util/git_spec.rb
252
+ - spec/lib/packaging/util/misc_spec.rb
257
253
  - spec/lib/packaging/util/net_spec.rb
258
- - spec/lib/packaging/util/ship_spec.rb
254
+ - spec/lib/packaging/util/execution_spec.rb
255
+ - spec/lib/packaging/util/version_spec.rb
256
+ - spec/lib/packaging/util/jenkins_spec.rb
257
+ - spec/lib/packaging/util/file_spec.rb
258
+ - spec/lib/packaging/util/rake_utils_spec.rb
259
259
  - spec/lib/packaging/util/gpg_spec.rb
260
- - spec/lib/packaging/platforms_spec.rb
260
+ - spec/lib/packaging/gem_spec.rb
261
+ - spec/lib/packaging/rpm/repo_spec.rb
261
262
  - spec/lib/packaging/artifactory_spec.rb
262
- - spec/lib/packaging/tar_spec.rb
263
+ - spec/lib/packaging/paths_spec.rb
263
264
  - spec/lib/packaging/config_spec.rb
264
265
  - spec/lib/packaging/deb/repo_spec.rb
265
- - spec/lib/packaging/retrieve_spec.rb
266
- - spec/lib/packaging/rpm/repo_spec.rb
266
+ - spec/lib/packaging/platforms_spec.rb
267
+ - spec/lib/packaging/repo_spec.rb
267
268
  - spec/lib/packaging/sign_spec.rb
268
269
  - spec/lib/packaging/deb_spec.rb
269
- - spec/lib/packaging/gem_spec.rb
270
- - spec/lib/packaging/repo_spec.rb
271
- - spec/lib/packaging/paths_spec.rb
270
+ - spec/lib/packaging/tar_spec.rb
271
+ - spec/lib/packaging/retrieve_spec.rb