; ; template.branch.ini ; ; This file defines many of the optional settings used by a VBL or different ; language build process, centralizing them in one place. ; ; You may add new fields as appropriate, with comments clearly stating the ; purpose and valid entries the field may contain, and preferrably and example. ; ; Finally, please call the script GetIniSetting.cmd to retrieve data from this ; file to a cmd script, or alternately use PlGetIniSetting.pm to retrieve data ; to a perl script. The &MyGetField( $FieldName, $Language, $BranchName ) sub ; will return the field's value or undef if not found. ; ; Please note that any fields you do not have reason to use may be simply ; commented out with a semicolon. ; ; ; ; Deletebuild.cmd ; Below is a list of the settings and defaults that deletebuild uses. ; ; BuildMachines ; BuildMachineFreeSpace default=10 ; BuildMachineBuildsToKeep default=3 ; ReleaseServers ; ReleaseServerFreeSpace default=10 ; ReleaseServerBuildsToKeep default=3 ; SymIndexServer default=\\symbols\build$ ; SymFarm default=\\symsrv\symfarm ; SymFarmArchsToDelete %_BuildArch%%_BuildType% ; SymFarmBuildsToKeep default=3 ; SymFarmFreeSpace default=10 ; ; ; ; ; --- BEGIN SETTINGS -- ; ; ; BuildMachines:: ; ; Purpose: Deletebuild needs to know what the build machines are. ; ; Example: BuildsMachines::IA64FRE=IA64FRE ; BuildMachines::X86FRE=MIKECARLA BuildMachines::X86CHK=MIKECARLB BuildMachines::IA64FRE=MIKECARLC BuildMachines::IA64CHK=MIKECARLD ; ; ; ; ; ; ; BuildMachineFreeSpace:: ; ; Purpose: This field determines how many gigabytes are required to be free on ; your build machines after postbuild has completed. ; ; Example: BuildMachineFreeSpace::ROBSVBL1=10 ; BuildMachineFreeSpace::MIKESBLD1=10 BuildMachineFreeSpace::MIKESBLD2=10 BuildMachineFreeSpace::MIKESBLD3=10 BuildMachineFreeSpace::MIKESBLD4=10 ; ; ; ; ; ; BuildMachineBuildsToKeep:: ; ; Purpose: This field determines how many full builds to keep on each build ; machine, no matter what. ; ; Example: BuildMachineBuildsToKeep::ROBSVBL1=6 ; BuildMachineBuildsToKeep::MIKESBLD1=6 BuildMachineBuildsToKeep::MIKESBLD2=6 BuildMachineBuildsToKeep::MIKESBLD3=6 BuildMachineBuildsToKeep::MIKESBLD4=6 ; ; ; ; ; ; CrossPlatformCopyMachine:: ; ; Purpose: Provide the name of the x86 machine that will be used as a source ; for the wow64 binaries in the ia64 postbuild process. If this is ; not present, the information from BuildMachines.txt will be used ; instead. Note that the architecture/type is the one for the IA64 ; machine that the wow64 files will be copied to! ; ;CrossPlatformCopyMachine::X86FRE=MIKESBLD1 ;CrossPlatformCopyMachine::X86CHK=MIKESBLD2 ; ; ; ; ; ; ; ReleaseServers:: ; ; Purpose: This field tells the release server names for each architecture type. ; ; Example: ReleaseServerFreeSpace::2kbldx=10 ; ReleaseServers::X86FRE=MIKESREL1 ReleaseServers::X86CHK=MIKESREL2 ReleaseServers::IA64FRE=MIKESREL3 ReleaseServers::IA64CHK=MIKESREL4 ; ; ; ; ; ReleaseServerFreeSpace:: ; ; Purpose: This field determines how many gigabytes are required to be free on ; a given release server during propagation. ; ; Example: ReleaseServerFreeSpace::2kbldx=10 ; ReleaseServerFreeSpace::MIKESREL1=10 ReleaseServerFreeSpace::MIKESREL2=10 ReleaseServerFreeSpace::MIKESREL3=10 ReleaseServerFreeSpace::MIKESREL4=10 ; ; ; ; ; ReleaseServerBuildsToKeep:::: ; ; Purpose: This field determines how many full builds to keep on each release ; server for the specified architecture type. No matter what, this ; number of builds will stay on the release server. ; ; Example: ReleaseServerBuildsToKeep::MIKESREL1::X86FRE=6 ; ReleaseServerBuildsToKeep::MIKESREL1::X86FRE=6 ReleaseServerBuildsToKeep::MIKESREL1::IA64FRE=3 ReleaseServerBuildsToKeep::MIKESREL2::X86CHK=6 ReleaseServerBuildsToKeep::MIKESREL2::IA64CHK=3 ; ; ; ; ; ; ; SymIndexServer ; ; Purpose: This field denotes the machine which holds the indexing ; information from a build's symbols. If this field is not defined, ; symbols are not indexed. This machine share is used in symindex.pm. ; ; Example: SymIndexServer=\\symbols\build$ ; SymIndexServer=\\MIKECARL3\build$ ; ; ; ; ; ; SymFarm ; ; Purpose: The SymFarm field is used as a central location for each platform ; to store symbols for indexing and archiving. This is done primarily ; through indexsym.pm and symcopy.cmd. If no symbols farm is given, ; symbols will remain archived on the build machines or release servers. ; ; Example: SymFarm=\\symsrv\symfarm ; SymFarm=\\MIKECARL3\symfarm ; ; ; ; ; SymFarmArchsToDelete:: ; ; Purpose: When deleting from the symfarm, delete all of the architectures ; at the same time. ; ; Example: SymFarm::SYMSRV=x86fre x86chk ia64fre ia64chk ; SymFarm::SYMSRV=X86FRE X86CHK IA64FRE IA64CHK ; ; ; ; ; ; ; ; SymFarmBuildsToKeep:::: ; ; Purpose: The SymFarmBuildsToKeep field is used to specifiy how many builds to ; keep at all times for each platform on the symbol farm. ; ; Example: SymFarmBuildsToKeep::SYMSRV::X86FRE=10 ; SymFarmBuildsToKeep::SYMSRV::X86FRE=5 SymFarmBuildsToKeep::SYMSRV::X86CHK=6 SymFarmBuildsToKeep::SYMSRV::IA64FRE=10 SymFarmBuildsToKeep::SYMSRV::IA64CHK=10 ; ; ; ; ; ; SymFarmFreeSpace:: ; ; Purpose: This field determines how many gigabytes are required to be free on ; a given symbol farm during propagation. ; ; Example: SymFarmFreeSpace::symsrv=10 ; SymFarmFreeSpace::MIKESFARM1=10 SymFarmFreeSpace::MIKESFARM2=10 ; ; ; ; ; ; ConglomerationServers ; ; Purpose: Both the DDK and Symbols CDs require a conglomeration to a single ; machine from all four archtypes. This field will determine what ; machines are to be used in this way. If the field is not defined, ; the first machine for the current branch from BuildMachines.txt ; is used. ; ; Example: ConglomerationServers=2kbldx8 ntburnlab8 ; ConglomerationServers=MIKECARL3 MIKECARL4 ; ; ; ; ; ; DFSRootName ; ; Purpose: The DFSRootName field is used when raising builds via a DFS to a ; specific build quality using raiseall.pl. If this field is not ; defined, no raising will be performed. ; ; Example: DFSRootName=\\ntdev\release ; ; DFSRootName=\\mikecarl3\fauxrel ; ; ; ; ; DFSSemaphore ; ; Purpose: If DFSRoot is defined, all raising commands will check this ; share for a semaphore. If the semaphore is present, the current ; DFS command will block execution until it can obtain the ; semaphore. ; ; Example: DFSSemaphore=\\ntrelic2\semaphore ; ; DFSSemaphore=\\MIKECARL3\semaphore ; ; ; ; ; ; DFSLatestServerSkus ; ; Purpose: When raising to latest.* from this branch, skus classified as ; server should be taken from this branch ; ; Example: DfsLatestServerSkus=1 ; DFSLatestServerSkus=1 ; ; ; ; ; DFSLatestClientSkus ; ; Purpose: When raising to latest.* from this branch, skus classified as ; client should be taken from this branch ; ; Example: DfsLatestClientSkus=1 ; DFSLatestClientSkus=1 ; ; ; ; ; DFSAlternateBranchName ; ; Purpose: Specifies the location off of DFSRootName for DFS links. If this ; field is not specified, the branch name is used. ; ; Example: DFSAlternateBranchName=client ; ;DFSAlternateBranchName=my_dfs_branch ; ; ; ; ; DFSAlternateLatestBranchName ; ; Purpose: Specifies the location off of DFSRootName for latest.* links in this ; branch. Raiseall uses the branch name (by default) when creating the ; numbered links, but as other scripts in the organization rely on legacy ; behavior, when creating the latest.* links an alternate path can be used. ; ; Example: DFSAlternateLatestBranchName=main ; ; ; ; ;DFSAlternateLatestBranchName=main ; ; ; ; ; BootTestMachines:::: ; ; Purpose: The machines listed in these fields will be used as boot test ; machines during the postbuild process. The machines must have ; specific settings for safe builds and startup items -- see ; AutoBootTest.cmd or contact WadeLa. The name given in this field ; must be the name of the safe build. If no field is specified for a ; given archtype and sku, no boot test is run. ; ; Example: BootTestMachines::X86FRE::per ; ; BootTestMachines::X86FRE::ads=MIKECARL2 ; ; ; ; ; AutoRaise:: ; ; Purpose: This field determines whether the given archtype will automatically ; raise when boot tests complete. THIS SHOULD BE USED ; ONLY BY THE MAIN BUILD LAB AT THIS TIME. ; ; Example: AutoRaise::IA64FRE=true ; ; AutoRaise::IA64FRE=true ; AutoRaise::IA64CHK=true ; ; ; ; ; ; PrimaryReleaseServer ; ; Purpose: If only one release server is to be raised via DFS, this field will ; denote which server will be chosen. If this field is not set, there ; is no restriction to the number of servers that will be raised. ; ; Example: PrimaryReleaseServer=2kbldx8 ; PrimaryReleaseServer=MIKECARL3 ; ; ; ; ; ; SecondaryReleaseServer ; ; Purpose: If a primary release server is selected, and has a small storage ; capacity, when builds are lowered from the primary through DFS the ; secondary release server will be raised if the lowered build is ; still present on the secondary. If no primary release server is ; given, this field has no meaning. ; ; Example: SecondaryReleaseServer=ntrelic2 ; SecondaryReleaseServer=mikerelic2 ; ; ; ; ; ; ; AlternateReleaseDir ; ; Purpose: If two branches are releasing on the same machine and you need to ; use different release locations on the build machine, set this ; parameter to the share name on the machine. ; ; Example: AlternateReleaseDir=idxrelease ; ; AlternateReleaseDir=idxrelease ; ; ; ; ; ; AlternateReleaseBranch ; ; Purpose: If you propagate builds from this branch but want them to show up ; on release servers as another branch name, set this parameter to ; the name you want to see. For instance, if idx01 releases are to ; be named "main" releases, they will show up as 2250.main.x86fre.xxxx ; ; Example: AlternateReleaseBranch=main ; ; AlternateReleaseBranch=main ; ; ; ; ; ; CreateHiddenBuilds ; ; Purpose: If you want your build machine to hide builds before releasing them ; (to prevent premature downloads etc) set this flag. ; ; Example: CreateHiddenBuilds=TRUE ; CreateHiddenBuilds=TRUE ; ; ; ; ; ; BVTMembers ; ; Purpose: If you raise through DFS and wish to set permissions on BVT shares ; to a select group of people, set their accounts here. ; ; Example: BVTMembers=ntdev\ntbuild ntdev\ntbvtest redmond\ntbvtest ; ; BVTMembers=ntdev\ntbuild ntdev\ntbvtest redmond\ntbvtest ntdev\mikecarl ; ; ; ; ; ReleaseAccess ; ; Purpose: The users or groups that should have read access to releases ; ; Example: ReleaseAccess=ntdev\ntbuild ntdev\ro_sd ntdev\rw_sd ; ; ReleaseAccess=ntdev\ntbuild ntdev\ro_sd ntdev\rw_sd ; ; ; ; ; BuildMachineReleaseAccess ; ; Purpose: The users or groups that should have read access to releases on the ; build machines. ReleaseAccess is used if this is not set. ; ; Example: BuildMachineReleaseAccess=ntdev\ntbuild ; ; BuildMachineReleaseAccess=ntdev\ntbuild ; ; ; ReleaseDrive ; ; Purpose: define release drive for each release server ; ; Example: ReleaseDrive::INTBLDS10=D ; ;ReleaseDrive::intblds10=D ;ReleaseDrive::intblds11=D ;