puppet-ci-testing 0.12.6 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/puppet_unittest_workflow +30 -5
  3. metadata +11 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: df3b8f8b63c59ed2524d8724061072e6f85435cd
4
- data.tar.gz: 547020b0ebabbb65c74d6d3a3adefc69ff290812
3
+ metadata.gz: f99d1e3fe768586804350933c4dc5211259a532a
4
+ data.tar.gz: b9d60de3ec1c6bcd2621531d3ef927afe2aebc8e
5
5
  SHA512:
6
- metadata.gz: f0caa7931c4d5c3c000a466634fea83fa0d741de2d47653698e123bf646d9c7972c2cc93c8fc6dc332a9f45e1454c5882495ac43335121314a1a0c094856c4de
7
- data.tar.gz: 4a36e949b099c732f9b48c87952f710cb655d978db6fdaff90dad15e174452b7aea185dc93184f7a5f859fc3763067a0419580e4a45a7f23afba98d8345ef28b
6
+ metadata.gz: ed1f2b9bd912e5c304606a8e6ff808b7c43fc313bf2c37e1fd8ed83288cc06a54ca15b6e2749abf88930d072d7515a7cb3c884f4f49a4c854456b41fc215854e
7
+ data.tar.gz: c6ef1ad60388beab4f430e4c0d17899dd5e3b33caa6667ef7e959d4803f0354878e7251f845ce5297037b80ce407b6fabbb0ec8b3c6fc9f38e09d122f34f777c
@@ -17,6 +17,30 @@ require 'check_file_syntax'
17
17
  PUPPET_DIRS = ['files', 'lib', 'manifest', 'spec', 'templates', 'tests',
18
18
  '.git_hooks']
19
19
 
20
+ # .fixtures.yml file is how the RSpec testing pulls in dependent
21
+ # puppet modules. We are able to generate it from the dependency
22
+ # information specified in the metadata.json file.
23
+ def create_fixtures_yml
24
+ metadata = JSON.parse(File.read('metadata.json'))
25
+ File.open('.fixtures.yml', 'w') do |fix|
26
+ fix.puts "fixtures:"
27
+ fix.puts " symlinks:"
28
+ fix.puts " #{(metadata['name'].split(/[\/\-]/))[-1]}: \"\#{source_dir}\""
29
+ if metadata.key? 'dependencies'
30
+ fix.puts " forge_modules:"
31
+ metadata['dependencies'].each do |dep|
32
+ if dep.key? 'version_requirement'
33
+ fix.puts " #{(dep['name'].split(/[\/\-]/))[-1]}:"
34
+ fix.puts " repo: \"#{dep['name']}\""
35
+ fix.puts " ref: \"#{dep['version_requirement'].gsub(/[=\<\>~\s]/, '')}\""
36
+ else
37
+ fix.puts " #{(dep['name'].split(/\/\-/))[1]}: \"#{dep['name']}\""
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+
20
44
 
21
45
  def process_syntax_checks(opts)
22
46
  # collect all the current directories
@@ -30,7 +54,7 @@ def process_syntax_checks(opts)
30
54
  ========================================================================
31
55
  ========================================================================
32
56
 
33
- Performaning syntax checks
57
+ Performing syntax checks
34
58
 
35
59
  File types: #{opts.syntax_checks.map {|i| i.to_s}.join(', ')}
36
60
  Directories: #{checked_dirs.join(', ')}
@@ -92,6 +116,7 @@ EOM
92
116
  end
93
117
 
94
118
  begin
119
+ # TODO: gather lint output and generate JUnit reports
95
120
  Rake.application['lint'].invoke
96
121
  rescue SystemExit => e
97
122
  puts <<-EOM
@@ -132,18 +157,18 @@ EOM
132
157
  Rake.application['spec_clean'].invoke
133
158
  end
134
159
 
160
+ # Add a spec job to generate JUnit reports
135
161
  RSpec::Core::RakeTask.new(:spec) do |task|
136
162
  task.rspec_opts = %w[--format RspecJunitFormatter --out test-reports/rspec.xml]
137
163
  task.pattern = 'spec/{classes,defines,unit,functions,hosts,integration}/**/*_spec.rb'
138
164
  end
139
- Rake.application['spec_fixtures'].invoke
140
- Rake.application['spec_prep'].invoke
165
+
166
+ # we need a .fixtures.yml file to pull in dependent modules
167
+ create_fixtures_yml
141
168
  Rake.application['spec'].invoke
142
169
  end
143
170
 
144
171
 
145
-
146
-
147
172
  if ENV['PUPPET_CI_CONF']
148
173
  CONF_FILE = ENV['PUPPET_CI_CONF']
149
174
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-ci-testing
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.6
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerard Hickey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-17 00:00:00.000000000 Z
11
+ date: 2016-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: puppet
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: colorize
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.8.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 0.8.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: puppet-lint
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - ">="
144
144
  - !ruby/object:Gem::Version
145
- version: '0'
145
+ version: 3.5.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: '0'
152
+ version: 3.5.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rake-version
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -178,7 +178,8 @@ dependencies:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
180
  version: 0.10.0
181
- description: ''
181
+ description: Create an end to end CI workflow for integrating Puppet module testing
182
+ and publication.
182
183
  email: hickey@kinetic-compute.com
183
184
  executables:
184
185
  - check_file_syntax
@@ -216,5 +217,5 @@ rubyforge_project:
216
217
  rubygems_version: 2.4.8
217
218
  signing_key:
218
219
  specification_version: 4
219
- summary: ''
220
+ summary: Utilities to perform Puppet testing in a CI workflow
220
221
  test_files: []