Subproject Shows Pending Despite VCS Trigger Unsatisfied

Answered

We have a project with multiple subprojects, basically this set up:

ProjectRoot

|___|- Subproject1

      |- Subproject2

And we've set up builds for the subprojects that trigger only when source files in that submodule change (i.e. +:src/ProjectRoot/Subproject1/**)

This works fine, the problem is that TC shows (Pending) next to, for example, Subproject2 if a build for Subproject1 was triggered and satisfied. How do I tell TC to stop showing Pending tags to Subprojects that weren't triggered by VCS Trigger?

I think this question was similar.

3 comments

Hello Colin,

If you want to display changes, but not to trigger a build for a change, VCS trigger rules should be used.
If you do not want to display changes and to check out files for the build on agent, then checkout rules should be used.
Please find more information in this section.

1

Hey Alina, thanks for the reply. This solved my problem, however ...

 

We have a Gradle multiproject buildscript that is required by the subprojects to build correctly so this VCS checkout rule attempt:

-:src

+:src/subdirectory/subproject1 => src/subdirectory/subproject1

Seemed like it should have worked, but excluding the src folder caused the TC agent to not check out any of the FILES that were in the same directory level:

VCS Root

|____|- src

       |- build.gradle <---- THESE WERE EXCLUDED

       |- settings.gradle

What I had to do instead what use VCS checkout rules that looked like this:

+:. => .

-:src

+:src/subdirectory/subproject1 => src/subdirectory/subproject1

Possibly because the -:src rule REPLACES the default rule, so it needed to be added back. Hopefully this helps anyone that might find this.

0

Hi Colin,

You are right, as soon as you enter any "+" rule, TeamCity will remove the default "include all" setting. To include all the files, use "+:." rule. For more details see the section.

0

Please sign in to leave a comment.