mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-11 21:58:41 +02:00
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
36 lines
812 B
Bash
Executable file
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
|