I've got a group of pipelines which are meant to run serially in 3 sequential steps, with the penultimate step parallelized across many pipelines and the ultimate step only running if all of the penultimate parallel pipelines go green. I believe I'm doing everything correctly according to the official Fan-in documentation <https://docs.gocd.org/current/advanced_usage/fan_in.html> in sharing the same SCM material, having the right upstream pipeline material at each step, and configuring all pipelines to automatically trigger.
The problem I'm observing that is that the ultimate pipeline triggers even if one pipeline in the parallelized penultimate group fails. Also, when I look deeply into how each build resolves its upstream pipeline dependencies, I've found that the builds are resolving a different version of upstream pipeline dependencies than I expect. I consider this a bug, but if it is a feature, it's a feature which I must be misunderstanding and which the documentation is unclear on. I am using version 17.7.0 of Go server. Here are some screenshots which depict the unexpected behavior: <https://lh3.googleusercontent.com/-CJP3BDEtrdU/WiIK34lZT3I/AAAAAAAAAvQ/kQnaXQUP-5QiU0Noa-QEM5OF_8rwVSGpACLcBGAs/s1600/Screen%2BShot%2B2017-12-02%2Bat%2B10.25.02%2BAM.png> As you can see in this image, build #12 of S3_Publish was triggered even though the upstream dependency of Alert-UI_web #14 failed. The original parent pipeline was #309 of Lerna-CI_web. However, when we look at the value-stream map from the perspective of S3_Publish #12, we get a different picture: <https://lh3.googleusercontent.com/-rKgBdtJlECE/WiIMcqul8cI/AAAAAAAAAv0/XctPysFtI_YRWKHbirZkd-ShsJJPEhkFACLcBGAs/s1600/Screen%2BShot%2B2017-12-02%2Bat%2B10.23.49%2BAM.png> In this view, it looks like Alert-UI_web #10, a green build, is the upstream dependency of S3_Publish #12. We also see that Lerna-CI_web #309 is still considered the original parent pipeline. So in this view, S3_Publish resolved that all its upstream pipelines passed, and therefore trigged. Now let's take a look directly at Alert-UI_web #10: <https://lh3.googleusercontent.com/-BBjUq8tp8g8/WiINUw4JGOI/AAAAAAAAAv8/Llhn3feXjGMUXu_Pp5yj92fYkWlZKqXMQCLcBGAs/s1600/Screen%2BShot%2B2017-12-02%2Bat%2B10.24.14%2BAM.png> OK, So Alert-UI_web #10 has a parent of Lerna-CI_web #306. This is a different parent pipeline version than the #309 we see from the different views. This is very unexpected and looks like a bug. So what do I have here? Bug, or misunderstood feature? I expect S3_Publish to not trigger if any descendent build from Lerna-CI_web #309 fails. Alert-UI_web #14 was descendent from Lerna-CI_web #309 and failed, but still S3_Publish triggered. S3_Published identified the last good build of Alert-CI_web (#10) as its upstream, even though though the original parent was different. Can someone help me figure out if this is a bug or a feature that I've misconfigured or misunderstood? Thank you!! -- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
