vanagon 0.34.0 → 0.35.0
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/engine/base.rb +17 -5
- data/lib/vanagon/engine/docker.rb +3 -3
- data/lib/vanagon/platform/defaults/osx-10.15-x86_64.rb +3 -1
- data/lib/vanagon/platform/defaults/osx-11-arm64.rb +24 -0
- data/lib/vanagon/platform/defaults/osx-11-x86_64.rb +4 -1
- data/lib/vanagon/platform/defaults/osx-12-arm64.rb +24 -0
- data/lib/vanagon/platform/defaults/osx-12-x86_64.rb +4 -1
- data/resources/Makefile.erb +6 -2
- data/spec/lib/vanagon/engine/pooler_spec.rb +1 -1
- metadata +25 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f8772f1446c288009a4909d14a0443687fa83ed0013062b5110bf87dd07bdf4
|
4
|
+
data.tar.gz: 63412e68e08b5a2d4eb4f39bc04ac2840373127ab2869a9aa7a9842298abe2b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8777b1881b31ea9c3f34a97730a5cd5f4fd136de88364ccc8efabdbf55507b11b0302859d56dec8ef9b3a9bf0dad115cf271a81e895bade588b1394bf941246f
|
7
|
+
data.tar.gz: bf3bc5fdeb639925bcfe284aa5e088bff53fe2ec581a60ba01cb971690256b31ff627d78aa5153f39bef4324ca93a8457d514479e1cf6adbc1a719ff89106a85
|
data/lib/vanagon/engine/base.rb
CHANGED
@@ -9,8 +9,9 @@ class Vanagon
|
|
9
9
|
def initialize(platform, target = nil, **opts)
|
10
10
|
@platform = platform
|
11
11
|
@required_attributes = ["ssh_port"]
|
12
|
-
|
13
|
-
@
|
12
|
+
parse_target_defaults(target) if target
|
13
|
+
@target_port ||= @platform.ssh_port
|
14
|
+
@target_user ||= @platform.target_user
|
14
15
|
@remote_workdir_path = opts[:remote_workdir]
|
15
16
|
end
|
16
17
|
|
@@ -19,6 +20,17 @@ class Vanagon
|
|
19
20
|
'base'
|
20
21
|
end
|
21
22
|
|
23
|
+
def parse_target_defaults(target)
|
24
|
+
# If there's no scheme, we need to add // to make it parse properly
|
25
|
+
target_uri = target.include?('//') ? URI.parse(target) : URI.parse("//#{target}")
|
26
|
+
@target = target_uri.hostname
|
27
|
+
@target_port = target_uri.port
|
28
|
+
@target_user = target_uri.user
|
29
|
+
rescue URI::Error
|
30
|
+
# Just assume it's not meant to be a URI
|
31
|
+
@target = target
|
32
|
+
end
|
33
|
+
|
22
34
|
# Get the engine specific name of the host to build on
|
23
35
|
def build_host_name
|
24
36
|
raise Vanagon::Error, '#build_host_name has not been implemented for your engine.'
|
@@ -32,7 +44,7 @@ class Vanagon
|
|
32
44
|
|
33
45
|
# Dispatches the command for execution
|
34
46
|
def dispatch(command, return_output = false)
|
35
|
-
Vanagon::Utilities.remote_ssh_command("#{@target_user}@#{@target}", command, @
|
47
|
+
Vanagon::Utilities.remote_ssh_command("#{@target_user}@#{@target}", command, @target_port, return_command_output: return_output)
|
36
48
|
end
|
37
49
|
|
38
50
|
# Steps needed to tear down or clean up the system after the build is
|
@@ -70,7 +82,7 @@ class Vanagon
|
|
70
82
|
end
|
71
83
|
|
72
84
|
def ship_workdir(workdir)
|
73
|
-
Vanagon::Utilities.rsync_to("#{workdir}/*", "#{@target_user}@#{@target}", @remote_workdir, @
|
85
|
+
Vanagon::Utilities.rsync_to("#{workdir}/*", "#{@target_user}@#{@target}", @remote_workdir, @target_port)
|
74
86
|
end
|
75
87
|
|
76
88
|
def retrieve_built_artifact(artifacts_to_fetch, no_packaging)
|
@@ -80,7 +92,7 @@ class Vanagon
|
|
80
92
|
artifacts_to_fetch << "#{@remote_workdir}/output/*"
|
81
93
|
end
|
82
94
|
artifacts_to_fetch.each do |path|
|
83
|
-
Vanagon::Utilities.rsync_from(path, "#{@target_user}@#{@target}", output_path, @
|
95
|
+
Vanagon::Utilities.rsync_from(path, "#{@target_user}@#{@target}", output_path, @target_port)
|
84
96
|
end
|
85
97
|
end
|
86
98
|
|
@@ -36,11 +36,11 @@ class Vanagon
|
|
36
36
|
# a docker container.
|
37
37
|
# @raise [Vanagon::Error] if a target cannot be obtained
|
38
38
|
def select_target
|
39
|
-
ssh_args = @platform.use_docker_exec ? '' : "-p #{@
|
39
|
+
ssh_args = @platform.use_docker_exec ? '' : "-p #{@target_port}:22"
|
40
40
|
extra_args = @platform.docker_run_args.nil? ? [] : @platform.docker_run_args
|
41
41
|
|
42
42
|
Vanagon::Utilities.ex("#{@docker_cmd} run -d --name #{build_host_name}-builder #{ssh_args} #{extra_args.join(' ')} #{@platform.docker_image}")
|
43
|
-
@target = 'localhost'
|
43
|
+
@target = URI.new('localhost')
|
44
44
|
|
45
45
|
wait_for_ssh unless @platform.use_docker_exec
|
46
46
|
rescue StandardError => e
|
@@ -141,7 +141,7 @@ class Vanagon
|
|
141
141
|
def wait_for_ssh
|
142
142
|
Vanagon::Utilities.retry_with_timeout(5, 5) do
|
143
143
|
begin
|
144
|
-
Vanagon::Utilities.remote_ssh_command("#{@target_user}@#{@target}", 'exit', @
|
144
|
+
Vanagon::Utilities.remote_ssh_command("#{@target_user}@#{@target}", 'exit', @target_port)
|
145
145
|
rescue StandardError => e
|
146
146
|
sleep(1) # Give SSHD some time to start.
|
147
147
|
raise e
|
@@ -5,6 +5,8 @@ platform "osx-10.15-x86_64" do |plat|
|
|
5
5
|
|
6
6
|
plat.provision_with "export HOMEBREW_NO_EMOJI=true"
|
7
7
|
plat.provision_with "export HOMEBREW_VERBOSE=true"
|
8
|
+
plat.provision_with "export HOMEBREW_NO_ANALYTICS=1"
|
9
|
+
|
8
10
|
plat.provision_with "sudo dscl . -create /Users/test"
|
9
11
|
plat.provision_with "sudo dscl . -create /Users/test UserShell /bin/bash"
|
10
12
|
plat.provision_with "sudo dscl . -create /Users/test UniqueID 1001"
|
@@ -15,7 +17,7 @@ platform "osx-10.15-x86_64" do |plat|
|
|
15
17
|
plat.provision_with "echo 'test ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/username"
|
16
18
|
plat.provision_with "mkdir -p /etc/homebrew"
|
17
19
|
plat.provision_with "cd /etc/homebrew"
|
20
|
+
plat.provision_with "createhomedir -c -u test"
|
18
21
|
plat.provision_with %Q(su test -c 'echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"')
|
19
|
-
plat.provision_with "sudo chown -R test:admin /Users/test/"
|
20
22
|
plat.vmpooler_template "osx-1015-x86_64"
|
21
23
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
platform "osx-11-arm64" do |plat|
|
2
|
+
plat.servicetype "launchd"
|
3
|
+
plat.servicedir "/Library/LaunchDaemons"
|
4
|
+
plat.codename "bigsur"
|
5
|
+
|
6
|
+
plat.provision_with "export HOMEBREW_NO_EMOJI=true"
|
7
|
+
plat.provision_with "export HOMEBREW_VERBOSE=true"
|
8
|
+
plat.provision_with "export HOMEBREW_NO_ANALYTICS=1"
|
9
|
+
|
10
|
+
plat.provision_with "sudo dscl . -create /Users/test"
|
11
|
+
plat.provision_with "sudo dscl . -create /Users/test UserShell /bin/bash"
|
12
|
+
plat.provision_with "sudo dscl . -create /Users/test UniqueID 1001"
|
13
|
+
plat.provision_with "sudo dscl . -create /Users/test PrimaryGroupID 1000"
|
14
|
+
plat.provision_with "sudo dscl . -create /Users/test NFSHomeDirectory /Users/test"
|
15
|
+
plat.provision_with "sudo dscl . -passwd /Users/test password"
|
16
|
+
plat.provision_with "sudo dscl . -merge /Groups/admin GroupMembership test"
|
17
|
+
plat.provision_with "echo 'test ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/username"
|
18
|
+
plat.provision_with "mkdir -p /etc/homebrew"
|
19
|
+
plat.provision_with "cd /etc/homebrew"
|
20
|
+
plat.provision_with "createhomedir -c -u test"
|
21
|
+
plat.provision_with %(su test -c 'echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"')
|
22
|
+
plat.vmpooler_template "macos-112-x86_64"
|
23
|
+
plat.cross_compiled true
|
24
|
+
end
|
@@ -2,8 +2,11 @@ platform "osx-11-x86_64" do |plat|
|
|
2
2
|
plat.servicetype "launchd"
|
3
3
|
plat.servicedir "/Library/LaunchDaemons"
|
4
4
|
plat.codename "bigsur"
|
5
|
+
|
5
6
|
plat.provision_with "export HOMEBREW_NO_EMOJI=true"
|
6
7
|
plat.provision_with "export HOMEBREW_VERBOSE=true"
|
8
|
+
plat.provision_with "export HOMEBREW_NO_ANALYTICS=1"
|
9
|
+
|
7
10
|
plat.provision_with "sudo dscl . -create /Users/test"
|
8
11
|
plat.provision_with "sudo dscl . -create /Users/test UserShell /bin/bash"
|
9
12
|
plat.provision_with "sudo dscl . -create /Users/test UniqueID 1001"
|
@@ -14,7 +17,7 @@ platform "osx-11-x86_64" do |plat|
|
|
14
17
|
plat.provision_with "echo 'test ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/username"
|
15
18
|
plat.provision_with "mkdir -p /etc/homebrew"
|
16
19
|
plat.provision_with "cd /etc/homebrew"
|
20
|
+
plat.provision_with "createhomedir -c -u test"
|
17
21
|
plat.provision_with %Q(su test -c 'echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"')
|
18
|
-
plat.provision_with "sudo chown -R test:admin /Users/test/"
|
19
22
|
plat.vmpooler_template "macos-112-x86_64"
|
20
23
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
platform 'osx-12-arm64' do |plat|
|
2
|
+
plat.servicetype 'launchd'
|
3
|
+
plat.servicedir '/Library/LaunchDaemons'
|
4
|
+
plat.codename 'monterey'
|
5
|
+
|
6
|
+
plat.provision_with 'export HOMEBREW_NO_EMOJI=true'
|
7
|
+
plat.provision_with 'export HOMEBREW_VERBOSE=true'
|
8
|
+
plat.provision_with "export HOMEBREW_NO_ANALYTICS=1"
|
9
|
+
|
10
|
+
plat.provision_with 'sudo dscl . -create /Users/test'
|
11
|
+
plat.provision_with 'sudo dscl . -create /Users/test UserShell /bin/bash'
|
12
|
+
plat.provision_with 'sudo dscl . -create /Users/test UniqueID 1001'
|
13
|
+
plat.provision_with 'sudo dscl . -create /Users/test PrimaryGroupID 1000'
|
14
|
+
plat.provision_with 'sudo dscl . -create /Users/test NFSHomeDirectory /Users/test'
|
15
|
+
plat.provision_with 'sudo dscl . -passwd /Users/test password'
|
16
|
+
plat.provision_with 'sudo dscl . -merge /Groups/admin GroupMembership test'
|
17
|
+
plat.provision_with 'echo "test ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/username'
|
18
|
+
plat.provision_with 'mkdir -p /etc/homebrew'
|
19
|
+
plat.provision_with 'cd /etc/homebrew'
|
20
|
+
plat.provision_with 'createhomedir -c -u test'
|
21
|
+
plat.provision_with 'su test -c \'echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"\''
|
22
|
+
plat.vmpooler_template 'macos-12-x86_64'
|
23
|
+
plat.cross_compiled true
|
24
|
+
end
|
@@ -2,8 +2,11 @@ platform "osx-12-x86_64" do |plat|
|
|
2
2
|
plat.servicetype "launchd"
|
3
3
|
plat.servicedir "/Library/LaunchDaemons"
|
4
4
|
plat.codename "monterey"
|
5
|
+
|
5
6
|
plat.provision_with "export HOMEBREW_NO_EMOJI=true"
|
6
7
|
plat.provision_with "export HOMEBREW_VERBOSE=true"
|
8
|
+
plat.provision_with "export HOMEBREW_NO_ANALYTICS=1"
|
9
|
+
|
7
10
|
plat.provision_with "sudo dscl . -create /Users/test"
|
8
11
|
plat.provision_with "sudo dscl . -create /Users/test UserShell /bin/bash"
|
9
12
|
plat.provision_with "sudo dscl . -create /Users/test UniqueID 1001"
|
@@ -14,7 +17,7 @@ platform "osx-12-x86_64" do |plat|
|
|
14
17
|
plat.provision_with "echo 'test ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/username"
|
15
18
|
plat.provision_with "mkdir -p /etc/homebrew"
|
16
19
|
plat.provision_with "cd /etc/homebrew"
|
20
|
+
plat.provision_with "createhomedir -c -u test"
|
17
21
|
plat.provision_with %Q(su test -c 'echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"')
|
18
|
-
plat.provision_with "sudo chown -R test:admin /Users/test/"
|
19
22
|
plat.vmpooler_template "macos-12-x86_64"
|
20
23
|
end
|
data/resources/Makefile.erb
CHANGED
@@ -15,15 +15,19 @@ all: file-list-before-build <%= package_name %>
|
|
15
15
|
file-list-before-build:
|
16
16
|
<%- if dirnames.empty? -%>
|
17
17
|
touch file-list-before-build
|
18
|
+
<%- elsif @platform.is_windows? -%>
|
19
|
+
(<%= @platform.find %> -H "<%= dirnames.map do |f| "$(shell cygpath -ml '#{f}')" end.join('" "') %>" 2>/dev/null || <%= @platform.find %> "<%= dirnames.map do |f| "$(shell cygpath -ml '#{f}')" end.join('" "') %>" 2>/dev/null) | <%= @platform.sort %> | uniq > file-list-before-build
|
18
20
|
<%- else -%>
|
19
|
-
(<%= @platform.find %> -H "<%= dirnames.join('" "') %>" 2>/dev/null || <%= @platform.find %> "<%= dirnames.join('" "') %>" 2>/dev/null) | <%=
|
21
|
+
(<%= @platform.find %> -H "<%= dirnames.join('" "') %>" 2>/dev/null || <%= @platform.find %> "<%= dirnames.join('" "') %>" 2>/dev/null) | <%= @platform.sort %> | uniq > file-list-before-build
|
20
22
|
<%- end -%>
|
21
23
|
|
22
24
|
file-list-after-build: <%= @components.map {|comp| comp.name }.join(" ") %>
|
23
25
|
<%- if dirnames.empty? -%>
|
24
26
|
touch file-list-after-build
|
27
|
+
<%- elsif @platform.is_windows? -%>
|
28
|
+
(<%= @platform.find %> -H "<%= dirnames.map do |f| "$(shell cygpath -ml '#{f}')" end.join('" "') %>" 2>/dev/null || <%= @platform.find %> "<%= dirnames.map do |f| "$(shell cygpath -ml '#{f}')" end.join('" "') %>" 2>/dev/null) | <%= @platform.sort %> | uniq > file-list-after-build
|
25
29
|
<%- else -%>
|
26
|
-
(<%= @platform.find %> -H "<%= dirnames.join('" "') %>" 2>/dev/null || <%= @platform.find %> "<%= dirnames.join('" "') %>" 2>/dev/null) | <%=
|
30
|
+
(<%= @platform.find %> -H "<%= dirnames.join('" "') %>" 2>/dev/null || <%= @platform.find %> "<%= dirnames.join('" "') %>" 2>/dev/null) | <%= @platform.sort %> | uniq > file-list-after-build
|
27
31
|
<%- end -%>
|
28
32
|
|
29
33
|
<%= @name %>-<%= @version %>.tar.gz: file-list <%= @cleanup ? 'cleanup-components' : '' %>
|
@@ -2,7 +2,7 @@ require 'vanagon/engine/pooler'
|
|
2
2
|
require 'vanagon/platform'
|
3
3
|
|
4
4
|
describe 'Vanagon::Engine::Pooler' do
|
5
|
-
let (:platform) { double(Vanagon::Platform, :target_user => 'root') }
|
5
|
+
let (:platform) { double(Vanagon::Platform, :target_user => 'root', :ssh_port => 22) }
|
6
6
|
let (:platform_with_vcloud_name) {
|
7
7
|
plat = Vanagon::Platform::DSL.new('debian-6-i386')
|
8
8
|
plat.instance_eval("platform 'debian-6-i386' do |plat|
|
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.
|
4
|
+
version: 0.35.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-02-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: docopt
|
@@ -168,7 +168,9 @@ files:
|
|
168
168
|
- lib/vanagon/platform/defaults/el-9-x86_64.rb
|
169
169
|
- lib/vanagon/platform/defaults/fedora-36-x86_64.rb
|
170
170
|
- lib/vanagon/platform/defaults/osx-10.15-x86_64.rb
|
171
|
+
- lib/vanagon/platform/defaults/osx-11-arm64.rb
|
171
172
|
- lib/vanagon/platform/defaults/osx-11-x86_64.rb
|
173
|
+
- lib/vanagon/platform/defaults/osx-12-arm64.rb
|
172
174
|
- lib/vanagon/platform/defaults/osx-12-x86_64.rb
|
173
175
|
- lib/vanagon/platform/defaults/redhatfips-7-x86_64.rb
|
174
176
|
- lib/vanagon/platform/defaults/redhatfips-8-x86_64.rb
|
@@ -328,42 +330,42 @@ signing_key:
|
|
328
330
|
specification_version: 3
|
329
331
|
summary: All of your packages will fit into this van with this one simple trick.
|
330
332
|
test_files:
|
333
|
+
- spec/lib/vanagon/project_spec.rb
|
334
|
+
- spec/lib/vanagon/utilities_spec.rb
|
331
335
|
- spec/lib/vanagon/common/pathname_spec.rb
|
332
336
|
- spec/lib/vanagon/common/user_spec.rb
|
333
|
-
- spec/lib/vanagon/project_spec.rb
|
334
337
|
- spec/lib/vanagon/platform_spec.rb
|
335
|
-
- spec/lib/vanagon/
|
336
|
-
- spec/lib/vanagon/
|
337
|
-
- spec/lib/vanagon/
|
338
|
-
- spec/lib/vanagon/driver_spec.rb
|
339
|
-
- spec/lib/vanagon/environment_spec.rb
|
340
|
-
- spec/lib/vanagon/project/dsl_spec.rb
|
341
|
-
- spec/lib/vanagon/engine/hardware_spec.rb
|
342
|
-
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
338
|
+
- spec/lib/vanagon/extensions/string_spec.rb
|
339
|
+
- spec/lib/vanagon/extensions/set/json_spec.rb
|
340
|
+
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
343
341
|
- spec/lib/vanagon/engine/ec2_spec.rb
|
344
342
|
- spec/lib/vanagon/engine/docker_spec.rb
|
345
|
-
- spec/lib/vanagon/engine/
|
343
|
+
- spec/lib/vanagon/engine/hardware_spec.rb
|
346
344
|
- spec/lib/vanagon/engine/pooler_spec.rb
|
347
345
|
- spec/lib/vanagon/engine/local_spec.rb
|
348
|
-
- spec/lib/vanagon/
|
349
|
-
- spec/lib/vanagon/
|
350
|
-
- spec/lib/vanagon/extensions/string_spec.rb
|
351
|
-
- spec/lib/vanagon/component/rules_spec.rb
|
346
|
+
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
347
|
+
- spec/lib/vanagon/engine/base_spec.rb
|
352
348
|
- spec/lib/vanagon/component/source_spec.rb
|
353
|
-
- spec/lib/vanagon/component/dsl_spec.rb
|
354
|
-
- spec/lib/vanagon/component/source/rewrite_spec.rb
|
355
349
|
- spec/lib/vanagon/component/source/git_spec.rb
|
356
|
-
- spec/lib/vanagon/component/source/local_spec.rb
|
357
350
|
- spec/lib/vanagon/component/source/http_spec.rb
|
358
|
-
- spec/lib/vanagon/
|
359
|
-
- spec/lib/vanagon/
|
351
|
+
- spec/lib/vanagon/component/source/local_spec.rb
|
352
|
+
- spec/lib/vanagon/component/source/rewrite_spec.rb
|
353
|
+
- spec/lib/vanagon/component/rules_spec.rb
|
354
|
+
- spec/lib/vanagon/component/dsl_spec.rb
|
360
355
|
- spec/lib/vanagon/platform/rpm_spec.rb
|
361
356
|
- spec/lib/vanagon/platform/osx_spec.rb
|
362
|
-
- spec/lib/vanagon/platform/
|
357
|
+
- spec/lib/vanagon/platform/windows_spec.rb
|
363
358
|
- spec/lib/vanagon/platform/rpm/aix_spec.rb
|
359
|
+
- spec/lib/vanagon/platform/deb_spec.rb
|
364
360
|
- spec/lib/vanagon/platform/solaris_10_spec.rb
|
361
|
+
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
365
362
|
- spec/lib/vanagon/platform/dsl_spec.rb
|
366
|
-
- spec/lib/vanagon/
|
363
|
+
- spec/lib/vanagon/component_spec.rb
|
364
|
+
- spec/lib/vanagon/environment_spec.rb
|
365
|
+
- spec/lib/vanagon/driver_spec.rb
|
367
366
|
- spec/lib/vanagon/utilities/extra_files_signer_spec.rb
|
367
|
+
- spec/lib/vanagon/utilities/shell_utilities_spec.rb
|
368
|
+
- spec/lib/vanagon/cli_spec.rb
|
369
|
+
- spec/lib/vanagon/project/dsl_spec.rb
|
368
370
|
- spec/lib/git/rev_list_spec.rb
|
369
371
|
- spec/lib/makefile_spec.rb
|