none
Build Fails After Creating a Branch of Main

    Pergunta

  • I created a branch of Main and now my build scripts fail. When I take a look on the build server in the build directory I have folders named Binaries, BuildType and Sources. In the Sources folder I have a Branches folder and a TeamBuildTypes folder. The system will no longer download the Main branch.

    My workspace mapping files look like this:

    <?xml version="1.0" encoding="utf-8"?>
    <SerializedWorkspace xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <Mappings>
        <InternalMapping ServerItem="$/COMET" LocalItem="C:\Program Files\Microsoft Visual Studio 8\Common7\IDE" Type="Map" />
        <InternalMapping ServerItem="$/COMET/Main/Framework/EDF2"  Type="Cloak" />
        <InternalMapping ServerItem="$/COMET/Main/Framework/EnterpriseLibrary"  Type="Cloak" />
        <InternalMapping ServerItem="$/COMET/Main/Framework/LNI.WA.Enterprise.Messaging"  Type="Cloak" />
        <InternalMapping ServerItem="$/COMET/Main/Framework/ObjectBuilder"  Type="Cloak" />
        <InternalMapping ServerItem="$/COMET/Main/Framework/UIProcess"  Type="Cloak" />
        <InternalMapping ServerItem="$/COMET/Main/ORION/ORIONDB"  Type="Cloak" />
        <InternalMapping ServerItem="$/COMET/Main/ORION/OrionWeb"  Type="Cloak" />   
      </Mappings>
    </SerializedWorkspace>

    Any thoughts on how I can get my builds to work again?


    terça-feira, 10 de junho de 2008 20:37

Respostas

  • I checked my build definitions and mapping files. My source tree looks something like this:

    $/PROJECT
    ..Branches
        ..2.0.1.0-APPLICATION-branch
    ..Main
       ..Framework
       ..APPLICATION
       ..Samples
       ..Utilites
    ..TeamBuildTypes 


    The 2.0.1.0 node is a branch of $/PROJECT/Main/APPLICATION. My workspace mapping pretty much looks like so:


    <InternalMapping ServerItem="$/APPLICATION" LocalItem="flibbityjibits" Type="Map" /> 


    I have a few cloaked paths as well all related to $/PROJECT/Main/Something. When I execute my Team Builds Branches and TeamBuildTypes are retrieved from source control and Main is ignored.


    My buildlog shows that CoreGet is retrieving the latest:


    Get Version="T" Recursive=True Force=True Workspace="NinjaWarrior"


    There was something I was missing here. I shot off an email to the Seattle ALT.NET mailing list, more in a effort to articulate the issue well than expecting them to solve my issues or anything. Kinda just getting it all out as I understand the issue for the eventual call to tech support.


    At home I was playing some Lego Indy with the wife on the Xbox and letting the subconscious work on it. And finally the light bulb went off.


    I have other branches in the Branches folder that caused no problem when they were created. I thought to myself, "Self, it's not the branch that did it.. It must be something that you did at the same time you created the branch."

    My assumption about the branch breaking my build came directly from my Jump To Conclusions Mat.


    I created this branch for an external group who is adding functionality. In an effort to keep my main pristine, I locked it down so that only members of the group "Tech Leads" could check in to Main.


    This had to be the cause.. when I realized it last night I almost went back in to work... but come on its Lego Indy!


    So I get to work this morning and checked the membership of "Tech Members" and surprise, surprise... TFSService is a member... The build service uses this account to access TFS...


    So I quickly added it to the leads group and verified that my builds worked again and went to repair the dent I put in the wall from beating my head against it.


    So Lessons Learned here:
    1. Respect the build user, he can make you a very sad panda.
    2. I've automated the build, its time to get a nightly build going so these changes are fresh in my mind when stuff breaks.
    3. While I am at it might as well look into setting up CI to the Dev environment with the nightly.
    4. Indy really can accomplish anything.


    So in the end, I created my own problem. Thanks to all the ALT.NET mailing list readers for silently laughing at me while I verbalized (textualized?) the issue on the mailing list and worked through it. And thanks to the microsoft forums for the blank looks..


    I'll be here all week.



    quinta-feira, 12 de junho de 2008 03:53

Todas as Respostas

  • This problem seems to effect even builds for solutions that are not even included in the branch... I am completely dead in the water here...
    terça-feira, 10 de junho de 2008 21:54
  • Here is the content of my build log:

    Build started 6/10/2008 2:46:25 PM.
    __________________________________________________
    Project "D:\build\OrionServices\COMET\Build Orion Services\BuildType\TFSBuild.proj" (EndToEndIteration target(s)):

    Target InitializeEndToEndIteration:
        UpdateBuildNumberDropLocation BuildNumber='Build Orion Services_20080610.4' DropLocation='\\lnidvmtumbld01\WADSDrop\ORION\Services\Build Orion Services_20080610.4'
       
       
       
    Target CoreClean:
        Removing directory "D:\build\OrionServices\COMET\Build Orion Services\BuildType\..\Sources".
        Removing directory "D:\build\OrionServices\COMET\Build Orion Services\BuildType\..\Sources\..\Binaries".
    Target InitializeBuild:
        Creating directory "D:\build\OrionServices\COMET\Build Orion Services\BuildType\..\Sources".
    Target InitializeWorkspace:
        DeleteWorkspaceTask Name="LNIDVMTUMBLD01_COMET_Build Orion Services" TeamFoundationServerUrl="http://lnidaptumtfs:8080/"
        CreateWorkspaceTask Name="LNIDVMTUMBLD01_COMET_Build Orion Services" TeamFoundationServerUrl="http://lnidaptumtfs:8080/" MappingFile="WorkspaceMapping.xml" LocalPath="D:\build\OrionServices\COMET\Build Orion Services\BuildType\..\Sources" TeamProject="COMET"
    Target CoreGet:
        Get Version="T" Recursive=True Force=True Workspace="LNIDVMTUMBLD01_COMET_Build Orion Services"
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build CommonDLLs
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Services
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Services 2
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Web
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Enterprise Library
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build CommonDLLs\TFSBuild.proj
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build CommonDLLs\TFSBuild.rsp
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build CommonDLLs\WorkspaceMapping.xml
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Services\TFSBuild.proj
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Services\TFSBuild.rsp
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Services\WorkspaceMapping.xml
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Services 2\TFSBuild.proj
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Services 2\TFSBuild.rsp
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Services 2\WorkspaceMapping.xml
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Web\TFSBuild.proj
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Web\TFSBuild.rsp
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Build Orion Web\WorkspaceMapping.xml
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Enterprise Library\TFSBuild.proj
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Enterprise Library\TFSBuild.rsp
        Getting D:\build\OrionServices\COMET\Build Orion Services\Sources\TeamBuildTypes\Enterprise Library\WorkspaceMapping.xml
    Target CoreLabel:
        Label Name="Build Orion Services_20080610.4" Recursive=True Version="WLNIDVMTUMBLD01_COMET_Build Orion Services" Child="replace" Workspace="LNIDVMTUMBLD01_COMET_Build Orion Services" Files="$/COMET"
        Label Build Orion Services_20080610.4@/LNIDVMTUMBLD01_COMET_Build Orion Services is successfully created
    Target CoreCompile:
        Creating directory "D:\build\OrionServices\COMET\Build Orion Services\BuildType\..\Sources\..\Binaries".
       
       
        C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets(478,5): error MSB3202: The project file "D:\build\OrionServices\COMET\Build Orion Services\BuildType\..\Sources\Main\ORION\ORIONServices\ORIONServices.sln" was not found.
    Done building target "CoreCompile" in project "TFSBuild.proj" -- FAILED.
    Target GetChangeSetsOnBuildBreak:
        GenCheckinNotesUpdateWorkItems TeamFoundationServerUrl="http://lnidaptumtfs:8080/" CurrentLabel="LBuild Orion Services_20080610.4@$/COMET" LastLabel="LBuild Orion Services_20080515.1@$/COMET" UpdateWorkItems=False BuildId="Build Orion Services_20080610.4"
        Querying the contents of label 'LBuild Orion Services_20080515.1@$/COMET'.
        Querying the contents of label 'LBuild Orion Services_20080610.4@$/COMET'.
        Analyzing labels LBuild Orion Services_20080515.1@$/COMET and LBuild Orion Services_20080610.4@$/COMET.
        Querying item history.
        Changeset '3163' was included in this build.
        Changeset '3219' was included in this build.
        Changeset '3814' was included in this build.
        Changeset '3815' was included in this build.
        Changeset '3816' was included in this build.
        Changeset '3817' was included in this build.
        Changeset '3821' was included in this build.
        Changeset '3822' was included in this build.
        Changeset '3823' was included in this build.
        Changeset '3824' was included in this build.
        Changeset '3843' was included in this build.
        Changeset '3846' was included in this build.
        Changeset '3849' was included in this build.
        Changeset '3870' was included in this build.
        Changeset '3871' was included in this build.
        Changeset '3872' was included in this build.
        Changeset '3874' was included in this build.
        Changeset '3884' was included in this build.
        Changeset '3889' was included in this build.
    Target AfterDropBuild:
        Packaging Batch Service for Server Specific Drop Points
        xcopy /y /e "D:\build\OrionServices\COMET\Build Orion Services\BuildType\..\Sources\Main\Orion\OrionServices\WA.LNI.ORION.BatchService\Configuration\*.*" "\\lnidvmtumbld01\WADSDrop\ORION\Services\Build Orion Services_20080610.4\3.Orion\ORION\Services\BatchService\Configuration\"
        File not found - *.*
        0 File(s) copied
        D:\build\OrionServices\COMET\Build Orion Services\BuildType\TFSBuild.proj(153,3): error MSB3073: The command "xcopy /y /e "D:\build\OrionServices\COMET\Build Orion Services\BuildType\..\Sources\Main\Orion\OrionServices\WA.LNI.ORION.BatchService\Configuration\*.*" "\\lnidvmtumbld01\WADSDrop\ORION\Services\Build Orion Services_20080610.4\3.Orion\ORION\Services\BatchService\Configuration\"" exited with code 4.
    Done building target "AfterDropBuild" in project "TFSBuild.proj" -- FAILED.

    Done building project "TFSBuild.proj" -- FAILED.

    Build FAILED.
    C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets(478,5): error MSB3202: The project file "D:\build\OrionServices\COMET\Build Orion Services\BuildType\..\Sources\Main\ORION\ORIONServices\ORIONServices.sln" was not found.
    D:\build\OrionServices\COMET\Build Orion Services\BuildType\TFSBuild.proj(153,3): error MSB3073: The command "xcopy /y /e "D:\build\OrionServices\COMET\Build Orion Services\BuildType\..\Sources\Main\Orion\OrionServices\WA.LNI.ORION.BatchService\Configuration\*.*" "\\lnidvmtumbld01\WADSDrop\ORION\Services\Build Orion Services_20080610.4\3.Orion\ORION\Services\BatchService\Configuration\"" exited with code 4.
        0 Warning(s)
        2 Error(s)

    Time Elapsed 00:00:27.37

    terça-feira, 10 de junho de 2008 22:21
  • I checked my build definitions and mapping files. My source tree looks something like this:

    $/PROJECT
    ..Branches
        ..2.0.1.0-APPLICATION-branch
    ..Main
       ..Framework
       ..APPLICATION
       ..Samples
       ..Utilites
    ..TeamBuildTypes 


    The 2.0.1.0 node is a branch of $/PROJECT/Main/APPLICATION. My workspace mapping pretty much looks like so:


    <InternalMapping ServerItem="$/APPLICATION" LocalItem="flibbityjibits" Type="Map" /> 


    I have a few cloaked paths as well all related to $/PROJECT/Main/Something. When I execute my Team Builds Branches and TeamBuildTypes are retrieved from source control and Main is ignored.


    My buildlog shows that CoreGet is retrieving the latest:


    Get Version="T" Recursive=True Force=True Workspace="NinjaWarrior"


    There was something I was missing here. I shot off an email to the Seattle ALT.NET mailing list, more in a effort to articulate the issue well than expecting them to solve my issues or anything. Kinda just getting it all out as I understand the issue for the eventual call to tech support.


    At home I was playing some Lego Indy with the wife on the Xbox and letting the subconscious work on it. And finally the light bulb went off.


    I have other branches in the Branches folder that caused no problem when they were created. I thought to myself, "Self, it's not the branch that did it.. It must be something that you did at the same time you created the branch."

    My assumption about the branch breaking my build came directly from my Jump To Conclusions Mat.


    I created this branch for an external group who is adding functionality. In an effort to keep my main pristine, I locked it down so that only members of the group "Tech Leads" could check in to Main.


    This had to be the cause.. when I realized it last night I almost went back in to work... but come on its Lego Indy!


    So I get to work this morning and checked the membership of "Tech Members" and surprise, surprise... TFSService is a member... The build service uses this account to access TFS...


    So I quickly added it to the leads group and verified that my builds worked again and went to repair the dent I put in the wall from beating my head against it.


    So Lessons Learned here:
    1. Respect the build user, he can make you a very sad panda.
    2. I've automated the build, its time to get a nightly build going so these changes are fresh in my mind when stuff breaks.
    3. While I am at it might as well look into setting up CI to the Dev environment with the nightly.
    4. Indy really can accomplish anything.


    So in the end, I created my own problem. Thanks to all the ALT.NET mailing list readers for silently laughing at me while I verbalized (textualized?) the issue on the mailing list and worked through it. And thanks to the microsoft forums for the blank looks..


    I'll be here all week.



    quinta-feira, 12 de junho de 2008 03:53