packaging 0.99.49 → 0.99.50
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 +4 -4
- data/lib/packaging/util/version.rb +8 -0
- data/tasks/gem.rake +19 -9
- data/tasks/ship.rake +38 -14
- metadata +21 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad409cc1cd10d0f72e9a6e63ba13c32db7b610e3477c691763bb78f949364fd1
|
4
|
+
data.tar.gz: d97ee866c371abf36817b33a4cacfcdf9863b76de9d9e46cd8e9f2f4bd39b117
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56f4a038ca5cc5fc4495b9302fc86b1902c5581981d1963097457058f51996163bf76491977037deb2cddea4c0e9248075dab6db329d1c2ff3ba23c4254a7fba
|
7
|
+
data.tar.gz: 57c6b4f35809ee6164f243d6f23056f1538347d452124c2d0f714978fa19bd0413c35e723f1fa8f4232546e69db3327d21ee09aed75992866399a3249783d281
|
@@ -50,12 +50,20 @@ module Pkg::Util::Version
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
+
def extended_dash_version
|
54
|
+
Pkg::Util::Git.describe(['--tags', '--dirty', '--abbrev=7'])
|
55
|
+
end
|
56
|
+
|
53
57
|
# This version is used for gems and platform types that do not support
|
54
58
|
# dashes in the package version
|
55
59
|
def dot_version(version = Pkg::Config.version)
|
56
60
|
version.tr('-', '.')
|
57
61
|
end
|
58
62
|
|
63
|
+
def extended_dot_version
|
64
|
+
dot_version(extended_dash_version)
|
65
|
+
end
|
66
|
+
|
59
67
|
# Given a version, reformat it to be appropriate for a final package
|
60
68
|
# version. This means we need to add a `0.` before the release version
|
61
69
|
# for non-final builds
|
data/tasks/gem.rake
CHANGED
@@ -127,23 +127,33 @@ def create_platform_specific_gems
|
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
130
|
+
def package_gem
|
131
|
+
unless Pkg::Config.build_gem
|
132
|
+
puts "The #{Pkg::Config.project} project does not build any gems! Passing through ..."
|
133
|
+
return
|
134
|
+
end
|
135
|
+
|
136
|
+
mkdir_p File.join(Pkg::Config.project_root, "pkg")
|
137
|
+
create_default_gem
|
138
|
+
if Pkg::Config.gem_platform_dependencies
|
139
|
+
create_platform_specific_gems
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
130
143
|
namespace :package do
|
131
144
|
desc "Build a gem - All gems if platform specific"
|
132
145
|
task :gem => ["clean"] do
|
133
|
-
|
134
|
-
|
135
|
-
next
|
136
|
-
end
|
146
|
+
package_gem
|
147
|
+
end
|
137
148
|
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
create_platform_specific_gems
|
142
|
-
end
|
149
|
+
task :nightly_gem => ["clean"] do
|
150
|
+
Pkg::Config.gemversion = Pkg::Util::Version.extended_dot_version
|
151
|
+
package_gem
|
143
152
|
end
|
144
153
|
end
|
145
154
|
|
146
155
|
# An alias task to simplify our remote logic in jenkins.rake
|
147
156
|
namespace :pl do
|
148
157
|
task :gem => "package:gem"
|
158
|
+
task :nightly_gem => "package:nightly_gem"
|
149
159
|
end
|
data/tasks/ship.rake
CHANGED
@@ -248,6 +248,23 @@ namespace :pl do
|
|
248
248
|
end
|
249
249
|
end
|
250
250
|
end
|
251
|
+
|
252
|
+
desc "Remotely link nightly shipped gems to latest versions on #{Pkg::Config.gem_host}"
|
253
|
+
task :link_nightly_shipped_gems_to_latest do
|
254
|
+
Pkg::Config.gemversion = Pkg::Util::Version.extended_dot_version
|
255
|
+
|
256
|
+
remote_path = Pkg::Config.nonfinal_gem_path
|
257
|
+
gems = FileList['pkg/*.gem'].map! { |path| path.gsub!('pkg/', '') }
|
258
|
+
command = %(cd #{remote_path}; )
|
259
|
+
|
260
|
+
command += gems.map! do |gem_name|
|
261
|
+
%(sudo ln -sf #{gem_name} #{gem_name.gsub(Pkg::Config.gemversion, 'latest')})
|
262
|
+
end.join(';')
|
263
|
+
|
264
|
+
command += %(; sync)
|
265
|
+
|
266
|
+
Pkg::Util::Net.remote_ssh_cmd(Pkg::Config.gem_host, command)
|
267
|
+
end
|
251
268
|
end
|
252
269
|
|
253
270
|
desc "Ship mocked rpms to #{Pkg::Config.yum_staging_server}"
|
@@ -630,20 +647,27 @@ namespace :pl do
|
|
630
647
|
# building to. Once we move the Metadata about the output location in
|
631
648
|
# to one source of truth we can refactor this to use that to search
|
632
649
|
# -Sean P. M. 08/12/16
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
650
|
+
|
651
|
+
{
|
652
|
+
'windows' => ['x86', 'x64'],
|
653
|
+
'windowsfips' => ['x64']
|
654
|
+
}.each_pair do |platform, archs|
|
655
|
+
packages = Dir["#{local_dir}/#{platform}/*"]
|
656
|
+
|
657
|
+
archs.each do |arch|
|
658
|
+
package_version = Pkg::Util::Git.describe.tr('-', '.')
|
659
|
+
package_filename = File.join(local_dir, platform, "#{Pkg::Config.project}-#{package_version}-#{arch}.msi")
|
660
|
+
link_filename = File.join(local_dir, platform, "#{Pkg::Config.project}-#{arch}.msi")
|
661
|
+
|
662
|
+
next unless !packages.include?(link_filename) && packages.include?(package_filename)
|
663
|
+
# Dear future code spelunkers:
|
664
|
+
# Using symlinks instead of hard links causes failures when we try
|
665
|
+
# to set these files to be immutable. Also be wary of whether the
|
666
|
+
# linking utility you're using expects the source path to be relative
|
667
|
+
# to the link target or pwd.
|
668
|
+
#
|
669
|
+
FileUtils.ln(package_filename, link_filename)
|
670
|
+
end
|
647
671
|
end
|
648
672
|
|
649
673
|
Pkg::Util::Execution.retry_on_fail(times: 3) do
|
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.50
|
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-11
|
11
|
+
date: 2019-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -244,28 +244,28 @@ signing_key:
|
|
244
244
|
specification_version: 4
|
245
245
|
summary: Puppet Labs' packaging automation
|
246
246
|
test_files:
|
247
|
-
- spec/lib/
|
247
|
+
- spec/lib/packaging/paths_spec.rb
|
248
|
+
- spec/lib/packaging/artifactory_spec.rb
|
248
249
|
- spec/lib/packaging/retrieve_spec.rb
|
249
|
-
- spec/lib/packaging/
|
250
|
-
- spec/lib/packaging/gem_spec.rb
|
251
|
-
- spec/lib/packaging/deb/repo_spec.rb
|
252
|
-
- spec/lib/packaging/deb_spec.rb
|
253
|
-
- spec/lib/packaging/rpm/repo_spec.rb
|
254
|
-
- spec/lib/packaging/sign_spec.rb
|
255
|
-
- spec/lib/packaging/config_spec.rb
|
256
|
-
- spec/lib/packaging/platforms_spec.rb
|
257
|
-
- spec/lib/packaging/util/os_spec.rb
|
258
|
-
- spec/lib/packaging/util/gpg_spec.rb
|
250
|
+
- spec/lib/packaging/repo_spec.rb
|
259
251
|
- spec/lib/packaging/util/net_spec.rb
|
260
|
-
- spec/lib/packaging/util/
|
261
|
-
- spec/lib/packaging/util/
|
252
|
+
- spec/lib/packaging/util/gpg_spec.rb
|
253
|
+
- spec/lib/packaging/util/ship_spec.rb
|
262
254
|
- spec/lib/packaging/util/jenkins_spec.rb
|
263
|
-
- spec/lib/packaging/util/
|
255
|
+
- spec/lib/packaging/util/git_tag_spec.rb
|
264
256
|
- spec/lib/packaging/util/git_spec.rb
|
265
257
|
- spec/lib/packaging/util/version_spec.rb
|
266
|
-
- spec/lib/packaging/util/execution_spec.rb
|
267
258
|
- spec/lib/packaging/util/rake_utils_spec.rb
|
268
|
-
- spec/lib/packaging/util/
|
269
|
-
- spec/lib/packaging/
|
270
|
-
- spec/lib/packaging/
|
271
|
-
- spec/lib/packaging/
|
259
|
+
- spec/lib/packaging/util/file_spec.rb
|
260
|
+
- spec/lib/packaging/util/misc_spec.rb
|
261
|
+
- spec/lib/packaging/util/execution_spec.rb
|
262
|
+
- spec/lib/packaging/util/os_spec.rb
|
263
|
+
- spec/lib/packaging/config_spec.rb
|
264
|
+
- spec/lib/packaging/deb_spec.rb
|
265
|
+
- spec/lib/packaging/rpm/repo_spec.rb
|
266
|
+
- spec/lib/packaging/tar_spec.rb
|
267
|
+
- spec/lib/packaging/sign_spec.rb
|
268
|
+
- spec/lib/packaging/platforms_spec.rb
|
269
|
+
- spec/lib/packaging/deb/repo_spec.rb
|
270
|
+
- spec/lib/packaging/gem_spec.rb
|
271
|
+
- spec/lib/packaging_spec.rb
|