Bug 1304998 - enable tc win pgo; r=dustin
MozReview-Commit-ID: 8X9aj19Kp13
--- a/build/mozconfig.cache
+++ b/build/mozconfig.cache
@@ -77,18 +77,21 @@ elif test -z "$CCACHE_DIR" -a -z "$SCCAC
master=dummy.usw1.mozilla.com
;;
us-west-2)
master=dummy.usw2.mozilla.com
;;
esac
fi
fi
+fi
-
+# if platform hasn't been determined from buildprops, and we're on windows,
+# it must be set to prevent adding ac_add_options --with-ccache below
+if test -z "$platform"; then
# set platform based on the SYSTEMROOT env var
case "${SYSTEMROOT}" in
*Windows)
platform=windows
;;
esac
fi
--- a/taskcluster/ci/build/windows.yml
+++ b/taskcluster/ci/build/windows.yml
@@ -33,16 +33,37 @@ win32/opt:
implementation: generic-worker
max-run-time: 7200
run:
using: mozharness
script: mozharness/scripts/fx_desktop_build.py
config:
- builds/taskcluster_firefox_win32_opt.py
+win32/pgo:
+ description: "Win32 Opt PGO"
+ index:
+ product: firefox
+ job-name:
+ gecko-v2: win32-pgo
+ treeherder:
+ platform: windows2012-32/pgo
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+ worker:
+ implementation: generic-worker
+ max-run-time: 7200
+ run:
+ using: mozharness
+ options: [enable-pgo]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_firefox_win32_opt.py
+
win64/debug:
description: "Win64 Debug"
index:
product: firefox
job-name:
gecko-v2: win64-debug
treeherder:
platform: windows2012-64/debug
@@ -73,8 +94,29 @@ win64/opt:
implementation: generic-worker
max-run-time: 7200
run:
using: mozharness
script: mozharness/scripts/fx_desktop_build.py
config:
- builds/taskcluster_firefox_win64_opt.py
+win64/pgo:
+ description: "Win64 Opt PGO"
+ index:
+ product: firefox
+ job-name:
+ gecko-v2: win64-pgo
+ treeherder:
+ platform: windows2012-64/opt
+ symbol: tc(B)
+ tier: 2
+ worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+ worker:
+ implementation: generic-worker
+ max-run-time: 7200
+ run:
+ using: mozharness
+ options: [enable-pgo]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_firefox_win64_opt.py
+
--- a/taskcluster/taskgraph/transforms/gecko_v2_whitelist.py
+++ b/taskcluster/taskgraph/transforms/gecko_v2_whitelist.py
@@ -58,18 +58,20 @@ JOB_NAME_WHITELIST = set([
'sm-nonunified-debug',
'sm-package-opt',
'sm-plaindebug-debug',
'sm-plain-opt',
'sm-rootanalysis-debug',
'sm-tsan-opt',
'win32-debug',
'win32-opt',
+ 'win32-pgo',
'win64-debug',
'win64-opt',
+ 'win64-pgo',
])
JOB_NAME_WHITELIST_ERROR = """\
The gecko-v2 job name {} is not in the whitelist in __file__.
If this job runs on Buildbot, please ensure that the job names match between
Buildbot and TaskCluster, then add the job name to the whitelist. If this is a
new job, there is nothing to check -- just add the job to the whitelist.
"""
--- a/taskcluster/taskgraph/transforms/job/mozharness.py
+++ b/taskcluster/taskgraph/transforms/job/mozharness.py
@@ -148,17 +148,17 @@ def mozharness_on_docker_worker_setup(co
# We use the generic worker to run tasks on Windows
@run_job_using("generic-worker", "mozharness", schema=mozharness_run_schema)
def mozharness_on_windows(config, job, taskdesc):
run = job['run']
# fail if invalid run options are included
invalid = []
- for prop in ['actions', 'options', 'custom-build-variant-cfg',
+ for prop in ['actions', 'custom-build-variant-cfg',
'tooltool-downloads', 'secrets', 'taskcluster-proxy',
'need-xvfb']:
if prop in run and run[prop]:
invalid.append(prop)
if not run.get('keep-artifacts', True):
invalid.append('keep-artifacts')
if invalid:
raise Exception("Jobs run using mozharness on Windows do not support properties " +
@@ -182,15 +182,17 @@ def mozharness_on_windows(config, job, t
})
mh_command = [r'c:\mozilla-build\python\python.exe']
mh_command.append('\\'.join([r'.\build\src\testing', run['script'].replace('/', '\\')]))
for cfg in run['config']:
mh_command.append('--config ' + cfg.replace('/', '\\'))
mh_command.append('--branch ' + config.params['project'])
mh_command.append(r'--skip-buildbot-actions --work-dir %cd:Z:=z:%\build')
+ for option in run.get('options', []):
+ mh_command.append('--' + option)
hg = r'c:\Program Files\Mercurial\hg.exe'
worker['command'] = [
r'mkdir .\build\src',
r'"{}" share c:\builds\hg-shared\mozilla-central .\build\src'.format(hg),
r'"{}" pull -u -R .\build\src --rev %GECKO_HEAD_REV% %GECKO_HEAD_REPOSITORY%'.format(hg),
' '.join(mh_command),
]