jenkins_pipeline_builder 0.9.6 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ef798dd91df3556d5a73be46ec7e061095c2a596
4
- data.tar.gz: 123d1d97031ffa89fa09a07232efac4b5f2086df
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ M2MyOWZkODg1YzNkODVlZDkwMWZhNzVmNjAzMjZhNDljNjkzNjAxYQ==
5
+ data.tar.gz: !binary |-
6
+ NWYxNDc1MTRiMjVhM2U3ODg4YWE0ZTY4YjgyMmZhNzUxN2E0NWY0ZQ==
5
7
  SHA512:
6
- metadata.gz: 17c801fc9a56daa1f1dd2a08289d1462afef80c74fb88f5dfa13a807fd91b93a2f13abe05981a437ea02b29ed0f9f469a05d9829d73678e3e73942e82212d77d
7
- data.tar.gz: fa493afc1b736027eeae261134219ed5e195d5b9b18afb6db3aa6ddfe10bac475705406b6d49245bb593338d793b27010cc2b5203e3878df7b17c54084e70a97
8
+ metadata.gz: !binary |-
9
+ MDI0YzgwNDJhOWJhMWI1ZTJjOGViNTA3MGE0NThiNTVhNmY5ODAwOWU0YjVm
10
+ ZDcyOTY2NjYxZDUxYWM3ZmE3NGRhYTk2NmQxN2FmYTA0ZWRjMDU3MTVkZDU2
11
+ OTMyNWVlNTdmNGU4ZGYzM2ZiZmMwYTdmMmFjNjdmYjE5ZjU2MGY=
12
+ data.tar.gz: !binary |-
13
+ ZWI3MzZkZmRkZWQ4MDdmMjYxNzJkNTE0M2ZlNGQ5Mjc1OWQwNTNiZmNlMTVh
14
+ NzE3ZmZiNjc0ZmI3NmVlZDk2NmM2Y2YxMzdhOGI2MWMxZmI0MzdkMzM0OWJh
15
+ M2E1NzQ1YzQzMzcyMzc0MDY2NTI1ZmExN2U1NGRhNjJjMzg3OTE=
@@ -33,7 +33,8 @@ module JenkinsPipelineBuilder
33
33
 
34
34
  desc 'bootstrap Path', 'Generates pipeline from folder or a file'
35
35
  def bootstrap(path, project_name = nil)
36
- Helper.setup(parent_options).bootstrap(path, project_name)
36
+ failed = Helper.setup(parent_options).bootstrap(path, project_name)
37
+ fail 'Encountered error during run' unless failed == false
37
38
  end
38
39
 
39
40
  desc 'pull_request Path', 'Generates jenkins jobs based on a git pull request.'
@@ -71,7 +71,6 @@ module JenkinsPipelineBuilder
71
71
  logger.info "Bootstrapping pipeline from path #{path}"
72
72
  load_collection_from_path(path)
73
73
  cleanup_temp_remote
74
- load_extensions(path)
75
74
  errors = {}
76
75
  if projects.any?
77
76
  errors = publish_project(project_name)
@@ -87,11 +86,10 @@ module JenkinsPipelineBuilder
87
86
  end
88
87
 
89
88
  def pull_request(path, project_name)
90
- success = false
89
+ failed = false
91
90
  logger.info "Pull Request Generator Running from path #{path}"
92
91
  load_collection_from_path(path)
93
92
  cleanup_temp_remote
94
- load_extensions(path)
95
93
  logger.info "Project: #{projects}"
96
94
  projects.each do |project|
97
95
  next unless project[:name] == project_name || project_name.nil?
@@ -101,12 +99,12 @@ module JenkinsPipelineBuilder
101
99
  next unless p_success
102
100
  jobs = filter_pull_request_jobs(pull_job)
103
101
  pull = JenkinsPipelineBuilder::PullRequestGenerator.new(project, jobs, p_payload)
104
-
105
102
  @job_collection.merge! pull.jobs
106
103
  success = create_pull_request_jobs(pull)
104
+ failed = success unless success
107
105
  purge_pull_request_jobs(pull)
108
106
  end
109
- success
107
+ !failed
110
108
  end
111
109
 
112
110
  def dump(job_name)
@@ -178,6 +176,7 @@ module JenkinsPipelineBuilder
178
176
  end
179
177
 
180
178
  def load_collection_from_path(path, remote = false)
179
+ load_extensions(path)
181
180
  path = File.expand_path(path, Dir.getwd)
182
181
  if File.directory?(path)
183
182
  logger.info "Generating from folder #{path}"
@@ -209,7 +208,7 @@ module JenkinsPipelineBuilder
209
208
  value = section[key]
210
209
  if key == :dependencies
211
210
  logger.info 'Resolving Dependencies for remote project'
212
- load_remote_yaml(value)
211
+ load_remote_files(value)
213
212
  next
214
213
  end
215
214
  name = value[:name]
@@ -280,7 +279,7 @@ module JenkinsPipelineBuilder
280
279
  Archive::Tar::Minitar.unpack("#{file}.tar", file)
281
280
  end
282
281
 
283
- def load_remote_yaml(dependencies)
282
+ def load_remote_files(dependencies)
284
283
  ### Load remote YAML
285
284
  # Download Tar.gz
286
285
  dependencies.each do |source|
@@ -453,7 +452,7 @@ module JenkinsPipelineBuilder
453
452
  logger.info 'successfully resolved project'
454
453
  compiled_project = payload
455
454
  else
456
- return false
455
+ return { project_name: 'Failed to resolve' }
457
456
  end
458
457
 
459
458
  errors = publish_jobs(compiled_project[:value][:jobs]) if compiled_project[:value][:jobs]
@@ -21,5 +21,5 @@
21
21
  #
22
22
 
23
23
  module JenkinsPipelineBuilder
24
- VERSION = '0.9.6'
24
+ VERSION = '0.9.7'
25
25
  end
@@ -92,6 +92,19 @@ describe JenkinsPipelineBuilder::Generator do
92
92
  File.delete(file)
93
93
  end
94
94
  end
95
+
96
+ it 'loads extensions in remote dependencies' do
97
+ @generator.debug = true
98
+ job_name = 'TemplatePipeline'
99
+ path = File.expand_path('../fixtures/generator_tests/template_pipeline', __FILE__)
100
+ errors = @generator.bootstrap(path, job_name)
101
+ expect(errors.empty?).to be true
102
+ expect(@generator.module_registry.registry[:job][:wrappers].keys).to include :test_wrapper
103
+ Dir["#{job_name}*.xml"].each do |file|
104
+ File.delete(file)
105
+ end
106
+ @generator.module_registry.registry[:job][:wrappers].delete(:test_wrapper)
107
+ end
95
108
  # Things to check for:
96
109
  # Fail - Finds duplicate job names (load_job_collection)
97
110
  # Extension fails to register?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jenkins_pipeline_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.6
4
+ version: 0.9.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Moochnick
@@ -43,42 +43,42 @@ dependencies:
43
43
  name: thor
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ! '>='
47
47
  - !ruby/object:Gem::Version
48
48
  version: 0.18.0
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ! '>='
54
54
  - !ruby/object:Gem::Version
55
55
  version: 0.18.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: activesupport
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '>='
60
+ - - ! '>='
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ! '>='
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: archive-tar-minitar
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '>='
74
+ - - ! '>='
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - '>='
81
+ - - ! '>='
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
@@ -99,14 +99,14 @@ dependencies:
99
99
  name: rake
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '>='
102
+ - - ! '>='
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '>='
109
+ - - ! '>='
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  - !ruby/object:Gem::Dependency
@@ -127,168 +127,168 @@ dependencies:
127
127
  name: bump
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - '>='
130
+ - - ! '>='
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - '>='
137
+ - - ! '>='
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: json
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - '>='
144
+ - - ! '>='
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0'
147
147
  type: :development
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - '>='
151
+ - - ! '>='
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  - !ruby/object:Gem::Dependency
155
155
  name: gem-release
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - '>='
158
+ - - ! '>='
159
159
  - !ruby/object:Gem::Version
160
160
  version: '0'
161
161
  type: :development
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
- - - '>='
165
+ - - ! '>='
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: pry
170
170
  requirement: !ruby/object:Gem::Requirement
171
171
  requirements:
172
- - - '>='
172
+ - - ! '>='
173
173
  - !ruby/object:Gem::Version
174
174
  version: '0'
175
175
  type: :development
176
176
  prerelease: false
177
177
  version_requirements: !ruby/object:Gem::Requirement
178
178
  requirements:
179
- - - '>='
179
+ - - ! '>='
180
180
  - !ruby/object:Gem::Version
181
181
  version: '0'
182
182
  - !ruby/object:Gem::Dependency
183
183
  name: simplecov
184
184
  requirement: !ruby/object:Gem::Requirement
185
185
  requirements:
186
- - - '>='
186
+ - - ! '>='
187
187
  - !ruby/object:Gem::Version
188
188
  version: '0'
189
189
  type: :development
190
190
  prerelease: false
191
191
  version_requirements: !ruby/object:Gem::Requirement
192
192
  requirements:
193
- - - '>='
193
+ - - ! '>='
194
194
  - !ruby/object:Gem::Version
195
195
  version: '0'
196
196
  - !ruby/object:Gem::Dependency
197
197
  name: simplecov-rcov
198
198
  requirement: !ruby/object:Gem::Requirement
199
199
  requirements:
200
- - - '>='
200
+ - - ! '>='
201
201
  - !ruby/object:Gem::Version
202
202
  version: '0'
203
203
  type: :development
204
204
  prerelease: false
205
205
  version_requirements: !ruby/object:Gem::Requirement
206
206
  requirements:
207
- - - '>='
207
+ - - ! '>='
208
208
  - !ruby/object:Gem::Version
209
209
  version: '0'
210
210
  - !ruby/object:Gem::Dependency
211
211
  name: kwalify
212
212
  requirement: !ruby/object:Gem::Requirement
213
213
  requirements:
214
- - - '>='
214
+ - - ! '>='
215
215
  - !ruby/object:Gem::Version
216
216
  version: '0'
217
217
  type: :development
218
218
  prerelease: false
219
219
  version_requirements: !ruby/object:Gem::Requirement
220
220
  requirements:
221
- - - '>='
221
+ - - ! '>='
222
222
  - !ruby/object:Gem::Version
223
223
  version: '0'
224
224
  - !ruby/object:Gem::Dependency
225
225
  name: equivalent-xml
226
226
  requirement: !ruby/object:Gem::Requirement
227
227
  requirements:
228
- - - '>='
228
+ - - ! '>='
229
229
  - !ruby/object:Gem::Version
230
230
  version: '0'
231
231
  type: :development
232
232
  prerelease: false
233
233
  version_requirements: !ruby/object:Gem::Requirement
234
234
  requirements:
235
- - - '>='
235
+ - - ! '>='
236
236
  - !ruby/object:Gem::Version
237
237
  version: '0'
238
238
  - !ruby/object:Gem::Dependency
239
239
  name: yard-thor
240
240
  requirement: !ruby/object:Gem::Requirement
241
241
  requirements:
242
- - - '>='
242
+ - - ! '>='
243
243
  - !ruby/object:Gem::Version
244
244
  version: '0'
245
245
  type: :development
246
246
  prerelease: false
247
247
  version_requirements: !ruby/object:Gem::Requirement
248
248
  requirements:
249
- - - '>='
249
+ - - ! '>='
250
250
  - !ruby/object:Gem::Version
251
251
  version: '0'
252
252
  - !ruby/object:Gem::Dependency
253
253
  name: yard
254
254
  requirement: !ruby/object:Gem::Requirement
255
255
  requirements:
256
- - - '>='
256
+ - - ! '>='
257
257
  - !ruby/object:Gem::Version
258
258
  version: '0'
259
259
  type: :development
260
260
  prerelease: false
261
261
  version_requirements: !ruby/object:Gem::Requirement
262
262
  requirements:
263
- - - '>='
263
+ - - ! '>='
264
264
  - !ruby/object:Gem::Version
265
265
  version: '0'
266
266
  - !ruby/object:Gem::Dependency
267
267
  name: rspec_junit_formatter
268
268
  requirement: !ruby/object:Gem::Requirement
269
269
  requirements:
270
- - - '>='
270
+ - - ! '>='
271
271
  - !ruby/object:Gem::Version
272
272
  version: '0'
273
273
  type: :development
274
274
  prerelease: false
275
275
  version_requirements: !ruby/object:Gem::Requirement
276
276
  requirements:
277
- - - '>='
277
+ - - ! '>='
278
278
  - !ruby/object:Gem::Version
279
279
  version: '0'
280
280
  - !ruby/object:Gem::Dependency
281
281
  name: webmock
282
282
  requirement: !ruby/object:Gem::Requirement
283
283
  requirements:
284
- - - '>='
284
+ - - ! '>='
285
285
  - !ruby/object:Gem::Version
286
286
  version: '0'
287
287
  type: :development
288
288
  prerelease: false
289
289
  version_requirements: !ruby/object:Gem::Requirement
290
290
  requirements:
291
- - - '>='
291
+ - - ! '>='
292
292
  - !ruby/object:Gem::Version
293
293
  version: '0'
294
294
  - !ruby/object:Gem::Dependency
@@ -305,9 +305,11 @@ dependencies:
305
305
  - - '='
306
306
  - !ruby/object:Gem::Version
307
307
  version: 0.26.1
308
- description: |-
309
- This is a simple and easy-to-use Jenkins Pipeline generator with features focused on
310
- automating Job & Pipeline creation from the YAML files checked-in with your application source code
308
+ description: ! 'This is a simple and easy-to-use Jenkins Pipeline generator with features
309
+ focused on
310
+
311
+ automating Job & Pipeline creation from the YAML files checked-in with your application
312
+ source code'
311
313
  email:
312
314
  - igor.moochnick@gmail.com
313
315
  - crimsonknave@gmail.com
@@ -399,17 +401,17 @@ require_paths:
399
401
  - lib
400
402
  required_ruby_version: !ruby/object:Gem::Requirement
401
403
  requirements:
402
- - - '>='
404
+ - - ! '>='
403
405
  - !ruby/object:Gem::Version
404
406
  version: '0'
405
407
  required_rubygems_version: !ruby/object:Gem::Requirement
406
408
  requirements:
407
- - - '>='
409
+ - - ! '>='
408
410
  - !ruby/object:Gem::Version
409
411
  version: '0'
410
412
  requirements: []
411
413
  rubyforge_project:
412
- rubygems_version: 2.1.9
414
+ rubygems_version: 2.4.2
413
415
  signing_key:
414
416
  specification_version: 4
415
417
  summary: This gem is will boostrap your Jenkins pipelines
@@ -447,4 +449,3 @@ test_files:
447
449
  - spec/lib/jenkins_pipeline_builder/utils_spec.rb
448
450
  - spec/lib/jenkins_pipeline_builder/view_spec.rb
449
451
  - spec/requests/pipeline_spec.rb
450
- has_rdoc: