gecko-dev/taskcluster/scripts/misc/run-profileserver.sh
Mike Shal 8e7f2fc16c Bug 1507334 - Taskcluster configurations for 3-tier PGO; r=tomprince,firefox-build-system-reviewers,chmanchester#firefox-build-system-reviewers
Two new kinds are introduced - 'instrumented-build' and
'generate-profile'. The instrumented-build kind is almost identical to
the build kind, except it can be used earlier in the task graph. The
3-tier PGO process becomes:

instrumented-build -> generate-profile -> build

The final build stage is identical to any other build, except it has
the 'use-pgo' flag set to True in its task definition. This flag causes
the transforms to add the instrumented-build and generate-profile tasks
to the taskgraph.

Differential Revision: https://phabricator.services.mozilla.com/D15750

--HG--
extra : moz-landing-system : lando
2019-01-10 01:34:58 +00:00

36 lines
812 B
Bash
Executable file

#! /bin/bash -vex
set -x -e
echo "running as" $(id)
####
# Taskcluster friendly wrapper for running the profileserver
####
PGO_RUNDIR=/builds/worker/workspace/build/src/obj-firefox/dist
export UPLOAD_PATH=$HOME/artifacts
export JARLOG_FILE="en-US.log"
set -v
# run XVfb in the background
. /builds/worker/scripts/xvfb.sh
cleanup() {
local rv=$?
cleanup_xvfb
exit $rv
}
trap cleanup EXIT INT
start_xvfb '1024x768x24' 2
cd /builds/worker/checkouts/gecko
# Move our fetched firefox into objdir/dist so the jarlog entries will match
# the paths when the final PGO stage packages the build.
mkdir -p $PGO_RUNDIR
mv $MOZ_FETCHES_DIR/firefox $PGO_RUNDIR
./mach python build/pgo/profileserver.py --binary $PGO_RUNDIR/firefox/firefox
tar -acvf $UPLOAD_PATH/profdata.tar.xz default.profraw en-US.log