Verigreen / verigreen

Verigreen is a lightweight, server side solution for verification of git commits. It is a gated check-in process which will not allow any failed CI commit to go into an integration/release/any protected branch. We keep it green (hence the name).
Apache License 2.0
57 stars 19 forks source link

Possible bug in PASSED_BY_CHILD #19

Closed litalk closed 9 years ago

litalk commented 9 years ago

Hey Guys :) I have experienced an interesting scenario today. look at the following image: image

The 2 PASSED_BY_CHILD commits have entered the master prematurely because my commit was verified faster, BUT, my commit did not trigger the same jenkins jobs (modules) as those 2 commits, hence my commit did not really verify those 2 commits.

Verigreen has no way of knowing that because he triggers one job only in Jenkins, if I remember correctly, and jenkins does the routing. But this is still pretty serious bug...

eitansch commented 9 years ago

@litalk - thanks for the feedback. This is a methodological question, which stems from the specific project architecture. Since the router has to identify the affected areas and run the more thorough build, it seems like a bug in the routing system in Jenkins, rather than in VG. If (for instance), the project structure would have been broken down to separate components, this wouldn't have happened. @edagan - This is in your ballpark. I remember @soninob talking to you specifically about this and you said you have it covered in your routing algorithm.

litalk commented 9 years ago

I believe I have reported such issue before – Jenkins does not handle well merge commits and does not trigger all relevant modules.

soninob commented 9 years ago

As I understand this Question has been answered. The situation is due to a defect in the Jenkins job.