packaging 0.99.63 → 0.99.68
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/packaging/artifactory.rb +2 -2
- data/lib/packaging/paths.rb +24 -7
- data/lib/packaging/platforms.rb +13 -0
- data/lib/packaging/util/ship.rb +30 -18
- data/spec/lib/packaging/paths_spec.rb +12 -3
- data/tasks/gem.rake +10 -0
- data/tasks/ship.rake +38 -39
- metadata +31 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 382d8df54b4e231f8dbe4464c1b83767f000fce144e34833898eb296e4aa1a07
|
4
|
+
data.tar.gz: 698fd55d8612e46b15b829a6fef4d8722e2527a010120f3a8955ac1b3e1d7515
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16241153fc6f51335d0d5a7440c3b55a11575a33cc9123ac24a9a7812c53bcdfd4a7f7ea5301ecca53718ab48ba78534f1cc412102327cced1fd6d22057a310f
|
7
|
+
data.tar.gz: 4f64a0ce0c87758f156fca4776748ac81aef1eaf387508336bf47f859b76bdeedf6fdf5a4ba9b1966ff02a4668a30ca13d08d19b1e075221c67f7a9b3d1d4889
|
@@ -502,7 +502,7 @@ module Pkg
|
|
502
502
|
# @param local_path [String] local path to download tarballs to
|
503
503
|
def download_final_pe_tarballs(pe_version, repo, remote_path, local_path)
|
504
504
|
check_authorization
|
505
|
-
artifacts = Artifactory::Resource::Artifact.search(name: pe_version, repos: repo)
|
505
|
+
artifacts = Artifactory::Resource::Artifact.search(name: pe_version, repos: repo, exact_match: false)
|
506
506
|
artifacts.each do |artifact|
|
507
507
|
next unless artifact.download_uri.include? remote_path
|
508
508
|
next if artifact.download_uri.include? "-rc"
|
@@ -531,7 +531,7 @@ module Pkg
|
|
531
531
|
# @param target_path [String] path copy tarballs to, assumes same repo
|
532
532
|
def copy_final_pe_tarballs(pe_version, repo, remote_path, target_path)
|
533
533
|
check_authorization
|
534
|
-
final_tarballs = Artifactory::Resource::Artifact.search(name: pe_version, repos: repo)
|
534
|
+
final_tarballs = Artifactory::Resource::Artifact.search(name: pe_version, repos: repo, exact_match: false)
|
535
535
|
final_tarballs.each do |artifact|
|
536
536
|
next unless artifact.download_uri.include? remote_path
|
537
537
|
next if artifact.download_uri.include? "-rc"
|
data/lib/packaging/paths.rb
CHANGED
@@ -151,7 +151,7 @@ module Pkg::Paths
|
|
151
151
|
when 'dmg'
|
152
152
|
return File.join(prefix, 'mac', link)
|
153
153
|
when 'msi'
|
154
|
-
return File.join(prefix,
|
154
|
+
return File.join(prefix, platform_name, link)
|
155
155
|
else
|
156
156
|
raise "Error: Unknown package format '#{package_format}'"
|
157
157
|
end
|
@@ -261,16 +261,33 @@ module Pkg::Paths
|
|
261
261
|
end
|
262
262
|
end
|
263
263
|
|
264
|
-
def remote_repo_base(platform_tag, nonfinal
|
265
|
-
|
266
|
-
|
264
|
+
def remote_repo_base(platform_tag = nil, nonfinal: false, package_format: nil)
|
265
|
+
if platform_tag.nil? && package_format.nil?
|
266
|
+
raise "Pkg::Paths.remote_repo_base must have `platform_tag` or `package_format` specified."
|
267
|
+
end
|
268
|
+
|
269
|
+
package_format ||= Pkg::Platforms.package_format_for_tag(platform_tag)
|
270
|
+
|
271
|
+
repo_base = case package_format
|
267
272
|
when 'rpm'
|
268
273
|
nonfinal ? Pkg::Config.nonfinal_yum_repo_path : Pkg::Config.yum_repo_path
|
269
274
|
when 'deb'
|
270
275
|
nonfinal ? Pkg::Config.nonfinal_apt_repo_path : Pkg::Config.apt_repo_path
|
276
|
+
when 'dmg'
|
277
|
+
nonfinal ? Pkg::Config.nonfinal_dmg_path : Pkg::Config.dmg_path
|
278
|
+
when 'swix'
|
279
|
+
nonfinal ? Pkg::Config.nonfinal_swix_path : Pkg::Config.swix_path
|
280
|
+
when 'msi'
|
281
|
+
nonfinal ? Pkg::Config.nonfinal_msi_path : Pkg::Config.msi_path
|
271
282
|
else
|
272
283
|
raise "Can't determine remote repo base path for package format '#{package_format}'."
|
273
284
|
end
|
285
|
+
|
286
|
+
# normalize the path for things shipping to the downloads server
|
287
|
+
if repo_base.match(/^\/opt\/downloads\/\w+$/)
|
288
|
+
repo_base = '/opt/downloads'
|
289
|
+
end
|
290
|
+
repo_base
|
274
291
|
end
|
275
292
|
|
276
293
|
# This is where deb packages end up after freight repo updates
|
@@ -278,7 +295,7 @@ module Pkg::Paths
|
|
278
295
|
fail "Can't determine path for non-debian platform #{platform_tag}." unless Pkg::Platforms.package_format_for_tag(platform_tag) == 'deb'
|
279
296
|
platform, version, _ = Pkg::Platforms.parse_platform_tag(platform_tag)
|
280
297
|
codename = Pkg::Platforms.codename_for_platform_version(platform, version)
|
281
|
-
return File.join(remote_repo_base(platform_tag, nonfinal), 'pool', codename, repo_name, project[0], project)
|
298
|
+
return File.join(remote_repo_base(platform_tag, nonfinal: nonfinal), 'pool', codename, repo_name, project[0], project)
|
282
299
|
end
|
283
300
|
|
284
301
|
def release_package_link_path(platform_tag, nonfinal = false)
|
@@ -286,10 +303,10 @@ module Pkg::Paths
|
|
286
303
|
package_format = Pkg::Platforms.package_format_for_tag(platform_tag)
|
287
304
|
case package_format
|
288
305
|
when 'rpm'
|
289
|
-
return File.join(remote_repo_base(platform_tag, nonfinal), "#{repo_name(nonfinal)}-release-#{platform}-#{version}.noarch.rpm")
|
306
|
+
return File.join(remote_repo_base(platform_tag, nonfinal: nonfinal), "#{repo_name(nonfinal)}-release-#{platform}-#{version}.noarch.rpm")
|
290
307
|
when 'deb'
|
291
308
|
codename = Pkg::Platforms.codename_for_platform_version(platform, version)
|
292
|
-
return File.join(remote_repo_base(platform_tag, nonfinal), "#{repo_name(nonfinal)}-release-#{codename}.deb")
|
309
|
+
return File.join(remote_repo_base(platform_tag, nonfinal: nonfinal), "#{repo_name(nonfinal)}-release-#{codename}.deb")
|
293
310
|
else
|
294
311
|
warn "No release packages for package format '#{package_format}', skipping . . ."
|
295
312
|
return nil
|
data/lib/packaging/platforms.rb
CHANGED
@@ -134,9 +134,22 @@ module Pkg
|
|
134
134
|
signature_format: 'v4',
|
135
135
|
repo: true,
|
136
136
|
},
|
137
|
+
'32' => {
|
138
|
+
architectures: ['x86_64'],
|
139
|
+
source_architecture: 'SRPMS',
|
140
|
+
package_format: 'rpm',
|
141
|
+
source_package_formats: ['src.rpm'],
|
142
|
+
signature_format: 'v4',
|
143
|
+
repo: true,
|
144
|
+
},
|
137
145
|
},
|
138
146
|
|
139
147
|
'osx' => {
|
148
|
+
'10.13' => {
|
149
|
+
architectures: ['x86_64'],
|
150
|
+
package_format: 'dmg',
|
151
|
+
repo: false,
|
152
|
+
},
|
140
153
|
'10.14' => {
|
141
154
|
architectures: ['x86_64'],
|
142
155
|
package_format: 'dmg',
|
data/lib/packaging/util/ship.rb
CHANGED
@@ -106,22 +106,11 @@ module Pkg::Util::Ship
|
|
106
106
|
|
107
107
|
def ship_rpms(local_staging_directory, remote_path, opts = {})
|
108
108
|
ship_pkgs(["#{local_staging_directory}/**/*.rpm", "#{local_staging_directory}/**/*.srpm"], Pkg::Config.yum_staging_server, remote_path, opts)
|
109
|
-
|
110
|
-
create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('el'), Pkg::Config.yum_staging_server, remote_path, opts[:nonfinal])
|
111
109
|
end
|
112
110
|
|
113
111
|
def ship_debs(local_staging_directory, remote_path, opts = {})
|
114
112
|
ship_pkgs(["#{local_staging_directory}/**/*.debian.tar.gz", "#{local_staging_directory}/**/*.orig.tar.gz" "#{local_staging_directory}/**/*.dsc", "#{local_staging_directory}/**/*.deb", "#{local_staging_directory}/**/*.changes"], Pkg::Config.apt_signing_server, remote_path, opts)
|
115
113
|
|
116
|
-
# We need to iterate through all the supported platforms here because of
|
117
|
-
# how deb repos are set up. Each codename will have its own link from the
|
118
|
-
# current versioned repo (e.g. puppet5) to the rolling repo. The one thing
|
119
|
-
# we don't care about is architecture, so we just grab the first supported
|
120
|
-
# architecture for the code name we're working with at the moment. [written
|
121
|
-
# by Melissa, copied by Molly]
|
122
|
-
Pkg::Platforms.codenames.each do |codename|
|
123
|
-
create_rolling_repo_link(Pkg::Platforms.codename_to_tags(codename)[0], Pkg::Config.apt_signing_server, remote_path, opts[:nonfinal])
|
124
|
-
end
|
125
114
|
end
|
126
115
|
|
127
116
|
def ship_svr4(local_staging_directory, remote_path, opts = {})
|
@@ -135,8 +124,6 @@ module Pkg::Util::Ship
|
|
135
124
|
def ship_dmg(local_staging_directory, remote_path, opts = {})
|
136
125
|
packages_have_shipped = ship_pkgs(["#{local_staging_directory}/**/*.dmg"], Pkg::Config.dmg_staging_server, remote_path, opts)
|
137
126
|
|
138
|
-
create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('osx'), Pkg::Config.dmg_staging_server, remote_path, opts[:nonfinal])
|
139
|
-
|
140
127
|
if packages_have_shipped
|
141
128
|
Pkg::Platforms.platform_tags_for_package_format('dmg').each do |platform_tag|
|
142
129
|
# Create the latest symlink for the current supported repo
|
@@ -147,14 +134,11 @@ module Pkg::Util::Ship
|
|
147
134
|
|
148
135
|
def ship_swix(local_staging_directory, remote_path, opts = {})
|
149
136
|
ship_pkgs(["#{local_staging_directory}/**/*.swix"], Pkg::Config.swix_staging_server, remote_path, opts)
|
150
|
-
|
151
|
-
create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('eos'), Pkg::Config.swix_staging_server, remote_path, opts[:nonfinal])
|
152
137
|
end
|
153
138
|
|
154
139
|
def ship_msi(local_staging_directory, remote_path, opts = {})
|
155
140
|
packages_have_shipped = ship_pkgs(["#{local_staging_directory}/**/*.msi"], Pkg::Config.msi_staging_server, remote_path, opts)
|
156
141
|
|
157
|
-
create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('windows'), Pkg::Config.msi_staging_server, remote_path, opts[:nonfinal])
|
158
142
|
if packages_have_shipped
|
159
143
|
# Create the symlinks for the latest supported repo
|
160
144
|
Pkg::Util::Net.remote_create_latest_symlink(Pkg::Config.project, Pkg::Paths.artifacts_path(Pkg::Platforms.generic_platform_tag('windows'), remote_path, opts[:nonfinal]), 'msi', arch: 'x64')
|
@@ -205,7 +189,35 @@ module Pkg::Util::Ship
|
|
205
189
|
|
206
190
|
Pkg::Util::Net.remote_ssh_cmd(staging_server, command) unless command.nil?
|
207
191
|
rescue => e
|
208
|
-
fail "Failed to create rolling repo link for '#{platform_tag}'.\n#{e}"
|
192
|
+
fail "Failed to create rolling repo link for '#{platform_tag}'.\n#{e}\n#{e.backtrace}"
|
193
|
+
end
|
194
|
+
|
195
|
+
# create all of the rolling repo links in one step
|
196
|
+
def create_rolling_repo_links(nonfinal = false)
|
197
|
+
yum_path = Pkg::Paths.remote_repo_base(nonfinal: nonfinal, package_format: 'rpm')
|
198
|
+
dmg_path = Pkg::Paths.remote_repo_base(nonfinal: nonfinal, package_format: 'dmg')
|
199
|
+
swix_path = Pkg::Paths.remote_repo_base(nonfinal: nonfinal, package_format: 'swix')
|
200
|
+
msi_path = Pkg::Paths.remote_repo_base(nonfinal: nonfinal, package_format: 'msi')
|
201
|
+
|
202
|
+
create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('el'), Pkg::Config.yum_staging_server, yum_path, nonfinal)
|
203
|
+
create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('osx'), Pkg::Config.dmg_staging_server, dmg_path, nonfinal)
|
204
|
+
create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('eos'), Pkg::Config.swix_staging_server, swix_path, nonfinal)
|
205
|
+
create_rolling_repo_link(Pkg::Platforms.generic_platform_tag('windows'), Pkg::Config.msi_staging_server, msi_path, nonfinal)
|
206
|
+
|
207
|
+
# We need to iterate through all the supported platforms here because of
|
208
|
+
# how deb repos are set up. Each codename will have its own link from the
|
209
|
+
# current versioned repo (e.g. puppet5) to the rolling repo. The one thing
|
210
|
+
# we don't care about is architecture, so we just grab the first supported
|
211
|
+
# architecture for the code name we're working with at the moment. [written
|
212
|
+
# by Melissa, copied by Molly]
|
213
|
+
|
214
|
+
apt_path = Pkg::Config.apt_repo_staging_path
|
215
|
+
if nonfinal
|
216
|
+
apt_path = Pkg::Config.nonfinal_apt_repo_staging_path
|
217
|
+
end
|
218
|
+
Pkg::Platforms.codenames.each do |codename|
|
219
|
+
create_rolling_repo_link(Pkg::Platforms.codename_to_tags(codename)[0], Pkg::Config.apt_signing_server, apt_path, nonfinal)
|
220
|
+
end
|
209
221
|
end
|
210
222
|
|
211
223
|
def update_release_package_symlinks(local_staging_directory, nonfinal = false)
|
@@ -215,7 +227,7 @@ module Pkg::Util::Ship
|
|
215
227
|
package_format = Pkg::Platforms.package_format_for_tag(platform_tag)
|
216
228
|
case package_format
|
217
229
|
when 'rpm'
|
218
|
-
remote_base = Pkg::Paths.artifacts_path(platform_tag, Pkg::Paths.remote_repo_base(platform_tag, nonfinal), nonfinal)
|
230
|
+
remote_base = Pkg::Paths.artifacts_path(platform_tag, Pkg::Paths.remote_repo_base(platform_tag, nonfinal: nonfinal), nonfinal)
|
219
231
|
when 'deb'
|
220
232
|
remote_base = Pkg::Paths.apt_package_base_path(platform_tag, Pkg::Paths.repo_name(nonfinal), Pkg::Config.project, nonfinal)
|
221
233
|
else
|
@@ -213,6 +213,7 @@ describe 'Pkg::Paths' do
|
|
213
213
|
before :each do
|
214
214
|
allow(Pkg::Config).to receive(:yum_repo_path).and_return('foo')
|
215
215
|
allow(Pkg::Config).to receive(:apt_repo_path).and_return('bar')
|
216
|
+
allow(Pkg::Config).to receive(:dmg_path).and_return('/opt/downloads/mac')
|
216
217
|
allow(Pkg::Config).to receive(:nonfinal_yum_repo_path).and_return('foo-nightly')
|
217
218
|
allow(Pkg::Config).to receive(:nonfinal_apt_repo_path).and_return('bar-nightly')
|
218
219
|
end
|
@@ -223,13 +224,21 @@ describe 'Pkg::Paths' do
|
|
223
224
|
expect(Pkg::Paths.remote_repo_base('ubuntu-18.04-amd64')).to eq('bar')
|
224
225
|
end
|
225
226
|
it 'returns nonfinal_yum_repo_path for nonfinal rpms' do
|
226
|
-
expect(Pkg::Paths.remote_repo_base('fedora-31-x86_64', true)).to eq('foo-nightly')
|
227
|
+
expect(Pkg::Paths.remote_repo_base('fedora-31-x86_64', nonfinal: true)).to eq('foo-nightly')
|
227
228
|
end
|
228
229
|
it 'returns nonfinal_apt_repo_path for nonfinal debs' do
|
229
|
-
expect(Pkg::Paths.remote_repo_base('debian-9-amd64', true)).to eq('bar-nightly')
|
230
|
+
expect(Pkg::Paths.remote_repo_base('debian-9-amd64', nonfinal: true)).to eq('bar-nightly')
|
230
231
|
end
|
232
|
+
it 'fails if neither tag nor package_format is provided' do
|
233
|
+
expect { Pkg::Paths.remote_repo_base }.to raise_error(/Pkg::Paths.remote_repo_base must have/)
|
234
|
+
end
|
235
|
+
|
236
|
+
it 'returns /opt/downloads if the path is /opt/downloads/<something>' do
|
237
|
+
expect(Pkg::Paths.remote_repo_base(package_format: 'dmg')).to eq('/opt/downloads')
|
238
|
+
end
|
239
|
+
|
231
240
|
it 'fails for all other package formats' do
|
232
|
-
expect { Pkg::Paths.remote_repo_base('
|
241
|
+
expect { Pkg::Paths.remote_repo_base('solaris-11-i386') }.to raise_error(/Can't determine remote repo base path/)
|
233
242
|
end
|
234
243
|
end
|
235
244
|
|
data/tasks/gem.rake
CHANGED
@@ -150,10 +150,20 @@ namespace :package do
|
|
150
150
|
Pkg::Config.gemversion = Pkg::Util::Version.extended_dot_version
|
151
151
|
package_gem
|
152
152
|
end
|
153
|
+
|
154
|
+
# PA-3356: temporary task to ship puppet 7 nightly gem
|
155
|
+
# TODO: PA-3358 - remove when puppet 7 is officialy out
|
156
|
+
task :puppet_7_nightly_gem => ["clean"] do
|
157
|
+
Pkg::Config.gemversion = Pkg::Util::Version.extended_dot_version.gsub(/6\.\d+\.\d+/, '7.0.0')
|
158
|
+
package_gem
|
159
|
+
end
|
153
160
|
end
|
154
161
|
|
155
162
|
# An alias task to simplify our remote logic in jenkins.rake
|
156
163
|
namespace :pl do
|
157
164
|
task :gem => "package:gem"
|
158
165
|
task :nightly_gem => "package:nightly_gem"
|
166
|
+
# PA-3356: temporary task to ship puppet 7 nightly gem
|
167
|
+
# TODO: PA-3358 - remove when puppet 7 is officialy out
|
168
|
+
task :puppet_7_nightly_gem => "package:puppet_7_nightly_gem"
|
159
169
|
end
|
data/tasks/ship.rake
CHANGED
@@ -265,6 +265,25 @@ namespace :pl do
|
|
265
265
|
|
266
266
|
Pkg::Util::Net.remote_ssh_cmd(Pkg::Config.gem_host, command)
|
267
267
|
end
|
268
|
+
|
269
|
+
# PA-3356: temporary task to link puppet 7 nightly gem
|
270
|
+
# TODO: PA-3358 - remove when puppet 7 is officialy out
|
271
|
+
desc "Remotely link puppet 7 nightly shipped gems to latest versions on #{Pkg::Config.gem_host}"
|
272
|
+
task link_puppet_7_nightly_shipped_gems_to_latest: 'pl:fetch' do
|
273
|
+
Pkg::Config.gemversion = Pkg::Util::Version.extended_dot_version.gsub(/6\.\d+\.\d+/, '7.0.0')
|
274
|
+
|
275
|
+
remote_path = Pkg::Config.nonfinal_gem_path
|
276
|
+
gems = FileList['pkg/*.gem'].map! { |path| path.gsub!('pkg/', '') }
|
277
|
+
command = %(cd #{remote_path}; )
|
278
|
+
|
279
|
+
command += gems.map! do |gem_name|
|
280
|
+
%(sudo ln -sf #{gem_name} #{gem_name.gsub(Pkg::Config.gemversion, 'latest')})
|
281
|
+
end.join(';')
|
282
|
+
|
283
|
+
command += %(; sync)
|
284
|
+
|
285
|
+
Pkg::Util::Net.remote_ssh_cmd(Pkg::Config.gem_host, command)
|
286
|
+
end
|
268
287
|
end
|
269
288
|
|
270
289
|
desc "Ship mocked rpms to #{Pkg::Config.yum_staging_server}"
|
@@ -368,46 +387,26 @@ namespace :pl do
|
|
368
387
|
|
369
388
|
desc "ship apple dmg to #{Pkg::Config.dmg_staging_server}"
|
370
389
|
task ship_dmg: 'pl:fetch' do
|
371
|
-
|
372
|
-
# removed, but only when we can successfully modify all instances of
|
373
|
-
# this to be set to '/opt/downloads'. In the meantime, we need to write
|
374
|
-
# this terrible workaround to ensure backward compatibility.
|
375
|
-
#
|
376
|
-
# I'm so sorry
|
377
|
-
# ~MAS 2017-08-14
|
378
|
-
if Pkg::Config.dmg_path == "/opt/downloads/mac"
|
379
|
-
path = "/opt/downloads"
|
380
|
-
else
|
381
|
-
path = Pkg::Config.dmg_path
|
382
|
-
end
|
390
|
+
path = Pkg::Paths.remote_repo_base(package_format: 'dmg')
|
383
391
|
Pkg::Util::Ship.ship_dmg('pkg', path)
|
384
392
|
end
|
385
393
|
|
386
394
|
desc "ship nightly apple dmgs to #{Pkg::Config.dmg_staging_server}"
|
387
395
|
task ship_nightly_dmg: 'pl:fetch' do
|
388
|
-
Pkg::
|
396
|
+
path = Pkg::Paths.remote_repo_base(package_format: 'dmg', nonfinal: true)
|
397
|
+
Pkg::Util::Ship.ship_dmg('pkg', path, nonfinal: true)
|
389
398
|
end
|
390
399
|
|
391
400
|
desc "ship Arista EOS swix packages and signatures to #{Pkg::Config.swix_staging_server}"
|
392
401
|
task ship_swix: 'pl:fetch' do
|
393
|
-
|
394
|
-
# removed, but only when we can successfully modify all instances of
|
395
|
-
# this to be set to '/opt/downloads'. In the meantime, we need to write
|
396
|
-
# this terrible workaround to ensure backward compatibility.
|
397
|
-
#
|
398
|
-
# I'm so sorry
|
399
|
-
# ~MAS 2017-08-14
|
400
|
-
if Pkg::Config.swix_path == "/opt/downloads/eos"
|
401
|
-
path = "/opt/downloads"
|
402
|
-
else
|
403
|
-
path = Pkg::Config.swix_path
|
404
|
-
end
|
402
|
+
path = Pkg::Paths.remote_repo_base(package_format: 'swix')
|
405
403
|
Pkg::Util::Ship.ship_swix('pkg', path)
|
406
404
|
end
|
407
405
|
|
408
406
|
desc "ship nightly Arista EOS swix packages and signatures to #{Pkg::Config.swix_staging_server}"
|
409
407
|
task ship_nightly_swix: 'pl:fetch' do
|
410
|
-
Pkg::
|
408
|
+
path = Pkg::Paths.remote_repo_base(package_format: 'swix', nonfinal: true)
|
409
|
+
Pkg::Util::Ship.ship_swix('pkg', path, nonfinal: true)
|
411
410
|
end
|
412
411
|
|
413
412
|
desc "ship tarball and signature to #{Pkg::Config.tar_staging_server}"
|
@@ -429,24 +428,14 @@ namespace :pl do
|
|
429
428
|
|
430
429
|
desc "Ship MSI packages to #{Pkg::Config.msi_staging_server}"
|
431
430
|
task ship_msi: 'pl:fetch' do
|
432
|
-
|
433
|
-
# removed, but only when we can successfully modify all instances of
|
434
|
-
# this to be set to '/opt/downloads'. In the meantime, we need to write
|
435
|
-
# this terrible workaround to ensure backward compatibility.
|
436
|
-
#
|
437
|
-
# I'm so sorry
|
438
|
-
# ~MAS 2017-08-14
|
439
|
-
if Pkg::Config.msi_path == "/opt/downloads/windows"
|
440
|
-
path = "/opt/downloads"
|
441
|
-
else
|
442
|
-
path = Pkg::Config.msi_path
|
443
|
-
end
|
431
|
+
path = Pkg::Paths.remote_repo_base(package_format: 'msi')
|
444
432
|
Pkg::Util::Ship.ship_msi('pkg', path, excludes: ["#{Pkg::Config.project}-x(86|64).msi"])
|
445
433
|
end
|
446
434
|
|
447
435
|
desc "Ship nightly MSI packages to #{Pkg::Config.msi_staging_server}"
|
448
436
|
task ship_nightly_msi: 'pl:fetch' do
|
449
|
-
Pkg::
|
437
|
+
path = Pkg::Paths.remote_repo_base(package_format: 'msi', nonfinal: true)
|
438
|
+
Pkg::Util::Ship.ship_msi('pkg', path, excludes: ["#{Pkg::Config.project}-x(86|64).msi"], nonfinal: true)
|
450
439
|
end
|
451
440
|
|
452
441
|
desc "Add #{Pkg::Config.project} version #{Pkg::Config.ref} to release-metrics"
|
@@ -546,6 +535,16 @@ namespace :pl do
|
|
546
535
|
puts " * #{err}"
|
547
536
|
end
|
548
537
|
end
|
538
|
+
|
539
|
+
desc 'Create the rolling repo links'
|
540
|
+
task create_repo_links: 'pl:fetch' do
|
541
|
+
Pkg::Util::Ship.create_rolling_repo_links
|
542
|
+
end
|
543
|
+
|
544
|
+
desc 'Create rolling repo links for nightlies'
|
545
|
+
task create_nightly_repo_links: 'pl:fetch' do
|
546
|
+
Pkg::Util::Ship.create_rolling_repo_links(true)
|
547
|
+
end
|
549
548
|
end
|
550
549
|
|
551
550
|
# It is odd to namespace this ship task under :jenkins, but this task is
|
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.
|
4
|
+
version: 0.99.68
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: csv
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 3.1.5
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 3.1.5
|
97
111
|
description: Packaging automation written in Rake and Ruby. Easily build native packages
|
98
112
|
for most platforms with a few data files and git.
|
99
113
|
email: info@puppetlabs.com
|
@@ -246,27 +260,27 @@ specification_version: 4
|
|
246
260
|
summary: Puppet Labs' packaging automation
|
247
261
|
test_files:
|
248
262
|
- spec/lib/packaging_spec.rb
|
249
|
-
- spec/lib/packaging/sign_spec.rb
|
250
263
|
- spec/lib/packaging/artifactory_spec.rb
|
251
|
-
- spec/lib/packaging/deb_spec.rb
|
252
|
-
- spec/lib/packaging/platforms_spec.rb
|
253
|
-
- spec/lib/packaging/gem_spec.rb
|
254
264
|
- spec/lib/packaging/config_spec.rb
|
265
|
+
- spec/lib/packaging/gem_spec.rb
|
266
|
+
- spec/lib/packaging/tar_spec.rb
|
267
|
+
- spec/lib/packaging/rpm/repo_spec.rb
|
268
|
+
- spec/lib/packaging/paths_spec.rb
|
255
269
|
- spec/lib/packaging/retrieve_spec.rb
|
270
|
+
- spec/lib/packaging/deb/repo_spec.rb
|
271
|
+
- spec/lib/packaging/repo_spec.rb
|
272
|
+
- spec/lib/packaging/platforms_spec.rb
|
273
|
+
- spec/lib/packaging/util/git_spec.rb
|
256
274
|
- spec/lib/packaging/util/rake_utils_spec.rb
|
257
|
-
- spec/lib/packaging/util/misc_spec.rb
|
258
|
-
- spec/lib/packaging/util/jenkins_spec.rb
|
259
|
-
- spec/lib/packaging/util/net_spec.rb
|
260
|
-
- spec/lib/packaging/util/file_spec.rb
|
261
275
|
- spec/lib/packaging/util/git_tag_spec.rb
|
262
|
-
- spec/lib/packaging/util/
|
276
|
+
- spec/lib/packaging/util/net_spec.rb
|
277
|
+
- spec/lib/packaging/util/jenkins_spec.rb
|
263
278
|
- spec/lib/packaging/util/gpg_spec.rb
|
264
|
-
- spec/lib/packaging/util/
|
279
|
+
- spec/lib/packaging/util/file_spec.rb
|
280
|
+
- spec/lib/packaging/util/misc_spec.rb
|
265
281
|
- spec/lib/packaging/util/ship_spec.rb
|
282
|
+
- spec/lib/packaging/util/execution_spec.rb
|
266
283
|
- spec/lib/packaging/util/version_spec.rb
|
267
284
|
- spec/lib/packaging/util/os_spec.rb
|
268
|
-
- spec/lib/packaging/
|
269
|
-
- spec/lib/packaging/
|
270
|
-
- spec/lib/packaging/tar_spec.rb
|
271
|
-
- spec/lib/packaging/paths_spec.rb
|
272
|
-
- spec/lib/packaging/rpm/repo_spec.rb
|
285
|
+
- spec/lib/packaging/deb_spec.rb
|
286
|
+
- spec/lib/packaging/sign_spec.rb
|