packaging 0.99.71 → 0.99.76

Sign up to get free protection for your applications and to get access to all the features.
@@ -17,7 +17,7 @@ describe "Pkg::Util::Git_tag" do
17
17
 
18
18
  context "branch?" do
19
19
  it "sets ref type as a branch when passed a branch" do
20
- git_tag = Pkg::Util::Git_tag.new("git://github.com/puppetlabs/leatherman.git", "master")
20
+ git_tag = Pkg::Util::Git_tag.new("git://github.com/puppetlabs/leatherman.git", "main")
21
21
  expect(git_tag.branch?).to eq(true)
22
22
  end
23
23
  end
@@ -2,88 +2,112 @@ require 'spec_helper'
2
2
 
3
3
  describe '#Pkg::Util::Ship' do
4
4
  describe '#collect_packages' do
5
- msi_pkgs = [
6
- 'pkg/windows/puppet5/puppet-agent-1.4.1.2904.g8023dd1-x86.msi',
7
- 'pkg/windows/puppet5/puppet-agent-x86.msi',
8
- 'pkg/windowsfips/puppet5/puppet-agent-1.4.1.2904.g8023dd1-x64.msi',
9
- 'pkg/windowsfips/puppet5/puppet-agent-x64.msi'
5
+ msi_packages = %w[
6
+ pkg/windows/puppet6/puppet-agent-6.19.0-x64.msi
7
+ pkg/windows/puppet6/puppet-agent-6.19.0-x86.msi
8
+ pkg/windowsfips/puppet6/puppet-agent-6.19.0-x64.msi
9
+ pkg/windows/puppet6/puppet-agent-x86.msi
10
+ pkg/windowsfips/puppet6/puppet-agent-x64.msi
10
11
  ]
11
- swix_pkgs = [
12
- 'pkg/eos/puppet5/4/i386/puppet-agent-1.4.1.2904.g8023dd1-1.eos4.i386.swix',
13
- 'pkg/eos/puppet5/4/i386/puppet-agent-1.4.1.2904.g8023dd1-1.eos4.i386.swix.asc',
12
+ solaris_packages = %w[
13
+ pkg/solaris/10/puppet6/puppet-agent-6.9.0-1.sparc.pkg.gz
14
+ pkg/solaris/10/puppet6/puppet-agent-6.9.0-1.sparc.pkg.gz.asc
14
15
  ]
15
16
 
16
17
  it 'returns an array of packages found on the filesystem' do
17
- allow(Dir).to receive(:glob).with('pkg/**/*.swix*').and_return(swix_pkgs)
18
- expect(Pkg::Util::Ship.collect_packages(['pkg/**/*.swix*'])).to eq(swix_pkgs)
18
+ allow(Dir).to receive(:glob).with('pkg/**/*.sparc*').and_return(solaris_packages)
19
+ expect(Pkg::Util::Ship.collect_packages(['pkg/**/*.sparc*'])).to eq(solaris_packages)
19
20
  end
20
21
 
21
- describe 'define excludes' do
22
+ context 'excluding packages' do
22
23
  before :each do
23
- allow(Dir).to receive(:glob).with('pkg/**/*.msi').and_return(msi_pkgs)
24
+ allow(Dir).to receive(:glob).with('pkg/**/*.msi').and_return(msi_packages)
24
25
  end
25
26
  it 'correctly excludes any packages that match a passed excludes argument' do
26
- expect(Pkg::Util::Ship.collect_packages(['pkg/**/*.msi'], ['puppet-agent-x(86|64).msi'])).not_to include('pkg/windows/puppet5/puppet-agent-x86.msi')
27
+ expect(Pkg::Util::Ship.collect_packages(['pkg/**/*.msi'], ['puppet-agent-x(86|64).msi']))
28
+ .not_to include('pkg/windows/puppet6/puppet-agent-x86.msi')
29
+ expect(Pkg::Util::Ship.collect_packages(['pkg/**/*.msi'], ['puppet-agent-x(86|64).msi']))
30
+ .not_to include('pkg/windows/puppet6/puppet-agent-x64.msi')
27
31
  end
28
32
  it 'correctly includes packages that do not match a passed excluded argument' do
29
- expect(Pkg::Util::Ship.collect_packages(['pkg/**/*.msi'], ['puppet-agent-x(86|64).msi'])).to \
30
- match_array(
31
- [
32
- 'pkg/windows/puppet5/puppet-agent-1.4.1.2904.g8023dd1-x86.msi',
33
- 'pkg/windowsfips/puppet5/puppet-agent-1.4.1.2904.g8023dd1-x64.msi',
34
- ]
35
- )
33
+ expect(Pkg::Util::Ship.collect_packages(['pkg/**/*.msi'],
34
+ ['bogus-puppet-agent-x(86|64).msi']))
35
+ .to match_array(msi_packages)
36
36
  end
37
37
  end
38
38
 
39
- it 'fails when it cannot find any packages at all' do
39
+ it 'returns an empty array when it cannot find any packages' do
40
40
  allow(Dir).to receive(:glob).with('pkg/**/*.html').and_return([])
41
41
  expect(Pkg::Util::Ship.collect_packages(['pkg/**/*.html'])).to be_empty
42
42
  end
43
43
  end
44
44
 
45
- local_pkgs = [
46
- 'pkg/deb/stretch/puppet5/puppet-agent_1.4.1.2904.g8023dd1-1stretch_i386.deb',
47
- 'pkg/el/5/puppet5/x86_64/puppet-agent-1.4.1.2904.g8023dd1-1.el5.x86_64.rpm',
48
- 'pkg/sles/11/puppet5/i386/puppet-agent-1.4.1.2904.g8023dd1-1.sles11.i386.rpm',
49
- 'pkg/sles/12/puppet5/x86_64/puppet-agent-1.4.1.2904.g8023dd1-1.sles12.x86_64.rpm',
50
- 'pkg/mac/10.15/puppet5/x86_64/puppet-agent-1.4.1.2904.g8023dd1-1.osx10.15.dmg',
51
- 'pkg/eos/4/puppet5/i386/puppet-agent-1.4.1.2904.g8023dd1-1.eos4.i386.swix',
52
- 'pkg/eos/4/puppet5/i386/puppet-agent-1.4.1.2904.g8023dd1-1.eos4.i386.swix.asc',
53
- 'pkg/windows/puppet5/puppet-agent-1.4.1.2904.g8023dd1-x86.msi',
54
- ]
55
- new_pkgs = [
56
- 'pkg/stretch/puppet5/puppet-agent_1.4.1.2904.g8023dd1-1stretch_i386.deb',
57
- 'pkg/puppet5/el/5/x86_64/puppet-agent-1.4.1.2904.g8023dd1-1.el5.x86_64.rpm',
58
- 'pkg/puppet5/sles/11/i386/puppet-agent-1.4.1.2904.g8023dd1-1.sles11.i386.rpm',
59
- 'pkg/puppet5/sles/12/x86_64/puppet-agent-1.4.1.2904.g8023dd1-1.sles12.x86_64.rpm',
60
- 'pkg/mac/puppet5/10.15/x86_64/puppet-agent-1.4.1.2904.g8023dd1-1.osx10.15.dmg',
61
- 'pkg/eos/puppet5/4/i386/puppet-agent-1.4.1.2904.g8023dd1-1.eos4.i386.swix',
62
- 'pkg/eos/puppet5/4/i386/puppet-agent-1.4.1.2904.g8023dd1-1.eos4.i386.swix.asc',
63
- 'pkg/windows/puppet5/puppet-agent-1.4.1.2904.g8023dd1-x86.msi',
64
- ]
45
+ # Sample data for #reorganize_packages and #ship_pkgs specs
46
+ retrieved_packages = %w[
47
+ pkg/deb/bionic/puppet6/puppet-agent_6.19.0-1bionic_amd64.deb
48
+ pkg/el/7/puppet6/aarch64/puppet-agent-6.19.0-1.el7.aarch64.rpm
49
+ pkg/el/7/puppet6/ppc64le/puppet-agent-6.19.0-1.el7.ppc64le.rpm
50
+ pkg/el/7/puppet6/x86_64/puppet-agent-6.19.0-1.el7.x86_64.rpm
51
+ pkg/sles/12/puppet6/ppc64le/puppet-agent-6.19.0-1.sles12.ppc64le.rpm
52
+ pkg/sles/12/puppet6/x86_64/puppet-agent-6.19.0-1.sles12.x86_64.rpm
53
+ pkg/sles/15/puppet6/x86_64/puppet-agent-6.19.0-1.sles15.x86_64.rpm
54
+ pkg/apple/10.14/puppet6/x86_64/puppet-agent-6.19.0-1.osx10.14.dmg
55
+ pkg/apple/10.15/puppet6/x86_64/puppet-agent-6.19.0-1.osx10.15.dmg
56
+ pkg/fedora/32/puppet6/x86_64/puppet-agent-6.19.0-1.fc32.x86_64.rpm
57
+ pkg/windows/puppet-agent-6.19.0-x64.msi
58
+ pkg/windows/puppet-agent-6.19.0-x86.msi
59
+ pkg/windowsfips/puppet-agent-6.19.0-x64.msi
60
+ pkg/windows/puppet6/puppet-agent-x86.msi
61
+ pkg/windowsfips/puppet6/puppet-agent-x64.msi
62
+ ]
63
+
64
+ # After reorganization, the packages should look like this.
65
+ # Beware apple->mac transforms.
66
+ expected_reorganized_packages = %w[
67
+ pkg/bionic/puppet6/puppet-agent_6.19.0-1bionic_amd64.deb
68
+ pkg/puppet6/el/7/aarch64/puppet-agent-6.19.0-1.el7.aarch64.rpm
69
+ pkg/puppet6/el/7/ppc64le/puppet-agent-6.19.0-1.el7.ppc64le.rpm
70
+ pkg/puppet6/el/7/x86_64/puppet-agent-6.19.0-1.el7.x86_64.rpm
71
+ pkg/puppet6/sles/12/ppc64le/puppet-agent-6.19.0-1.sles12.ppc64le.rpm
72
+ pkg/puppet6/sles/12/x86_64/puppet-agent-6.19.0-1.sles12.x86_64.rpm
73
+ pkg/puppet6/sles/15/x86_64/puppet-agent-6.19.0-1.sles15.x86_64.rpm
74
+ pkg/mac/puppet6/10.14/x86_64/puppet-agent-6.19.0-1.osx10.14.dmg
75
+ pkg/mac/puppet6/10.15/x86_64/puppet-agent-6.19.0-1.osx10.15.dmg
76
+ pkg/puppet6/fedora/32/x86_64/puppet-agent-6.19.0-1.fc32.x86_64.rpm
77
+ pkg/windows/puppet6/puppet-agent-6.19.0-x64.msi
78
+ pkg/windows/puppet6/puppet-agent-6.19.0-x86.msi
79
+ pkg/windowsfips/puppet6/puppet-agent-6.19.0-x64.msi
80
+ pkg/windows/puppet6/puppet-agent-x86.msi
81
+ pkg/windowsfips/puppet6/puppet-agent-x64.msi
82
+ ]
65
83
 
66
84
  describe '#reorganize_packages' do
67
- tmpdir = Dir.mktmpdir
85
+ # This is a sampling of packages found on builds.delivery.puppetlabs.net in
86
+ # '/opt/jenkins-builds/puppet-agent/<version>/artifacts'
87
+ # pl:jenkins:retrieve replaces 'artifacts' with 'pkg', so we pick up the
88
+ # action from that point by pretending that we've scanned the directory and
89
+ # made this list:
90
+
91
+ scratch_directory = Dir.mktmpdir
68
92
 
69
93
  before :each do
70
- allow(Pkg::Config).to receive(:repo_name).and_return('puppet5')
71
- expect(FileUtils).to receive(:cp).at_least(:once)
94
+ allow(Pkg::Config).to receive(:repo_name).and_return('puppet6')
95
+ expect(FileUtils).to receive(:cp).at_least(:once).and_return(true)
72
96
  end
73
97
 
74
- it 'makes a temporary directory' do
75
- expect(FileUtils).to receive(:mkdir_p).at_least(:once)
76
- Pkg::Util::Ship.reorganize_packages(local_pkgs, tmpdir)
77
- end
98
+ original_packages = retrieved_packages
78
99
 
79
100
  it 'leaves the old packages in place' do
80
- orig = local_pkgs
81
- Pkg::Util::Ship.reorganize_packages(local_pkgs, tmpdir)
82
- expect(local_pkgs).to eq(orig)
101
+ reorganized_packages = Pkg::Util::Ship
102
+ .reorganize_packages(retrieved_packages, scratch_directory)
103
+
104
+ expect(retrieved_packages).to eq(original_packages)
83
105
  end
84
106
 
85
- it 'returns a list of packages that do not have the temp dir in the path' do
86
- expect(Pkg::Util::Ship.reorganize_packages(local_pkgs, tmpdir)).to eq(new_pkgs)
107
+ it 'returns a list of properly reorganized packages' do
108
+ reorganized_packages = Pkg::Util::Ship
109
+ .reorganize_packages(retrieved_packages, scratch_directory)
110
+ expect(reorganized_packages).to eq(expected_reorganized_packages)
87
111
  end
88
112
  end
89
113
 
@@ -92,38 +116,84 @@ new_pkgs = [
92
116
  test_remote_path = '/opt/repository/yum'
93
117
 
94
118
  it 'ships the packages to the staging server' do
95
- allow(Pkg::Util::Ship).to receive(:collect_packages).and_return(local_pkgs)
96
- allow(Pkg::Util::Ship).to receive(:reorganize_packages).and_return(new_pkgs)
119
+ allow(Pkg::Util::Ship)
120
+ .to receive(:collect_packages)
121
+ .and_return(retrieved_packages)
122
+ allow(Pkg::Util::Ship)
123
+ .to receive(:reorganize_packages)
124
+ .and_return(expected_reorganized_packages)
97
125
  allow(Pkg::Util).to receive(:ask_yes_or_no).and_return(true)
98
126
  # All of these expects must be called in the same block in order for the
99
127
  # tests to work without actually shipping anything
100
- expect(Pkg::Util::Net).to receive(:remote_ssh_cmd).with(test_staging_server, /#{test_remote_path}/).exactly(local_pkgs.count).times
101
- expect(Pkg::Util::Net).to receive(:rsync_to).with(anything, test_staging_server, /#{test_remote_path}/, anything).exactly(local_pkgs.count).times
102
- expect(Pkg::Util::Net).to receive(:remote_set_ownership).with(test_staging_server, 'root', 'release', anything).exactly(local_pkgs.count).times
103
- expect(Pkg::Util::Net).to receive(:remote_set_permissions).with(test_staging_server, '775', anything).exactly(local_pkgs.count).times
104
- expect(Pkg::Util::Net).to receive(:remote_set_permissions).with(test_staging_server, '0664', anything).exactly(local_pkgs.count).times
105
- expect(Pkg::Util::Net).to receive(:remote_set_immutable).with(test_staging_server, anything).exactly(local_pkgs.count).times
106
- expect(Pkg::Util::Ship.ship_pkgs(['pkg/**/*.rpm'], test_staging_server, test_remote_path)).to eq(true)
128
+ expect(Pkg::Util::Net)
129
+ .to receive(:remote_ssh_cmd)
130
+ .with(test_staging_server, /#{test_remote_path}/)
131
+ .exactly(retrieved_packages.count).times
132
+ expect(Pkg::Util::Net)
133
+ .to receive(:rsync_to)
134
+ .with(anything, test_staging_server, /#{test_remote_path}/, anything)
135
+ .exactly(retrieved_packages.count).times
136
+ expect(Pkg::Util::Net)
137
+ .to receive(:remote_set_ownership)
138
+ .with(test_staging_server, 'root', 'release', anything)
139
+ .exactly(retrieved_packages.count).times
140
+ expect(Pkg::Util::Net)
141
+ .to receive(:remote_set_permissions)
142
+ .with(test_staging_server, '775', anything)
143
+ .exactly(retrieved_packages.count).times
144
+ expect(Pkg::Util::Net)
145
+ .to receive(:remote_set_permissions)
146
+ .with(test_staging_server, '0664', anything)
147
+ .exactly(retrieved_packages.count).times
148
+ expect(Pkg::Util::Net)
149
+ .to receive(:remote_set_immutable)
150
+ .with(test_staging_server, anything)
151
+ .exactly(retrieved_packages.count).times
152
+ expect(Pkg::Util::Ship.ship_pkgs(['pkg/**/*.rpm'], test_staging_server, test_remote_path))
153
+ .to eq(true)
107
154
  end
108
155
 
109
156
  it 'ships packages containing the string `pkg` to the right place' do
110
- allow(Pkg::Util::Ship).to receive(:collect_packages).and_return(['pkg/el/5/puppet5/x86_64/my-super-sweet-pkg-1.0.0-1.el5.x86_64.rpm' ])
111
- allow(Pkg::Util::Ship).to receive(:reorganize_packages).and_return(['pkg/puppet5/el/5/x86_64/my-super-sweet-pkg-1.0.0-1.el5.x86_64.rpm'])
157
+ retrieved_package = 'pkg/el/7/puppet6/x86_64/puppet-agent-6.19.0-1.el7.x86_64.rpm'
158
+ reorganized_package = 'pkg/puppet6/el/7/x86_64/puppet-agent-6.19.0-1.el7.x86_64.rpm'
159
+ package_basename = File.basename(reorganized_package)
160
+ repository_base_path = '/opt/repository/yum/puppet6/el/7/x86_64'
161
+
162
+ allow(Pkg::Util::Ship).to receive(:collect_packages).and_return([retrieved_package])
163
+ allow(Pkg::Util::Ship).to receive(:reorganize_packages).and_return([reorganized_package])
112
164
  allow(Pkg::Util).to receive(:ask_yes_or_no).and_return(true)
113
165
  allow(Dir).to receive(:mktmpdir).and_return('/tmp/test')
166
+
114
167
  # All of these expects must be called in the same block in order for the
115
168
  # tests to work without actually shipping anything
116
- expect(Pkg::Util::Net).to receive(:remote_ssh_cmd).with(test_staging_server, /#{test_remote_path}/)
117
- expect(Pkg::Util::Net).to receive(:rsync_to).with(anything, test_staging_server, /#{test_remote_path}/, anything)
118
- expect(Pkg::Util::Net).to receive(:remote_set_ownership).with(test_staging_server, 'root', 'release', ['/opt/repository/yum/puppet5/el/5/x86_64', '/opt/repository/yum/puppet5/el/5/x86_64/my-super-sweet-pkg-1.0.0-1.el5.x86_64.rpm'])
119
- expect(Pkg::Util::Net).to receive(:remote_set_permissions).with(test_staging_server, '775', anything)
120
- expect(Pkg::Util::Net).to receive(:remote_set_permissions).with(test_staging_server, '0664', anything)
121
- expect(Pkg::Util::Net).to receive(:remote_set_immutable).with(test_staging_server, anything)
122
- expect(Pkg::Util::Ship.ship_pkgs(['pkg/**/*.rpm'], test_staging_server, test_remote_path, excludes: ['puppet-agent'])).to eq(true)
169
+ expect(Pkg::Util::Net)
170
+ .to receive(:remote_ssh_cmd)
171
+ .with(test_staging_server, /#{test_remote_path}/)
172
+ expect(Pkg::Util::Net)
173
+ .to receive(:rsync_to)
174
+ .with(anything, test_staging_server, /#{test_remote_path}/, anything)
175
+ expect(Pkg::Util::Net)
176
+ .to receive(:remote_set_ownership)
177
+ .with(test_staging_server, 'root', 'release',
178
+ [repository_base_path, "#{repository_base_path}/#{package_basename}"])
179
+ expect(Pkg::Util::Net)
180
+ .to receive(:remote_set_permissions)
181
+ .with(test_staging_server, '775', anything)
182
+ expect(Pkg::Util::Net)
183
+ .to receive(:remote_set_permissions)
184
+ .with(test_staging_server, '0664', anything)
185
+ expect(Pkg::Util::Net)
186
+ .to receive(:remote_set_immutable)
187
+ .with(test_staging_server, anything)
188
+ expect(Pkg::Util::Ship.ship_pkgs(['pkg/**/*.rpm'], test_staging_server,
189
+ test_remote_path, excludes: ['puppet-agent']))
190
+ .to eq(true)
123
191
  end
124
192
 
125
193
  it 'returns false if there are no packages to ship' do
126
- expect(Pkg::Util::Ship.ship_pkgs(['pkg/**/*.msi'], test_staging_server, test_remote_path)).to eq(false)
194
+ expect(Pkg::Util::Ship.ship_pkgs(['pkg/**/*.msi'],
195
+ test_staging_server, test_remote_path))
196
+ .to eq(false)
127
197
  end
128
198
  end
129
199
  end
data/tasks/config.rake CHANGED
@@ -6,6 +6,11 @@ namespace :config do
6
6
  end
7
7
  end
8
8
 
9
+ desc "validate Pkg::Config values for this repo"
10
+ task :validate do
11
+ Pkg::Config.perform_validations
12
+ end
13
+
9
14
  task :print_hosts => 'pl:fetch' do
10
15
  Pkg::Util.filter_configs('host').each do |key, value|
11
16
  puts "#{key}: #{value}"
data/tasks/fetch.rake CHANGED
@@ -30,28 +30,31 @@ namespace :pl do
30
30
  task :fetch do
31
31
  # Remove .packaging directory from old-style extras loading
32
32
  rm_rf "#{ENV['HOME']}/.packaging" if File.directory?("#{ENV['HOME']}/.packaging")
33
+
33
34
  # Touch the .packaging file which is allows packaging to present remote tasks
34
35
  touch "#{ENV['HOME']}/.packaging"
35
36
 
36
37
  begin
37
- temp_build_data_dir = Pkg::Util::File.mktemp
38
- %x(git clone #{data_repo} #{temp_build_data_dir})
39
- if $?.success?
40
- Dir.chdir(temp_build_data_dir) do
41
- [team_data_branch, project_data_branch].each do |branch|
42
- %x(git checkout #{branch})
43
- if $?.success?
44
- Pkg::Util::RakeUtils.invoke_task("pl:load_extras", temp_build_data_dir)
45
- else
46
- warn "Unable to load build_defaults from branch '#{branch}' in '#{data_repo}'. Skipping."
47
- end
38
+ build_data_directory = Pkg::Util::File.mktemp
39
+ %x(git clone #{data_repo} #{build_data_directory})
40
+ unless $?.success?
41
+ fail 'Error: could not fetch the build-data repo. Maybe you do not have the correct permissions?'
42
+ end
43
+
44
+ Dir.chdir(build_data_directory) do
45
+ [team_data_branch, project_data_branch].each do |branch|
46
+ %x(git checkout #{branch})
47
+ unless $?.success?
48
+ warn "Warning: no build_defaults found in branch '#{branch}' of '#{data_repo}'. Skipping."
49
+ next
48
50
  end
51
+ Pkg::Util::RakeUtils.invoke_task('pl:load_extras', build_data_directory)
49
52
  end
50
- else
51
- fail "There was an error attempting to fetch the build-data repo. Maybe you do not have the correct permissions?"
52
53
  end
53
54
  ensure
54
- rm_rf temp_build_data_dir
55
+ rm_rf build_data_directory
55
56
  end
57
+
58
+ Pkg::Util::RakeUtils.invoke_task('config:validate')
56
59
  end
57
60
  end
data/tasks/gem.rake CHANGED
@@ -150,20 +150,10 @@ 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
160
153
  end
161
154
 
162
155
  # An alias task to simplify our remote logic in jenkins.rake
163
156
  namespace :pl do
164
157
  task :gem => "package:gem"
165
158
  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"
169
159
  end
data/tasks/ship.rake CHANGED
@@ -265,25 +265,6 @@ 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
287
268
  end
288
269
 
289
270
  desc "Ship mocked rpms to #{Pkg::Config.yum_staging_server}"
@@ -463,6 +444,16 @@ namespace :pl do
463
444
  end
464
445
  end
465
446
 
447
+ desc 'Create the rolling repo links'
448
+ task create_repo_links: 'pl:fetch' do
449
+ Pkg::Util::Ship.create_rolling_repo_links
450
+ end
451
+
452
+ desc 'Create rolling repo links for nightlies'
453
+ task create_nightly_repo_links: 'pl:fetch' do
454
+ Pkg::Util::Ship.create_rolling_repo_links(true)
455
+ end
456
+
466
457
  desc 'Test out the ship requirements'
467
458
  task ship_check: 'pl:fetch' do
468
459
  errs = []
@@ -536,15 +527,6 @@ namespace :pl do
536
527
  end
537
528
  end
538
529
 
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
548
530
  end
549
531
 
550
532
  # 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.71
4
+ version: 0.99.76
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-10-02 00:00:00.000000000 Z
11
+ date: 2021-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -124,6 +124,7 @@ files:
124
124
  - lib/packaging/artifactory/extensions.rb
125
125
  - lib/packaging/config.rb
126
126
  - lib/packaging/config/params.rb
127
+ - lib/packaging/config/validations.rb
127
128
  - lib/packaging/deb.rb
128
129
  - lib/packaging/deb/repo.rb
129
130
  - lib/packaging/gem.rb
@@ -259,28 +260,28 @@ signing_key:
259
260
  specification_version: 4
260
261
  summary: Puppet Labs' packaging automation
261
262
  test_files:
262
- - spec/lib/packaging/artifactory_spec.rb
263
+ - spec/lib/packaging_spec.rb
263
264
  - spec/lib/packaging/sign_spec.rb
265
+ - spec/lib/packaging/deb/repo_spec.rb
266
+ - spec/lib/packaging/retrieve_spec.rb
267
+ - spec/lib/packaging/paths_spec.rb
264
268
  - spec/lib/packaging/platforms_spec.rb
265
269
  - spec/lib/packaging/rpm/repo_spec.rb
270
+ - spec/lib/packaging/gem_spec.rb
271
+ - spec/lib/packaging/deb_spec.rb
266
272
  - spec/lib/packaging/repo_spec.rb
267
273
  - spec/lib/packaging/config_spec.rb
268
- - spec/lib/packaging/gem_spec.rb
274
+ - spec/lib/packaging/util/misc_spec.rb
269
275
  - spec/lib/packaging/util/execution_spec.rb
270
276
  - spec/lib/packaging/util/gpg_spec.rb
277
+ - spec/lib/packaging/util/os_spec.rb
278
+ - spec/lib/packaging/util/version_spec.rb
271
279
  - spec/lib/packaging/util/git_spec.rb
272
- - spec/lib/packaging/util/jenkins_spec.rb
273
- - spec/lib/packaging/util/rake_utils_spec.rb
274
280
  - spec/lib/packaging/util/net_spec.rb
281
+ - spec/lib/packaging/util/rake_utils_spec.rb
282
+ - spec/lib/packaging/util/jenkins_spec.rb
275
283
  - spec/lib/packaging/util/git_tag_spec.rb
276
- - spec/lib/packaging/util/misc_spec.rb
277
284
  - spec/lib/packaging/util/ship_spec.rb
278
285
  - spec/lib/packaging/util/file_spec.rb
279
- - spec/lib/packaging/util/version_spec.rb
280
- - spec/lib/packaging/util/os_spec.rb
281
- - spec/lib/packaging/paths_spec.rb
282
- - spec/lib/packaging/deb_spec.rb
283
- - spec/lib/packaging/retrieve_spec.rb
284
286
  - spec/lib/packaging/tar_spec.rb
285
- - spec/lib/packaging/deb/repo_spec.rb
286
- - spec/lib/packaging_spec.rb
287
+ - spec/lib/packaging/artifactory_spec.rb