buildbot-helpers/mozconfig_whitelist
author Sylvestre Ledru <sledru@mozilla.com>
Mon, 08 Dec 2014 17:49:00 +0100
changeset 5253 6eef74637b03f15198d6082f7123a3dce426fb1b
parent 5233 6eded46827acb9dee687add1cb956aac2cb5f4a6
permissions -rw-r--r--
use retry_exceptions (bis)

# 'nightly' contains things that are in nightly mozconfigs and allowed to be missing from release builds.
# Other keys in whitelist contain things are in that branches mozconfigs and allowed to be missing from nightly builds.
whitelist = {
    'mozilla-release': {},
    'mozilla-esr31': {},
    'mozilla-beta': {},
    'comm-beta': {},
    'comm-esr31': {},
    'nightly': {},
    }

all_platforms = ['win32', 'linux', 'linux64', 'macosx64', 'android', 'android-armv6', 'android-x86']

for platform in all_platforms:
    whitelist['nightly'][platform] = [
        'ac_add_options --enable-update-channel=nightly',
        'mk_add_options CLIENT_PY_ARGS="--hg-options=\'--verbose --time\' --hgtool=../tools/buildfarm/utils/hgtool.py --skip-chatzilla --skip-comm --skip-inspector --skip-venkman --tinderbox-print"'
    ]

for platform in ['linux', 'linux64']:
    whitelist['nightly'][platform] += [
        'ac_add_options --disable-elf-hack # --enable-elf-hack conflicts with --enable-profiling',
        '. "$topsrcdir/build/mozconfig.cache"',
    ]

for platform in ['linux', 'linux64', 'macosx64']:
    whitelist['nightly'][platform] += [
        'ac_add_options --enable-codesighs',
        'mk_add_options MOZ_MAKE_FLAGS="-j4"',
    ]

for platform in ['linux', 'linux64', 'macosx64', 'win32']:
    whitelist['nightly'][platform] += ['ac_add_options --enable-signmar']
    whitelist['nightly'][platform] += ['ac_add_options --enable-js-diagnostics']

whitelist['nightly']['linux'] += [
    'CXX=$REAL_CXX',
    'CXX="ccache $REAL_CXX"',
    'CC="ccache $REAL_CC"',
    'mk_add_options PROFILE_GEN_SCRIPT=@TOPSRCDIR@/build/profile_pageloader.pl',
    'ac_add_options --with-ccache=/usr/bin/ccache',
    'export MOZILLA_OFFICIAL=1',
    'export MOZ_TELEMETRY_REPORTING=1',
    "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
    'STRIP_FLAGS="--strip-debug"',
]

whitelist['nightly']['linux64'] += [
    'export MOZILLA_OFFICIAL=1',
    'export MOZ_TELEMETRY_REPORTING=1',
    "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
    'STRIP_FLAGS="--strip-debug"',
    'ac_add_options --with-ccache=/usr/bin/ccache',
]

whitelist['nightly']['macosx64'] += [
    'if test "${MOZ_UPDATE_CHANNEL}" = "nightly"; then',
    'ac_add_options --with-macbundlename-prefix=Firefox',
    'fi',
    'mk_add_options MOZ_MAKE_FLAGS="-j12"',
    'ac_add_options --with-ccache',
    'ac_add_options --disable-install-strip',
    'ac_add_options --enable-instruments',
    'ac_add_options --enable-dtrace',
]

whitelist['nightly']['win32'] += [
    '. $topsrcdir/configs/mozilla2/win32/include/choose-make-flags',
    'mk_add_options MOZ_MAKE_FLAGS=-j1',
    'if test "$IS_NIGHTLY" != ""; then',
    'ac_add_options --disable-auto-deps',
    'fi',
    'ac_add_options --enable-metro',
    '. "$topsrcdir/build/mozconfig.cache"',
]

whitelist['nightly']['android'] += [
    'ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}',
    'ac_add_options --enable-warnings-as-errors',
    'ac_add_options --with-ccache=/usr/bin/ccache',
    'ac_add_options --enable-profiling',
    'ac_add_options --disable-elf-hack # --enable-elf-hack conflicts with --enable-profiling',
    'STRIP_FLAGS="--strip-debug"',
]

whitelist['nightly']['android-armv6'] += [
    'ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}',
    'ac_add_options --enable-warnings-as-errors',
    'ac_add_options --with-ccache=/usr/bin/ccache',
]

whitelist['nightly']['android-x86'] += [
    'ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}',
    'ac_add_options --enable-warnings-as-errors',
    'ac_add_options --with-ccache=/usr/bin/ccache',
    'ac_add_options --enable-profiling',
    'ac_add_options --disable-elf-hack # --enable-elf-hack conflicts with --enable-profiling',
    'STRIP_FLAGS="--strip-debug"',
]

for branch in ('mozilla-beta', 'comm-beta'):
    for platform in all_platforms:
        whitelist[branch][platform] = [
            'ac_add_options --enable-update-channel=beta',
            'ac_add_options --enable-official-branding',
            'mk_add_options MOZ_MAKE_FLAGS="-j4"',
        ]
    whitelist[branch]['linux'] += [
        'export MOZILLA_OFFICIAL=1',
        'export MOZ_TELEMETRY_REPORTING=1',
        'mk_add_options MOZ_PGO=1',
        "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
    ]
    whitelist[branch]['linux64'] += [
        'export MOZILLA_OFFICIAL=1',
        'export MOZ_TELEMETRY_REPORTING=1',
        'mk_add_options MOZ_PGO=1',
        "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
    ]
    whitelist[branch]['win32'] += ['mk_add_options MOZ_PGO=1']
    whitelist[branch]['android'] += ['ac_add_options --enable-updater']
    whitelist[branch]['android-armv6'] += ['ac_add_options --enable-updater']
    whitelist[branch]['android-x86'] += ['ac_add_options --enable-updater']


for branch in ('mozilla-release', 'comm-esr31'):
    for platform in all_platforms:
        whitelist[branch][platform] = [
            'ac_add_options --enable-update-channel=release',
            'ac_add_options --enable-official-branding',
            'mk_add_options MOZ_MAKE_FLAGS="-j4"',
            'export BUILDING_RELEASE=1',
        ]
    whitelist[branch]['win32'] += ['mk_add_options MOZ_PGO=1',]
    whitelist[branch]['linux'] += [
        'export MOZILLA_OFFICIAL=1',
        'export MOZ_TELEMETRY_REPORTING=1',
        'mk_add_options MOZ_PGO=1',
        "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
    ]
    whitelist[branch]['linux64'] += [
        'export MOZILLA_OFFICIAL=1',
        'export MOZ_TELEMETRY_REPORTING=1',
        'mk_add_options MOZ_PGO=1',
        "mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) @MOZ_OBJDIR@/_profile/pgo/profileserver.py 10'",
    ]
    whitelist[branch]['android'] += ['ac_add_options --enable-updater']
    whitelist[branch]['android-armv6'] += ['ac_add_options --enable-updater']
    whitelist[branch]['android-x86'] += ['ac_add_options --enable-updater']


for branch in ('mozilla-esr31',):
    for platform in all_platforms:
        whitelist[branch][platform] = [
            'ac_add_options --enable-official-branding',
            'mk_add_options MOZ_PGO=1',
            'export BUILDING_RELEASE=1',
        ]
whitelist['mozilla-esr31']['android-armv6'] += ['ac_add_options --enable-updater']

if __name__ == '__main__':
    import pprint
    pprint.pprint(whitelist)