vanagon 0.10.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|