packaging 0.99.52 → 0.99.53

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 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