ReleaseEngineering/How To/Add a new type of build
When you're going to add a new build it is different than adding a new test to an existing platform/build. It is much more involved.
Here are some tips:
- Add a new entry to PLATFORM_VARS (e.g. 'linux64-mulet') to mozilla/config.py
- Determining which values to set and what value is very hard; see table below to hope to figure it out
- Add your build to mozilla/project-branches.py
- Use lock_platforms and a 'platforms' dict with the key for your platform
Some of this information might be useful. I'm only documenting the ones that are likely to be needed. NOTE: There are a lot of other variables that are deprecated or not needed for most cases. NOTE2: Setting a build for b2g might need a different set of needed values. NOTE3: This is very likely to get out of date, however, it is better than nothing
|Look at other code blocks for possible values.
|This generates the builder name. If you use "%(platform)s_%(branch)s" you will get something like this "linux64-mulet_fig_dep"
|This is on which platform it will run. See other jobs to determine your right value. "mock" represents the Linux 64-bit pool.
|It determine where on the "stage" server we will upload the builds -> http://stage.mozilla.org/pub/mozilla.org/%(stage_product)s/tinderbox-builds/%(branch)s-%(stage_platform)s
|* in_tree: If you use it then you need to also set the path to the mozconfig on the actual tree
|Path to mozconfig
|If the value is set to "False" then using "-p all" on developer's TrySyntax will not trigger this build
|Should this platform determine if we should trigger a nightly build? (see this code)
|Possible known values are: mozilla-centos6-i386 and mozilla-centos6-x86_64
Add tests for your new build
- In mozilla-tests/config.py add a new entry for PLATFORMS and BRANCH_UNITTESTS_VARS
- Create the associated PLATFORMS block
- The key to this entry must be the same one as specified as "unitest_platform" in your mozilla/config.py values
- For 'slave_platforms' you can re-use the one of another platform
- This will save you having to make changes to BuildSlaves.py and others