If pipeline "C" requires a binary from "A", there's no need to add an explicit dependency. You can specify an upstream pipeline as part of your fetch artifact task.
In either case, C should not trigger twice. Pipeline C should wait for B to be complete before kicking off. Also — what you're looking at is called "fan-in" in gocd terminology. This document <https://docs.gocd.org/current/advanced_usage/fan_in.html> might help. - Ketan On Fri, Nov 27, 2020 at 7:47 PM Joel Bodenmann <[email protected]> wrote: > Hello folks, > > Consider the following scenario: > > - Template *T_A*: Builds some binaries and stores them as an artifact. > - Template *T_B*: Fetches binaries from the upstream pipeline *T_A *and > runs tests. To achieve this, *T_B* has a *Fetch Artifact *task with > the upstream pipeline as a parameter *#{UPSTREAM_BUILD_PIPELINE}.* > - Template *T_C*: Fetches binaries from upstream pipeline *T_A* and > creates packages. To achieve this, *T_C* has a *Fetch Artifact *task > with the upstream pipeline as a parameter *#{UPSTREAM_BUILD_PIPELINE}.* > - Pipeline *A*: Uses template *T_A*. > - Pipeline *B*: Uses template *T_B**. *Sets *UPSTREAM_BUILD_PIPELINE *to > pipeline *A.* > - Pipeline *C*: Uses template *T_C*. Sets *UPSTREAM_BUILD_PIPELINE * > to pipeline *A.* > > This results in the following VSM: > > > The problem I have is that pipeline C will be triggered twice: Once after > A finishes and once after B finishes. The expected behavior (or the > behavior I wish to achieve) is that C will only run after B finishes > successfully. > > How can I make sure that C only runs after successful completion of B (and > therefore implicitly A)? > > Attached is the corresponding XML fragment of my templates & pipelines > where: > > - *T_A -> Build-CMake-OS-Compiler* > - *T_B -> Test-OS* > - *T_C -> Package-OS* > - *A -> GPDS-Build-FreeBSD-GCC* > - *B -> GPDS-Test-FreeBSD-GCC* > - *C -> GPDS-Package-FreeBSD* > > -- > 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]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/go-cd/0a8a6dc4-0b49-4036-a573-44d0feca32b9n%40googlegroups.com > <https://groups.google.com/d/msgid/go-cd/0a8a6dc4-0b49-4036-a573-44d0feca32b9n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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]. To view this discussion on the web visit https://groups.google.com/d/msgid/go-cd/CAMUPJd6PgDH7qs6q2JG2ADgFQPmnJiF%3DrfuBAhZsp4sJC8CQjA%40mail.gmail.com.
