#!/bin/bash set -e set -x srcdir=$PWD/src objdir=${MOZ_OBJDIR-objdir} # If the objdir is a relative path, it is relative to the srcdir. case "$objdir" in /*) ;; *) objdir="$srcdir/$objdir" ;; esac if [ ! -d $objdir ]; then mkdir $objdir fi cd $objdir if [ "`uname -m`" = "x86_64" ]; then _arch=64 else _arch=32 fi TOOLTOOL_MANIFEST=browser/config/tooltool-manifests/linux${_arch}/releng.manifest TOOLTOOL_SERVER=https://api.pub.build.mozilla.org/tooltool/ (cd $srcdir; python /builds/tooltool.py --url $TOOLTOOL_SERVER --overwrite -m $TOOLTOOL_MANIFEST fetch ${TOOLTOOL_CACHE:+ -c ${TOOLTOOL_CACHE}}) || exit 2 # Note: an exit code of 2 turns the job red on TBPL. MOZCONFIG=$srcdir/browser/config/mozconfigs/linux${_arch}/valgrind make -f $srcdir/client.mk configure || exit 2 make -j4 || exit 2 make package || exit 2 # We need to set MOZBUILD_STATE_PATH so that |mach| skips its first-run # initialization step and actually runs the |valgrind-test| command. export MOZBUILD_STATE_PATH=. # |mach valgrind-test|'s exit code will be 1 (which turns the job orange on # TBPL) if Valgrind finds errors, and 2 (which turns the job red) if something # else goes wrong, such as Valgrind crashing. python2.7 $srcdir/mach valgrind-test exit $?