469 lines
12 KiB
INI
469 lines
12 KiB
INI
;
|
|
; 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::<archtype>
|
|
;
|
|
; 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::<machine name>
|
|
;
|
|
; 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::<machine name>
|
|
;
|
|
; 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::<archtype>
|
|
;
|
|
; 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::<archtype>
|
|
;
|
|
; 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::<machine name>
|
|
;
|
|
; 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::<machine name>::<archtype>
|
|
;
|
|
; 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::<machine name>
|
|
;
|
|
; 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::<machine name>::<ArchType>
|
|
;
|
|
; 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::<machine name>
|
|
;
|
|
; 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::<archtype>::<sku>
|
|
;
|
|
; 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::<archtype>
|
|
;
|
|
; 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
|
|
;
|
|
|