; ; 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. ; ; ; ; ; --- BEGIN SETTINGS -- ; ; ; ; ReleaseServers:: ; ; Purpose: The ReleaseServers field is used to determine what machines to ; propagate builds to through release.pl. The may be any ; valid architecture and debug type. If no field is given for a given ; archtype, no builds are propagated for that build type. ; ; Example: ReleaseServers::IA64FRE=2kbldx1 2kbldx3 ntrelic2 2kbldx8 ; ReleaseServers::X86FRE=2kbldx2 2kbldx4 2kbldx5 ntrelic2 intblds10 ntburnlab8 ReleaseServers::X86CHK=2kbldx3 2kbldx4 ntrelic2 intblds10 ntburnlab8 ReleaseServers::IA64FRE=2kbldx2 2kbldx5 ntrelic2 intblds10 ntburnlab8 ReleaseServers::IA64CHK=2kbldx3 ntrelic2 intblds10 ntburnlab8 ; ; ; ; ; ; 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=ntrelic2 ntburnlab8 ; ; ; ; ; ; 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=\\ntdev\release ; ; ; ; ; ; EnumeratedDFSServers ; ; Purpose: This field enumerates the actual DFS servers in a domain-based DFS ; environment. This is used by raiseall.pl to write quality files ; to the DFS directory structure through a "writer$" share on the ; enumerated machines. If this field is not defined, the DFS is ; assumed to be non-domain-based, and the writer$ share will be used ; against the DFSRootName defined above. ; ; Example: EnumeratedDFSServers=winbuilds winbuilds2 winbuilds3 ; EnumeratedDFSServers=winbuilds winbuilds2 winbuilds3 ; ; ; ; ; ; SymFarm ; ; Purpose: The SymFarm field is used as a central location for all platforms ; 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=\\symsrv\symfarm ; ; ; ; 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=\\symbols\build$ ; ; ; ; ; ; 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=\\ntrelic2\semaphore ; ; ; ; ; ; 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::pro=x86boot1safe1 BootTestMachines::X86CHK::pro=x86boot2safe1 ; ; ; ; ; ; 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::NTBLD03=10 BuildMachineFreeSpace::NTBLD02=10 BuildMachineFreeSpace::IA64FRE=10 BuildMachineFreeSpace::IA64CHK=10 ; ; ; ; ; ; BuildMachineBuildsToKeep:: ; ; Purpose: This field determines how many full builds to keep on each build ; machine, no matter what. ; ; Example: BuildMachineBuildsToKeep::ROBSVBL1=6 ; BuildMachineBuildsToKeep::NTBLD03=4 BuildMachineBuildsToKeep::NTBLD02=4 BuildMachineBuildsToKeep::IA64FRE=4 BuildMachineBuildsToKeep::IA64CHK=4 ; ; ; ; ; ; 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::2kbldx2=10 ReleaseServerFreeSpace::2kbldx3=10 ReleaseServerFreeSpace::2kbldx4=10 ReleaseServerFreeSpace::2kbldx5=10 ReleaseServerFreeSpace::ntrelic2=10 ReleaseServerFreeSpace::intblds10=10 ReleaseServerFreeSpace::ntburnlab8=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::2kbldx2::X86FRE=2 ReleaseServerBuildsToKeep::2kbldx2::IA64FRE=2 ReleaseServerBuildsToKeep::2kbldx3::X86CHK=2 ReleaseServerBuildsToKeep::2kbldx3::IA64CHK=2 ReleaseServerBuildsToKeep::2kbldx4::X86FRE=2 ReleaseServerBuildsToKeep::2kbldx4::X86CHK=2 ReleaseServerBuildsToKeep::2kbldx5::X86FRE=2 ReleaseServerBuildsToKeep::2kbldx5::IA64FRE=2 ReleaseServerBuildsToKeep::ntrelic2::X86FRE=4 ReleaseServerBuildsToKeep::ntrelic2::X86CHK=4 ReleaseServerBuildsToKeep::ntrelic2::IA64FRE=4 ReleaseServerBuildsToKeep::ntrelic2::IA64CHK=4 ReleaseServerBuildsToKeep::intblds10::X86FRE=5 ReleaseServerBuildsToKeep::intblds10::X86CHK=5 ReleaseServerBuildsToKeep::intblds10::IA64FRE=5 ReleaseServerBuildsToKeep::intblds10::IA64CHK=5 ReleaseServerBuildsToKeep::ntburnlab8::X86FRE=3 ReleaseServerBuildsToKeep::ntburnlab8::X86CHK=3 ReleaseServerBuildsToKeep::ntburnlab8::IA64FRE=3 ReleaseServerBuildsToKeep::ntburnlab8::IA64CHK=3 ; ; ; ; ; AutoRaise:: ; ; Purpose: This field determines whether the given archtype will automatically ; raise via DFS before boot tests are 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=ntrelic2 ; ; ; ; ; ; 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=ntrelic2 ; ; ; ; ; ; ; 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 ; ; ; ; ; ; AlternateReleaseRemote ; ; Purpose: If two branches are releasing to the same release server and ; different branches are needed on the release server for tools ; sets to be consistent, use this field to designate a remote which ; lives in the right branch for that propagation. ; ; Example: AlternateReleaseRemote=beta1release ; ; AlternateReleaseRemote=beta1release ; ; ; ; ; 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 ;