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.

Reply via email to