gitarro 0.1.81 → 0.1.82
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/gitarro/backend.rb +28 -18
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bb333ee96f4cfecebfe8a2cc7738cb460fbc6d1961fc01a4f37db171e2baf03a
|
|
4
|
+
data.tar.gz: 4b010669bd1a5bb0c426a324fd3251d4956cd56033f48814002ae26f5b6d59ea
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fdbe35a2bc89886846ba84e39d650e2424c275014c9a73a63feeb6fbc2e83c85748f60417ce03650c10e2e1de6fcbad7e5d87dee10d6023c674c126c2b58ef26
|
|
7
|
+
data.tar.gz: 243b2462f6376a2fa94eb9d010c7e871061141937c9d638ae5cb3cace734431d5395967c039f8c49fcc45c4e7e2518b8fe6f52cce0999f91984d3053dc9502e0
|
data/lib/gitarro/backend.rb
CHANGED
|
@@ -88,9 +88,8 @@ class TestExecutor
|
|
|
88
88
|
# this will clone the repo and execute the tests
|
|
89
89
|
def pr_test(pr)
|
|
90
90
|
clone_repo(@noshallow, pr)
|
|
91
|
-
# do valid tests and
|
|
92
|
-
|
|
93
|
-
test_status
|
|
91
|
+
# do valid tests and return the result
|
|
92
|
+
run_script
|
|
94
93
|
end
|
|
95
94
|
|
|
96
95
|
# run validation script for validating the PR.
|
|
@@ -120,10 +119,7 @@ class TestExecutor
|
|
|
120
119
|
|
|
121
120
|
def export_pr_data_to_json_file(pr)
|
|
122
121
|
pr = pr.to_hash
|
|
123
|
-
pr[:files] = []
|
|
124
|
-
@client.pull_request_files(@repo, pr[:number]).each do |github_file|
|
|
125
|
-
pr[:files].push(github_file.to_hash)
|
|
126
|
-
end
|
|
122
|
+
pr[:files] = @client.pull_request_files(@repo, pr[:number]).map(&:to_h)
|
|
127
123
|
File.open('.gitarro_pr.json', 'w') do |file|
|
|
128
124
|
file.write(JSON.generate(pr))
|
|
129
125
|
end
|
|
@@ -182,7 +178,7 @@ class Backend
|
|
|
182
178
|
return true if @branch == pr.base.ref
|
|
183
179
|
|
|
184
180
|
puts "branch \"#{pr.base.ref}\" should match github-branch \"#{@branch}\" (given) !!!"
|
|
185
|
-
puts
|
|
181
|
+
puts 'skipping tests !!!'
|
|
186
182
|
false
|
|
187
183
|
end
|
|
188
184
|
|
|
@@ -204,7 +200,7 @@ class Backend
|
|
|
204
200
|
print_test_required
|
|
205
201
|
gbexec.export_pr_data(pr)
|
|
206
202
|
exit 0 if @check
|
|
207
|
-
launch_test_and_setup_status(pr)
|
|
203
|
+
launch_test_and_setup_status(pr)
|
|
208
204
|
end
|
|
209
205
|
|
|
210
206
|
# public always rerun tests against the pr number if this exists
|
|
@@ -215,7 +211,7 @@ class Backend
|
|
|
215
211
|
puts "Got triggered by PR_NUMBER OPTION, rerunning on #{@pr_number}"
|
|
216
212
|
print_test_required
|
|
217
213
|
gbexec.export_pr_data(pr_on_number)
|
|
218
|
-
launch_test_and_setup_status(pr_on_number)
|
|
214
|
+
launch_test_and_setup_status(pr_on_number)
|
|
219
215
|
end
|
|
220
216
|
|
|
221
217
|
def unreviewed_new_pr?(pr, comm_st)
|
|
@@ -230,7 +226,7 @@ class Backend
|
|
|
230
226
|
gbexec.export_pr_data(pr)
|
|
231
227
|
return false if @check
|
|
232
228
|
|
|
233
|
-
launch_test_and_setup_status(pr)
|
|
229
|
+
launch_test_and_setup_status(pr)
|
|
234
230
|
end
|
|
235
231
|
|
|
236
232
|
def reviewed_pr?(comm_st, pr)
|
|
@@ -243,7 +239,7 @@ class Backend
|
|
|
243
239
|
print_test_required
|
|
244
240
|
gbexec.export_pr_data(pr)
|
|
245
241
|
exit(0) if @check
|
|
246
|
-
launch_test_and_setup_status(pr)
|
|
242
|
+
launch_test_and_setup_status(pr)
|
|
247
243
|
end
|
|
248
244
|
|
|
249
245
|
# this function will check if the PR contains in comment the magic word
|
|
@@ -253,14 +249,27 @@ class Backend
|
|
|
253
249
|
# a pr contain always a comments, cannot be nil
|
|
254
250
|
@client.issue_comments(@repo, pr_number).each do |com|
|
|
255
251
|
# delete comment otherwise it will be retrigger infinetely
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
252
|
+
next unless com.body.include? magic_word_trigger
|
|
253
|
+
|
|
254
|
+
puts "Re-run test \"#{context}\""
|
|
255
|
+
@client.delete_comment(@repo, com.id)
|
|
256
|
+
return true
|
|
260
257
|
end
|
|
261
258
|
false
|
|
262
259
|
end
|
|
263
260
|
|
|
261
|
+
# this function will check if the PR contains a checkbox
|
|
262
|
+
# for retrigger all the tests.
|
|
263
|
+
def retriggered_by_checkbox?(pr, context)
|
|
264
|
+
return false unless pr.body.include? "[x] Re-run test \"#{context}\""
|
|
265
|
+
|
|
266
|
+
puts "Re-run test \"#{context}\""
|
|
267
|
+
new_pr_body = pr.body.gsub("[x] Re-run test \"#{context}\"",
|
|
268
|
+
"[ ] Re-run test \"#{context}\"")
|
|
269
|
+
@client.update_pull_request(@repo, pr.number, body: new_pr_body)
|
|
270
|
+
true
|
|
271
|
+
end
|
|
272
|
+
|
|
264
273
|
private
|
|
265
274
|
|
|
266
275
|
# Show a message stating if there are opened PRs or not
|
|
@@ -294,7 +303,7 @@ class Backend
|
|
|
294
303
|
# set status
|
|
295
304
|
create_status(pr, test_status)
|
|
296
305
|
# return status for other functions
|
|
297
|
-
test_status
|
|
306
|
+
test_status == 'success' ? exit(0) : exit(1)
|
|
298
307
|
end
|
|
299
308
|
|
|
300
309
|
# check all files of a Prs Number if they are a specific type
|
|
@@ -325,7 +334,8 @@ class Backend
|
|
|
325
334
|
|
|
326
335
|
def retrigger_needed?(pr)
|
|
327
336
|
# we want redo sometimes tests
|
|
328
|
-
return false unless
|
|
337
|
+
return false unless retriggered_by_checkbox?(pr, @context) ||
|
|
338
|
+
retriggered_by_comment?(pr, @context)
|
|
329
339
|
|
|
330
340
|
# if check is set, the comment in the trigger job will be del.
|
|
331
341
|
# so setting it to pending, it will be remembered
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gitarro
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.82
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dario Maiocchi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-02-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: english
|
|
@@ -151,7 +151,8 @@ files:
|
|
|
151
151
|
homepage: https://github.com/openSUSE/gitarro
|
|
152
152
|
licenses:
|
|
153
153
|
- MIT
|
|
154
|
-
metadata:
|
|
154
|
+
metadata:
|
|
155
|
+
changelog_uri: https://github.com/openSUSE/gitarro/blob/master/CHANGELOG.md
|
|
155
156
|
post_install_message:
|
|
156
157
|
rdoc_options: []
|
|
157
158
|
require_paths:
|
|
@@ -168,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
168
169
|
version: '0'
|
|
169
170
|
requirements: []
|
|
170
171
|
rubyforge_project:
|
|
171
|
-
rubygems_version: 2.7.
|
|
172
|
+
rubygems_version: 2.7.6
|
|
172
173
|
signing_key:
|
|
173
174
|
specification_version: 4
|
|
174
175
|
summary: gitarro gem
|