Bug 1527463 - Enable EME on win64-aarch64 nightlies. r=tomprince

Bug 1534522 added win64-aarch64-eme/opt builds, which are artifact builds
that glue together a win64-aarch64/opt build and a win32/opt build.

This enables EME on the corresponding nightlies in a slightly different
way:
- this adds a no-eme build that corresponds to win64-aarch64/opt.
- this turns the existing nightly into an artifact build that glues
  together that no-eme build and the win32 nightly.

The no-eme build cannot have the nightly attribute set, first because
the beetmover transform fails in that case, and because that would imply
shipping those builds, but they're not meant to be shipped this way.

It also has run-on-projects set to an empty list so that it doesn't
appear by default in `mach try fuzzy`, while still being triggered when
needed due to being a dependency of the nightly build.

It is preferable to keep the win64-aarch64{,-eme}/opt builds untouched
to make things easier for try (the win64-aarch64 ones being the main
ones to try; also, the -eme builds currently fail with --artifacts).

Ideally, like in bug 1534522, we'd add a diffoscope build to ensure
the variations between the nightly and its base no-eme build are within
control, but currently, that would trigger nightlies on every push,
which is not desirable. Ideally, they'd trigger whenever both their
dependencies are in the target task graph. We leave that to a followup.

Differential Revision: https://phabricator.services.mozilla.com/D23640
This commit is contained in:
Mike Hommey 2019-03-15 17:10:27 +09:00
Родитель 27c0bbcc88
Коммит d77900a882
1 изменённых файлов: 57 добавлений и 4 удалений

Просмотреть файл

@ -1212,6 +1212,46 @@ win64-aarch64-shippable/opt:
- win64-nasm
- win64-node
win64-aarch64-nightly-no-eme/opt:
description: "AArch64 Win64 Nightly w/o EME"
index:
product: firefox
job-name: win64-aarch64-no-eme-opt
type: nightly
attributes:
enable-full-crashsymbols: true
shipping-phase: build
shipping-product: firefox
treeherder:
platform: windows2012-aarch64/opt
symbol: Nn
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
worker:
max-run-time: 7200
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/aarch64.manifest"
PERFHERDER_EXTRA_OPTIONS: aarch64-no-eme
run:
actions: [get-secrets, build]
options: [append-env-variables-from-configs]
script: mozharness/scripts/fx_desktop_build.py
secrets: true
config:
- builds/releng_base_firefox.py
- builds/taskcluster_base_windows.py
- taskcluster_nightly.py
extra-config:
stage_platform: win64-aarch64
mozconfig_platform: win64-aarch64
run-on-projects: []
toolchains:
- win64-clang-cl
- win64-aarch64-rust
- win64-cbindgen
- win64-nasm
- win64-node
win64-aarch64-nightly/opt:
description: "AArch64 Win64 Nightly"
index:
@ -1233,6 +1273,9 @@ win64-aarch64-nightly/opt:
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/aarch64.manifest"
PERFHERDER_EXTRA_OPTIONS: aarch64
MOZ_ARTIFACT_TASK: {task-reference: '<win64-aarch64-opt>'}
MOZ_ARTIFACT_TASK_WIN32_OPT: {task-reference: '<win32-opt>'}
USE_ARTIFACT: '1'
run:
actions: [get-secrets, build]
options: [append-env-variables-from-configs]
@ -1245,11 +1288,21 @@ win64-aarch64-nightly/opt:
extra-config:
stage_platform: win64-aarch64
mozconfig_platform: win64-aarch64
dependencies:
win32-opt: build-win32-nightly/opt
win64-aarch64-opt: build-win64-aarch64-nightly-no-eme/opt
fetches:
# Abuse fetches to copy the generated-files artifact from the non-eme
# build directly to the artifacts directory of this build. Likewise
# for target.langpack.xpi
win64-aarch64-opt:
- artifact: target.generated-files.tar.gz
extract: false
dest: ../public/build
- artifact: target.langpack.xpi
extract: false
dest: ../public/build
toolchains:
- win64-clang-cl
- win64-aarch64-rust
- win64-cbindgen
- win64-nasm
- win64-node