Branch spec variables causing builds with no branch

Ran into an issue recently where a number of builds were being listed as having no compatible agents, due to a requirement on "%teamcity.build.branch%" needing to be set.

After some searching, we managed to discover that all the VCS roots were using a %Watch Branches% variable for their branchSpec, which had the value:

+:refs/heads/(*_topic_*)
+:refs/heads/(*_int)

Now, if you enter that directly into the VCS root, it won't let you save because multiple stars are not allowed on a single line. However, if you enter this into a variable and then use that in the root, TC doesn't validate and the root will save and run.

When a build is run with this root and no specified branch, the %teamcity.build.branch% variable seems to be unset entirely (not just set to "<default>", it's not there). This prevents the build from ever running. If you explicitly tell it which set of changes to use, it seems to be fine, but automated builds on the default branch are not.



This is something of a corner-case and a configuration issue, but is there a way for the VCS root to validate the branch spec when the build runs, or provide some sort of warning that this won't work? Is there any particular reason we can't use multiple wildcards in a single line?

3 comments
Comment actions Permalink

Hello, VCS branch spec is actually validated, when configuration details are read on build startup. However, the parsing failure is suppressed and not reported due to implementation details.

Concerning two starts in branch spec - this is just because it was created initially. The functionality here isn't mature. I created new feature request: http://youtrack.jetbrains.com/issue/TW-35653. You can watch and vote for it.

0
Comment actions Permalink

Would it be possible to log more information on the git clone/fetch, or the parameters used for it? Being able to see some of those would have made this issue more visible.

0
Comment actions Permalink

You can create a request at youtrack.jetbrains.com and we'll schedule it for implementation.

0

Please sign in to leave a comment.