vanagon 0.10.0 → 0.11.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/README.md +81 -37
- data/bin/build +1 -1
- data/lib/makefile.rb +8 -58
- data/lib/vanagon/component.rb +22 -8
- data/lib/vanagon/component/dsl.rb +7 -7
- data/lib/vanagon/component/rules.rb +7 -3
- data/lib/vanagon/component/source/local.rb +1 -1
- data/lib/vanagon/driver.rb +9 -3
- data/lib/vanagon/environment.rb +40 -29
- data/lib/vanagon/optparse.rb +1 -1
- data/lib/vanagon/platform.rb +40 -0
- data/lib/vanagon/platform/deb.rb +10 -0
- data/lib/vanagon/platform/dsl.rb +10 -12
- data/lib/vanagon/platform/rpm.rb +9 -0
- data/lib/vanagon/project.rb +9 -2
- data/lib/vanagon/project/dsl.rb +30 -9
- data/resources/Makefile.erb +3 -4
- data/resources/deb/rules.erb +4 -0
- data/resources/rpm/project.spec.erb +12 -1
- data/resources/windows/nuget/project.nuspec.erb +2 -2
- data/spec/lib/makefile_spec.rb +5 -5
- data/spec/lib/vanagon/component/dsl_spec.rb +9 -2
- data/spec/lib/vanagon/component/rules_spec.rb +12 -8
- data/spec/lib/vanagon/component/source/git_spec.rb +1 -1
- data/spec/lib/vanagon/component_spec.rb +36 -8
- data/spec/lib/vanagon/driver_spec.rb +3 -3
- data/spec/lib/vanagon/environment_spec.rb +10 -23
- data/spec/lib/vanagon/project/dsl_spec.rb +83 -0
- metadata +16 -17
- data/resources/metrics/profiling_shell.sh +0 -45
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.11.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: 2017-
|
11
|
+
date: 2017-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: git
|
@@ -132,7 +132,6 @@ files:
|
|
132
132
|
- resources/deb/preinst.erb
|
133
133
|
- resources/deb/prerm.erb
|
134
134
|
- resources/deb/rules.erb
|
135
|
-
- resources/metrics/profiling_shell.sh
|
136
135
|
- resources/osx/postinstall.erb
|
137
136
|
- resources/osx/preinstall.erb
|
138
137
|
- resources/osx/project-installer.xml.erb
|
@@ -238,42 +237,42 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
238
237
|
version: '0'
|
239
238
|
requirements: []
|
240
239
|
rubyforge_project:
|
241
|
-
rubygems_version: 2.6.
|
240
|
+
rubygems_version: 2.6.11
|
242
241
|
signing_key:
|
243
242
|
specification_version: 3
|
244
243
|
summary: All of your packages will fit into this van with this one simple trick.
|
245
244
|
test_files:
|
245
|
+
- spec/lib/makefile_spec.rb
|
246
246
|
- spec/lib/vanagon/common/pathname_spec.rb
|
247
247
|
- spec/lib/vanagon/common/user_spec.rb
|
248
|
+
- spec/lib/vanagon/component/dsl_spec.rb
|
249
|
+
- spec/lib/vanagon/component/rules_spec.rb
|
248
250
|
- spec/lib/vanagon/component/source/git_spec.rb
|
249
251
|
- spec/lib/vanagon/component/source/http_spec.rb
|
250
252
|
- spec/lib/vanagon/component/source/local_spec.rb
|
251
253
|
- spec/lib/vanagon/component/source_spec.rb
|
252
|
-
- spec/lib/vanagon/
|
253
|
-
- spec/lib/vanagon/
|
254
|
-
- spec/lib/vanagon/engine/base_spec.rb
|
254
|
+
- spec/lib/vanagon/component_spec.rb
|
255
|
+
- spec/lib/vanagon/driver_spec.rb
|
255
256
|
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
257
|
+
- spec/lib/vanagon/engine/base_spec.rb
|
256
258
|
- spec/lib/vanagon/engine/docker_spec.rb
|
257
259
|
- spec/lib/vanagon/engine/ec2_spec.rb
|
258
260
|
- spec/lib/vanagon/engine/hardware_spec.rb
|
259
261
|
- spec/lib/vanagon/engine/local_spec.rb
|
260
262
|
- spec/lib/vanagon/engine/pooler_spec.rb
|
261
|
-
- spec/lib/vanagon/
|
263
|
+
- spec/lib/vanagon/environment_spec.rb
|
264
|
+
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
265
|
+
- spec/lib/vanagon/extensions/set/json_spec.rb
|
266
|
+
- spec/lib/vanagon/extensions/string_spec.rb
|
267
|
+
- spec/lib/vanagon/optparse_spec.rb
|
262
268
|
- spec/lib/vanagon/platform/deb_spec.rb
|
263
269
|
- spec/lib/vanagon/platform/dsl_spec.rb
|
264
270
|
- spec/lib/vanagon/platform/rpm/aix_spec.rb
|
265
271
|
- spec/lib/vanagon/platform/rpm_spec.rb
|
272
|
+
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
266
273
|
- spec/lib/vanagon/platform/windows_spec.rb
|
267
|
-
- spec/lib/vanagon/project/dsl_spec.rb
|
268
|
-
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
269
|
-
- spec/lib/vanagon/extensions/set/json_spec.rb
|
270
|
-
- spec/lib/vanagon/extensions/string_spec.rb
|
271
|
-
- spec/lib/vanagon/optparse_spec.rb
|
272
274
|
- spec/lib/vanagon/platform_spec.rb
|
275
|
+
- spec/lib/vanagon/project/dsl_spec.rb
|
273
276
|
- spec/lib/vanagon/project_spec.rb
|
274
277
|
- spec/lib/vanagon/utilities/shell_utilities_spec.rb
|
275
278
|
- spec/lib/vanagon/utilities_spec.rb
|
276
|
-
- spec/lib/vanagon/environment_spec.rb
|
277
|
-
- spec/lib/vanagon/component_spec.rb
|
278
|
-
- spec/lib/vanagon/driver_spec.rb
|
279
|
-
- spec/lib/makefile_spec.rb
|
@@ -1,45 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
# this variant of the Profiling shell wrapper
|
4
|
-
# uses only the Bash keyword `time`, and the generally
|
5
|
-
# standard command `tee` to get run time. This was
|
6
|
-
# needed because the BSD/sysv variants of `date` only
|
7
|
-
# offer second-resolution. No milliseconds, no nano-
|
8
|
-
# seconds.
|
9
|
-
|
10
|
-
# Create copies of stdout & stderr's file descriptors
|
11
|
-
# so that the output of the subshell that `time` runs
|
12
|
-
# can be captured and used.
|
13
|
-
exec 3>&1
|
14
|
-
exec 4>&2
|
15
|
-
|
16
|
-
# Write some log files, that can be post-processed
|
17
|
-
# relatively easily.
|
18
|
-
__stdout="${VANAGON_TARGET}.stdout.log"
|
19
|
-
__stderr="${VANAGON_TARGET}.stderr.log"
|
20
|
-
|
21
|
-
# Define a default time format (seconds and milliseconds),
|
22
|
-
# and then use some insane output redirection hacks to capture
|
23
|
-
# the output of the `time` keyword. We're using `tee` to
|
24
|
-
# output to stdout & stderr but we should figure out how to
|
25
|
-
# supress that for quieter Vanagon builds.
|
26
|
-
TIMEFORMAT='%3R'
|
27
|
-
__seconds="$( {
|
28
|
-
time bash -o pipefail "${@}" > >(tee -ai "${__stdout}" >&3) 2> >(tee -ai "${__stderr}" >&4 )
|
29
|
-
} 2>&1)"
|
30
|
-
|
31
|
-
# If any part of the pipeline failed, then
|
32
|
-
# this status should correspond to whatever
|
33
|
-
# failing status the pipeline returned. We
|
34
|
-
# want to check & preserve that.
|
35
|
-
if [[ ${PIPESTATUS[0]} -ne 0 ]]; then
|
36
|
-
exit "${PIPESTATUS[0]}"
|
37
|
-
fi
|
38
|
-
|
39
|
-
# Finally, if everything completed successfully,
|
40
|
-
# finesse the numbers and fire them off to our
|
41
|
-
# statsd interface.
|
42
|
-
if [[ "${VANAGON_TARGET}" ]] && [[ "${VANAGON_STATSD_HOST}" ]] && [[ "${VANAGON_STATSD_PORT}" ]]; then
|
43
|
-
__elapsed="$(echo "scale=0;${__seconds}*1000/1" | bc -l)"
|
44
|
-
echo -n "vanagon.${VANAGON_PROJECT}.${VANAGON_PLATFORM}.${VANAGON_TARGET}:${__elapsed}|ms" > "/dev/udp/${VANAGON_STATSD_HOST}/${VANAGON_STATSD_PORT}"
|
45
|
-
fi
|