Build chains & triggers (requesting clarification on documentation)

Answered

In your documentation, you state "If you have a build chain (i.e. a number of builds interconnected by snapshot dependencies),  the triggers are to be configured in the resulting build, the top-most build. When this build is triggered, all its snapshot dependencies are triggered too."  This is ambiguous as I would consider the "resulting build" to be at the end of the build chain, not at the top, so I have no idea what this is trying to tell me.

I have a chain that looks like this:

 A -> B -> C -> F

          |               ^

          v              |

          D    ->     E

Which would you consider to be the "top-most build"?  Which would you consider to be the "resulting build"?  From the doc, I would think they would be the same but, in my case, I would consider A to be the "top-most build" and F to be the "resulting build".  Adding a picture to the documentation would clarify this, in addition to fixing the ambiguous language.

I have VCS triggers set on B, C, D, E & F. that trigger a build on changes in snapshot dependencies.

I have a VCS trigger set on A that triggers a build on each check-in.  Is this the correct way to set this up?  Or should this be E instead.

When a check-in is done, two builds are triggered for each of A..E but then the build queue is usually cleaned up a few seconds later and only the 5 (A..E) remain.  However, occasionally, all 10 seem to persist.  Any idea what the problem is?

Thanks in advance.

--Karen

PS: Found the edit option but the gear icon is not intuitive.  Usually means settings.

 

 

 

0
2 comments
Avatar
Permanently deleted user

Apparently symbols are not supported but I'm not seeing a way to edit this.  Guess I tried to get too fancy!

0

Hi Karen,

with resulting build we mean the same you mean with "end build". Top-most would be at the top if the graph was converted to a tree.

Regarding the setup itself, the suggestion in the documentation is to setup the triggers only in the final build of the chain, in your example F, because triggering F will trigger an instance of all of its dependencies (and reuse older builds if configured to do so). That way you ensure all the dependencies are triggered only once. I think the last sentence "When this build is triggered, all its snapshot dependencies are triggered too." explains it, but maybe changing a bit the wording could make it unambiguous.

Regarding the documentation, I've created the following request in our tracker, please feel free to add any comments or remarks: https://youtrack.jetbrains.com/issue/TW-48729

0

Please sign in to leave a comment.