vanagon 0.15.11 → 0.15.12
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/vanagon/project.rb +6 -5
- data/spec/lib/vanagon/project_spec.rb +9 -3
- metadata +32 -32
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2c4eb81b2e7e740b09969dc3e70f4a7293ce2b1
|
4
|
+
data.tar.gz: fd11e4e76da97f18170b90e2a80c2ef6863be29a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a9ee542de85c254ffc753e8355d6236953aff2dbf2d9107e664d234b172fbf7de469499892411f3efb902be94d52c3ba470fdb946d10f3b6d2e9194b6a2e9b9
|
7
|
+
data.tar.gz: 656bffd6573ae387c554eaf0fd935665d2114236532eda69a81b68b1d99b8de6e816c78190dc242fe9297b34b4a0932409cafa9964a93d2baa98bfe6d00ecc9e
|
data/lib/vanagon/project.rb
CHANGED
@@ -3,6 +3,7 @@ require 'vanagon/environment'
|
|
3
3
|
require 'vanagon/platform'
|
4
4
|
require 'vanagon/project/dsl'
|
5
5
|
require 'vanagon/utilities'
|
6
|
+
require 'digest'
|
6
7
|
require 'ostruct'
|
7
8
|
|
8
9
|
class Vanagon
|
@@ -671,20 +672,19 @@ class Vanagon
|
|
671
672
|
# set in the project definition.
|
672
673
|
#
|
673
674
|
# @param [Vanagon::Platform] the platform to publish settings for
|
674
|
-
def publish_yaml_settings(platform)
|
675
|
+
def publish_yaml_settings(platform) # rubocop:disable Metrics/AbcSize
|
675
676
|
return unless yaml_settings
|
676
677
|
raise(Vanagon::Error, "You must specify a project version") unless version
|
677
678
|
|
678
679
|
filename = "#{name}-#{version}.#{platform.name}.settings.yaml"
|
679
|
-
filepath = File.join('output', filename)
|
680
|
+
filepath = File.expand_path(File.join('output', filename))
|
680
681
|
|
681
682
|
File.open(filepath, 'w') do |f|
|
682
683
|
f.write(@settings.to_yaml)
|
683
684
|
end
|
684
685
|
|
685
|
-
|
686
|
-
|
687
|
-
end
|
686
|
+
sha1 = Digest::SHA1.file(filepath).hexdigest
|
687
|
+
File.open("#{filepath}.sha1", 'w') { |f| f.puts(sha1) }
|
688
688
|
end
|
689
689
|
|
690
690
|
# Load the settings hash from an upstream vanagon project.
|
@@ -743,6 +743,7 @@ class Vanagon
|
|
743
743
|
sum: settings_sha1_uri,
|
744
744
|
sum_type: 'sha1')
|
745
745
|
source.fetch
|
746
|
+
source.verify
|
746
747
|
yaml_path = source.file
|
747
748
|
if source_type == :http
|
748
749
|
yaml_path = File.join(working_directory, source.file)
|
@@ -165,6 +165,7 @@ describe 'Vanagon::Project' do
|
|
165
165
|
allow(Vanagon::Component::Source::Http).to receive(:valid_url?).with(http_yaml_uri).and_return(true)
|
166
166
|
http_source = instance_double(Vanagon::Component::Source::Http)
|
167
167
|
allow(Vanagon::Component::Source).to receive(:source).and_return(http_source)
|
168
|
+
allow(http_source).to receive(:verify).and_return(true)
|
168
169
|
|
169
170
|
expect { project.load_yaml_settings(http_yaml_uri) }.to raise_error(Vanagon::Error)
|
170
171
|
end
|
@@ -173,6 +174,7 @@ describe 'Vanagon::Project' do
|
|
173
174
|
before(:each) do
|
174
175
|
local_source = instance_double(Vanagon::Component::Source::Local)
|
175
176
|
allow(local_source).to receive(:fetch)
|
177
|
+
allow(local_source).to receive(:verify).and_return(true)
|
176
178
|
allow(local_source).to receive(:file).and_return(yaml_path)
|
177
179
|
|
178
180
|
allow(Vanagon::Component::Source).to receive(:determine_source_type).and_return(:local)
|
@@ -390,17 +392,21 @@ describe 'Vanagon::Project' do
|
|
390
392
|
project
|
391
393
|
end
|
392
394
|
|
393
|
-
let(:yaml_output_path) { "
|
394
|
-
let(:sha1_output_path) { "
|
395
|
+
let(:yaml_output_path) { File.expand_path("test-project-version.#{platform_name}.settings.yaml", "output") }
|
396
|
+
let(:sha1_output_path) { File.expand_path("test-project-version.#{platform_name}.settings.yaml.sha1", "output") }
|
395
397
|
|
396
398
|
let(:yaml_file) { double('yaml_file') }
|
397
399
|
let(:sha1_file) { double('sha1_file') }
|
398
400
|
|
401
|
+
let(:sha1_content) { 'abcdef' }
|
402
|
+
let(:sha1_object) { instance_double(Digest::SHA1, hexdigest: sha1_content) }
|
403
|
+
|
399
404
|
it 'writes project settings as yaml and a sha1sum for the settings to the output directory' do
|
400
405
|
expect(File).to receive(:open).with(yaml_output_path, "w").and_yield(yaml_file)
|
406
|
+
expect(Digest::SHA1).to receive(:file).with(yaml_output_path).and_return(sha1_object)
|
401
407
|
expect(File).to receive(:open).with(sha1_output_path, "w").and_yield(sha1_file)
|
402
408
|
expect(yaml_file).to receive(:write).with({key: 'value'}.to_yaml)
|
403
|
-
expect(sha1_file).to receive(:
|
409
|
+
expect(sha1_file).to receive(:puts).with(sha1_content)
|
404
410
|
expect { project.publish_yaml_settings(platform) }.not_to raise_error
|
405
411
|
end
|
406
412
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vanagon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: git
|
@@ -259,46 +259,46 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
259
259
|
version: '0'
|
260
260
|
requirements: []
|
261
261
|
rubyforge_project:
|
262
|
-
rubygems_version: 2.
|
262
|
+
rubygems_version: 2.6.14
|
263
263
|
signing_key:
|
264
264
|
specification_version: 3
|
265
265
|
summary: All of your packages will fit into this van with this one simple trick.
|
266
266
|
test_files:
|
267
|
-
- spec/lib/
|
268
|
-
- spec/lib/
|
269
|
-
- spec/lib/vanagon/
|
270
|
-
- spec/lib/vanagon/
|
271
|
-
- spec/lib/vanagon/
|
272
|
-
- spec/lib/vanagon/
|
273
|
-
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
274
|
-
- spec/lib/vanagon/platform/solaris_10_spec.rb
|
275
|
-
- spec/lib/vanagon/platform/dsl_spec.rb
|
276
|
-
- spec/lib/vanagon/platform/osx_spec.rb
|
277
|
-
- spec/lib/vanagon/platform/deb_spec.rb
|
278
|
-
- spec/lib/vanagon/platform/rpm_spec.rb
|
279
|
-
- spec/lib/vanagon/platform/rpm/aix_spec.rb
|
280
|
-
- spec/lib/vanagon/component/source/rewrite_spec.rb
|
267
|
+
- spec/lib/git/rev_list_spec.rb
|
268
|
+
- spec/lib/makefile_spec.rb
|
269
|
+
- spec/lib/vanagon/common/pathname_spec.rb
|
270
|
+
- spec/lib/vanagon/common/user_spec.rb
|
271
|
+
- spec/lib/vanagon/component/dsl_spec.rb
|
272
|
+
- spec/lib/vanagon/component/rules_spec.rb
|
281
273
|
- spec/lib/vanagon/component/source/git_spec.rb
|
282
|
-
- spec/lib/vanagon/component/source/local_spec.rb
|
283
274
|
- spec/lib/vanagon/component/source/http_spec.rb
|
284
|
-
- spec/lib/vanagon/component/
|
275
|
+
- spec/lib/vanagon/component/source/local_spec.rb
|
276
|
+
- spec/lib/vanagon/component/source/rewrite_spec.rb
|
285
277
|
- spec/lib/vanagon/component/source_spec.rb
|
286
|
-
- spec/lib/vanagon/
|
287
|
-
- spec/lib/vanagon/
|
288
|
-
- spec/lib/vanagon/extensions/set/json_spec.rb
|
289
|
-
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
290
|
-
- spec/lib/vanagon/project/dsl_spec.rb
|
291
|
-
- spec/lib/vanagon/utilities/shell_utilities_spec.rb
|
292
|
-
- spec/lib/vanagon/utilities_spec.rb
|
293
|
-
- spec/lib/vanagon/common/pathname_spec.rb
|
294
|
-
- spec/lib/vanagon/common/user_spec.rb
|
295
|
-
- spec/lib/vanagon/platform_spec.rb
|
278
|
+
- spec/lib/vanagon/component_spec.rb
|
279
|
+
- spec/lib/vanagon/driver_spec.rb
|
296
280
|
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
281
|
+
- spec/lib/vanagon/engine/base_spec.rb
|
297
282
|
- spec/lib/vanagon/engine/docker_spec.rb
|
298
283
|
- spec/lib/vanagon/engine/ec2_spec.rb
|
299
284
|
- spec/lib/vanagon/engine/hardware_spec.rb
|
300
285
|
- spec/lib/vanagon/engine/local_spec.rb
|
301
|
-
- spec/lib/vanagon/engine/base_spec.rb
|
302
286
|
- spec/lib/vanagon/engine/pooler_spec.rb
|
303
|
-
- spec/lib/
|
304
|
-
- spec/lib/
|
287
|
+
- spec/lib/vanagon/environment_spec.rb
|
288
|
+
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
289
|
+
- spec/lib/vanagon/extensions/set/json_spec.rb
|
290
|
+
- spec/lib/vanagon/extensions/string_spec.rb
|
291
|
+
- spec/lib/vanagon/optparse_spec.rb
|
292
|
+
- spec/lib/vanagon/platform/deb_spec.rb
|
293
|
+
- spec/lib/vanagon/platform/dsl_spec.rb
|
294
|
+
- spec/lib/vanagon/platform/osx_spec.rb
|
295
|
+
- spec/lib/vanagon/platform/rpm/aix_spec.rb
|
296
|
+
- spec/lib/vanagon/platform/rpm_spec.rb
|
297
|
+
- spec/lib/vanagon/platform/solaris_10_spec.rb
|
298
|
+
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
299
|
+
- spec/lib/vanagon/platform/windows_spec.rb
|
300
|
+
- spec/lib/vanagon/platform_spec.rb
|
301
|
+
- spec/lib/vanagon/project/dsl_spec.rb
|
302
|
+
- spec/lib/vanagon/project_spec.rb
|
303
|
+
- spec/lib/vanagon/utilities/shell_utilities_spec.rb
|
304
|
+
- spec/lib/vanagon/utilities_spec.rb
|