author | Dave Hunt <dhunt@mozilla.com> |
Mon, 23 Apr 2018 14:32:05 +0100 | |
changeset 416922 | e44aec7efe71372d2178985a040f09a1a2717fec |
parent 416921 | daaa9249868c10c860c20c14d4e939d67a419da3 |
child 416923 | abdaa1f91c4c9ec56f77af5c9310eb20e84b6b8d |
push id | 33943 |
push user | csabou@mozilla.com |
push date | Fri, 04 May 2018 17:19:55 +0000 |
treeherder | mozilla-central@ef1db4e8bf06 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | dustin, ted |
bugs | 1455570 |
milestone | 61.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/build/mach_bootstrap.py +++ b/build/mach_bootstrap.py @@ -50,16 +50,17 @@ MACH_MODULES = [ 'testing/awsy/mach_commands.py', 'testing/firefox-ui/mach_commands.py', 'testing/geckodriver/mach_commands.py', 'testing/mach_commands.py', 'testing/marionette/mach_commands.py', 'testing/mochitest/mach_commands.py', 'testing/mozharness/mach_commands.py', 'testing/raptor/mach_commands.py', + 'testing/tps/mach_commands.py', 'testing/talos/mach_commands.py', 'testing/web-platform/mach_commands.py', 'testing/xpcshell/mach_commands.py', 'tools/compare-locales/mach_commands.py', 'tools/docs/mach_commands.py', 'tools/lint/mach_commands.py', 'tools/mach_commands.py', 'tools/power/mach_commands.py',
new file mode 100644 --- /dev/null +++ b/build/sparse-profiles/tps @@ -0,0 +1,5 @@ +%include build/sparse-profiles/mach + +[include] +path:services/sync/tps/ +path:testing/tps/
new file mode 100644 --- /dev/null +++ b/taskcluster/ci/addon/kind.yml @@ -0,0 +1,39 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +loader: taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.job:transforms + - taskgraph.transforms.task:transforms + +jobs: + tps-xpi: + description: Build the TPS add-on + index: + product: firefox + job-name: addons.tps + treeherder: + platform: linux64/opt + symbol: TPS(addon) + kind: build + tier: 1 + run-on-projects: [mozilla-central] + worker-type: aws-provisioner-v1/gecko-{level}-b-linux + worker: + docker-image: {in-tree: debian7-amd64-build} + max-run-time: 1800 + artifacts: + - type: file + name: public/tps.xpi + path: /builds/worker/checkouts/gecko/tps-out/tps.xpi + run: + using: run-task + command: > + cd /builds/worker/checkouts/gecko && + ./mach tps-build --dest tps-out + sparse-profile: tps + when: + files-changed: + - 'services/sync/tps/extensions/tps/**'
--- a/taskcluster/ci/config.yml +++ b/taskcluster/ci/config.yml @@ -57,16 +57,17 @@ treeherder: 'Searchfox': 'Searchfox builds' 'SM': 'Spidermonkey builds' 'pub': 'APK publishing' 'p': 'Partial generation' 'ps': 'Partials signing' 'Rel': 'Release promotion' 'Snap': 'Snap image generation' 'langpack': 'Langpack sigatures and uploads' + 'TPS': 'Sync tests' index: products: - 'firefox' - 'fennec' - 'mobile' - 'static-analysis' - 'devedition'
--- a/taskcluster/docs/kinds.rst +++ b/taskcluster/docs/kinds.rst @@ -457,8 +457,12 @@ packages -------- Tasks used to build packages for use in docker images. diffoscope ---------- Tasks used to compare pairs of Firefox builds using https://diffoscope.org/. As of writing, this is mainly meant to be used in try builds, by editing taskcluster/ci/diffoscope/kind.yml for your needs. + +addon +----- +Tasks used to build/package add-ons.
new file mode 100644 --- /dev/null +++ b/testing/tps/mach_commands.py @@ -0,0 +1,32 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, # You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import absolute_import, print_function +import os + +from mach.decorators import Command, CommandArgument, CommandProvider +from mozbuild.base import MachCommandBase +from mozpack.copier import Jarrer +from mozpack.files import FileFinder + + +@CommandProvider +class MachCommands(MachCommandBase): + """TPS tests for Sync.""" + + @Command('tps-build', category='testing', description='Build TPS add-on.') + @CommandArgument('--dest', default=None, help='Where to write add-on.') + def build(self, dest): + src = os.path.join(self.topsrcdir, 'services', 'sync', 'tps', 'extensions', 'tps') + dest = os.path.join(dest or os.path.join(self.topobjdir, 'services', 'sync'), 'tps.xpi') + + if not os.path.exists(os.path.dirname(dest)): + os.makedirs(os.path.dirname(dest)) + + jarrer = Jarrer(optimize=False) + for p, f in FileFinder(src).find('*'): + jarrer.add(p, f) + jarrer.copy(dest) + + print('Built TPS add-on as %s' % dest)