From 4f5829a3b9ed3108e59e7693a30ead0fd1f8aac2 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Tue, 19 Sep 2023 08:29:07 +0000 Subject: [PATCH] Bug 1853088 - Remove win32 build from aarch64 windows builds. r=firefox-build-system-reviewers,media-playback-reviewers,taskgraph-reviewers,ahochheiden,gbrown,padenot Now that we have a native aarch64 gmp plugin for widevine, we can revert bug 1529194, bug 1527463, bug 1534522, bug 1607552. Differential Revision: https://phabricator.services.mozilla.com/D188300 --- Makefile.in | 7 - .../mozconfigs/win64-aarch64/common-opt | 4 +- browser/installer/Makefile.in | 4 - browser/installer/allowed-dupes.mn | 5 - browser/installer/package-manifest.in | 17 -- build/mozconfig.artifact | 6 +- config/baseconfig.mk | 5 +- taskcluster/ci/build/windows.yml | 269 +----------------- taskcluster/ci/diffoscope/artifacts.yml | 23 +- toolkit/moz.configure | 19 +- 10 files changed, 19 insertions(+), 340 deletions(-) diff --git a/Makefile.in b/Makefile.in index b5ecb8ca222e..d417b0b39513 100644 --- a/Makefile.in +++ b/Makefile.in @@ -113,13 +113,6 @@ endif recurse_artifact: $(PYTHON3) $(topsrcdir)/mach --log-no-times artifact install$(if $(MOZ_ARTIFACT_BUILD_SYMBOLS), --symbols$(addprefix =,$(filter full,$(MOZ_ARTIFACT_BUILD_SYMBOLS)))) $(if $(ENABLE_TESTS),,--no-tests) $(verbose_flag) -ifdef MOZ_EME_WIN32_ARTIFACT -recurse_win32-artifact: - rm -rf $(DIST)/i686 - $(PYTHON3) $(topsrcdir)/mach --log-no-times artifact install --job win32-opt --no-tests --distdir $(DIST)/i686 $(verbose_flag) - mv $(DIST)/i686/bin/* $(DIST)/i686 -endif - ifdef MOZ_ANDROID_FAT_AAR_ARCHITECTURES recurse_android-fat-aar-artifact: $(call py_action,fat_aar,\ diff --git a/browser/config/mozconfigs/win64-aarch64/common-opt b/browser/config/mozconfigs/win64-aarch64/common-opt index 302382a7559f..a15ec59a22e6 100644 --- a/browser/config/mozconfigs/win64-aarch64/common-opt +++ b/browser/config/mozconfigs/win64-aarch64/common-opt @@ -21,6 +21,4 @@ export MOZILLA_OFFICIAL=1 # Package js shell. export MOZ_PACKAGE_JSSHELL=1 -if test -n "$MOZ_ARTIFACT_TASK_WIN32_OPT"; then - ac_add_options --enable-eme=widevine -fi +ac_add_options --enable-eme=widevine diff --git a/browser/installer/Makefile.in b/browser/installer/Makefile.in index b8d718a06cc2..2453b22589ad 100644 --- a/browser/installer/Makefile.in +++ b/browser/installer/Makefile.in @@ -49,10 +49,6 @@ ifdef MOZ_ARTIFACT_BUILDS DEFINES += -DMOZ_ARTIFACT_BUILDS=1 endif -ifdef MOZ_EME_WIN32_ARTIFACT -DEFINES += -DMOZ_EME_WIN32_ARTIFACT=1 -endif - DEFINES += -DJAREXT= ifdef MOZ_ANGLE_RENDERER diff --git a/browser/installer/allowed-dupes.mn b/browser/installer/allowed-dupes.mn index 93e7dbae2281..bae6d0c5be1e 100644 --- a/browser/installer/allowed-dupes.mn +++ b/browser/installer/allowed-dupes.mn @@ -71,11 +71,6 @@ browser/features/webcompat@mozilla.org/shims/empty-shim.txt removed-files #endif -#ifdef MOZ_EME_WIN32_ARTIFACT -gmp-clearkey/0.1/manifest.json -i686/gmp-clearkey/0.1/manifest.json -#endif - # Bug 1496075 - Switch searchplugins to Web Extensions browser/chrome/browser/search-extensions/amazon/favicon.ico browser/chrome/browser/search-extensions/amazondotcn/favicon.ico diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in index 307ab0bdf1aa..0dfc5502ef59 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in @@ -450,23 +450,6 @@ bin/libfreebl_64int_3.so @BINPATH@/default-browser-agent@BIN_SUFFIX@ #endif -#ifdef MOZ_EME_WIN32_ARTIFACT -i686/plugin-container.exe -i686/xul.dll -i686/nss3.dll -i686/mozglue.dll -i686/lgpllibs.dll -i686/gkcodecs.dll -i686/msvcp140.dll -i686/vcruntime140.dll -i686/vcruntime140_1.dll -i686/gmp-clearkey/0.1/clearkey.dll -[eme destdir="i686"] -; We assume the file we generate locally is the same as what was in the win32 -; build, which, practically speaking, is the case. -@BINPATH@/gmp-clearkey/0.1/manifest.json -#endif - #ifdef MOZ_ARTIFACT_BUILDS ; Test workers unpack artifact build packages and need `jogfile.json` @BINPATH@/jogfile.json diff --git a/build/mozconfig.artifact b/build/mozconfig.artifact index b2b12d0faf50..8a4d72571449 100644 --- a/build/mozconfig.artifact +++ b/build/mozconfig.artifact @@ -2,10 +2,6 @@ # Enable the artifact build. ac_add_options --enable-artifact-builds -if test -n "$MOZ_ARTIFACT_TASK_WIN32_OPT" -a -n "$MOZ_ENABLE_FULL_SYMBOLS"; then - ac_add_options --enable-artifact-build-symbols=full -else - ac_add_options --enable-artifact-build-symbols -fi +ac_add_options --enable-artifact-build-symbols . "$topsrcdir/build/mozconfig.no-compile" diff --git a/config/baseconfig.mk b/config/baseconfig.mk index 8f3e920516c7..62024420cd5e 100644 --- a/config/baseconfig.mk +++ b/config/baseconfig.mk @@ -43,7 +43,7 @@ ifeq ($(MOZ_BUILD_APP),tools/rusttests) ALL_TIERS := pre-export export rusttests else # All possible tiers -ALL_TIERS := artifact win32-artifact android-fat-aar-artifact pre-export export pre-compile rust compile misc libs android-stage-package android-archive-geckoview tools check +ALL_TIERS := artifact android-fat-aar-artifact pre-export export pre-compile rust compile misc libs android-stage-package android-archive-geckoview tools check endif # All tiers that may be used manually via `mach build $tier` @@ -51,9 +51,6 @@ RUNNABLE_TIERS := $(ALL_TIERS) ifndef MOZ_ARTIFACT_BUILDS RUNNABLE_TIERS := $(filter-out artifact,$(RUNNABLE_TIERS)) endif -ifndef MOZ_EME_WIN32_ARTIFACT -RUNNABLE_TIERS := $(filter-out win32-artifact,$(RUNNABLE_TIERS)) -endif ifndef MOZ_ANDROID_FAT_AAR_ARCHITECTURES RUNNABLE_TIERS := $(filter-out android-fat-aar-artifact,$(RUNNABLE_TIERS)) endif diff --git a/taskcluster/ci/build/windows.yml b/taskcluster/ci/build/windows.yml index 5442211dca4c..e37ca00981e4 100644 --- a/taskcluster/ci/build/windows.yml +++ b/taskcluster/ci/build/windows.yml @@ -1429,10 +1429,6 @@ win64-aarch64/opt: attributes: enable-build-signing: true enable-full-crashsymbols: true - # We need to package tests in order for the win64-aarch64-eme artifact - # build to fetch them, even though no tests run against this task - # directly. - skip-verify-test-packaging: true treeherder: platform: windows2012-aarch64/opt symbol: B @@ -1442,7 +1438,6 @@ win64-aarch64/opt: max-run-time: 7200 env: PERFHERDER_EXTRA_OPTIONS: aarch64 - MOZ_AUTOMATION_PACKAGE_TESTS: "1" run: actions: [get-secrets, build] options: [append-env-variables-from-configs] @@ -1477,49 +1472,9 @@ win64-aarch64/opt: optimization: skip-unless-expanded: null -win64-aarch64-eme/opt: - description: "AArch64 Win64 Opt w/ EME" - index: - product: firefox - job-name: win64-aarch64-eme-opt - treeherder: - platform: windows2012-aarch64/opt - symbol: Be - tier: 1 - worker-type: b-linux-gcp - worker: - max-run-time: 7200 - env: - PERFHERDER_EXTRA_OPTIONS: aarch64-eme - MOZ_ARTIFACT_TASK: {task-reference: ''} - MOZ_ARTIFACT_TASK_WIN32_OPT: {task-reference: ''} - USE_ARTIFACT: '1' - 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/releng_base_linux_64_builds.py - extra-config: - stage_platform: win64-aarch64 - mozconfig_platform: win64-aarch64 - dependencies: - win32-opt: build-win32/opt - win64-aarch64-opt: build-win64-aarch64/opt - fetches: - toolchain: - - linux64-node - - linux64-wine - - nsis - fetch: - - upx-3.95-win - optimization: - skip-unless-expanded: null - win64-aarch64-shippable/opt: description: "AArch64 Win64 Shippable" + use-pgo: win64-shippable/opt index: product: firefox job-name: win64-aarch64-opt @@ -1527,118 +1482,17 @@ win64-aarch64-shippable/opt: attributes: shippable: true enable-full-crashsymbols: true - # Skip the test packaging check because we copy test packages from - # another build task rather than generating them in this task. - skip-verify-test-packaging: true shipping-phase: build shipping-product: firefox treeherder: platform: windows2012-aarch64-shippable/opt - symbol: B + symbol: Bpgo(B) tier: 1 - worker-type: b-linux-gcp + run-on-projects: ['release'] + worker-type: b-linux-xlarge-gcp worker: - max-run-time: 7200 + max-run-time: 10800 env: - PERFHERDER_EXTRA_OPTIONS: aarch64 - MOZ_ARTIFACT_TASK: {task-reference: ''} - MOZ_ARTIFACT_TASK_WIN32_OPT: {task-reference: ''} - USE_ARTIFACT: '1' - 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/releng_base_linux_64_builds.py - - taskcluster_nightly.py - extra-config: - stage_platform: win64-aarch64 - mozconfig_platform: win64-aarch64 - dependencies: - win32-opt: build-win32-shippable/opt - win64-aarch64-opt: build-win64-aarch64-shippable-no-eme/opt - fetches: - # Abuse fetches to copy the generated-files, langpack, and test - # artifacts from the non-eme build directly to the artifacts directory - # of this build. - win64-aarch64-opt: - - artifact: target.test_packages.json - extract: false - dest: ../artifacts - - artifact: target.common.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.cppunittest.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.mochitest.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.reftest.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.talos.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.raptor.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.condprof.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.awsy.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.xpcshell.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.web-platform.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.updater-dep.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.generated-files.tar.gz - extract: false - dest: ../artifacts - - artifact: target.langpack.xpi - extract: false - dest: ../artifacts - toolchain: - - linux64-node - - linux64-wine - - nsis - fetch: - - upx-3.95-win - optimization: - skip-unless-expanded: null - -win64-aarch64-shippable-no-eme/opt: - description: "AArch64 Win64 Shippable w/o EME" - use-pgo: win64-shippable/opt - index: - product: firefox - job-name: win64-aarch64-no-eme-opt - type: shippable - attributes: - enable-full-crashsymbols: true - # We need to package tests in order for the actual - # win64-aarch64-shippable/opt build to copy them from this task, even - # though no tests run against this task directly. - skip-verify-test-packaging: true - shipping-phase: build - shipping-product: firefox - treeherder: - platform: windows2012-aarch64/opt - symbol: Nn - tier: 1 - worker-type: b-linux-gcp - worker: - max-run-time: 7200 - env: - PERFHERDER_EXTRA_OPTIONS: aarch64-no-eme MOZ_AUTOMATION_PACKAGE_TESTS: "1" run: actions: [get-secrets, build] @@ -1652,7 +1506,7 @@ win64-aarch64-shippable-no-eme/opt: extra-config: stage_platform: win64-aarch64 mozconfig_platform: win64-aarch64 - run-on-projects: ['all'] + max_build_output_timeout: 3600 fetches: toolchain: - linux64-clang @@ -1670,11 +1524,10 @@ win64-aarch64-shippable-no-eme/opt: - vs fetch: - upx-3.95-win - optimization: - skip-unless-expanded: null win64-aarch64-devedition/opt: description: "AArch64 Win64 Dev Edition (shippable)" + use-pgo: win64-shippable/opt index: product: devedition job-name: win64-aarch64-opt @@ -1682,117 +1535,16 @@ win64-aarch64-devedition/opt: attributes: shippable: true enable-full-crashsymbols: true - # Skip the test packaging check because we copy test packages from - # another build task rather than generating them in this task. - skip-verify-test-packaging: true shipping-phase: build shipping-product: devedition treeherder: platform: windows2012-aarch64-devedition/opt - symbol: B + symbol: Bpgo(B) tier: 1 - worker-type: b-linux-gcp + worker-type: b-linux-xlarge-gcp worker: - max-run-time: 7200 + max-run-time: 10800 env: - MOZ_ARTIFACT_TASK: {task-reference: ''} - MOZ_ARTIFACT_TASK_WIN32_OPT: {task-reference: ''} - USE_ARTIFACT: '1' - 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/releng_base_linux_64_builds.py - - taskcluster_nightly.py - extra-config: - stage_platform: win64-aarch64-devedition - mozconfig_platform: win64-aarch64 - mozconfig-variant: devedition - run-on-projects: ['mozilla-beta'] - dependencies: - win32-opt: build-win32-devedition/opt - win64-aarch64-opt: build-win64-aarch64-devedition-no-eme/opt - fetches: - # Abuse fetches to copy the generated-files, langpack, and test - # artifacts from the non-eme build directly to the artifacts directory - # of this build. - win64-aarch64-opt: - - artifact: target.test_packages.json - extract: false - dest: ../artifacts - - artifact: target.common.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.cppunittest.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.mochitest.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.reftest.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.talos.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.raptor.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.condprof.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.awsy.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.xpcshell.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.web-platform.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.updater-dep.tests.tar.gz - extract: false - dest: ../artifacts - - artifact: target.generated-files.tar.gz - extract: false - dest: ../artifacts - - artifact: target.langpack.xpi - extract: false - dest: ../artifacts - toolchain: - - linux64-node - - linux64-wine - - nsis - fetch: - - upx-3.95-win - -win64-aarch64-devedition-no-eme/opt: - description: "AArch64 Win64 Dev Edition w/o EME" - use-pgo: win64-shippable/opt - index: - product: devedition - job-name: win64-aarch64-no-eme-opt - type: shippable - attributes: - enable-full-crashsymbols: true - # We need to package tests in order for the actual - # win64-aarch64-devedition/opt build to copy them from this task, even - # though no tests run against this task directly. - skip-verify-test-packaging: true - shipping-phase: build - shipping-product: devedition - treeherder: - platform: windows2012-aarch64-devedition/opt - symbol: Nn - tier: 1 - worker-type: b-linux-gcp - worker: - max-run-time: 7200 - env: - PERFHERDER_EXTRA_OPTIONS: aarch64-no-eme MOZ_AUTOMATION_PACKAGE_TESTS: "1" run: actions: [get-secrets, build] @@ -1806,6 +1558,7 @@ win64-aarch64-devedition-no-eme/opt: extra-config: stage_platform: win64-aarch64 mozconfig_platform: win64-aarch64 + max_build_output_timeout: 3600 mozconfig-variant: devedition run-on-projects: ['mozilla-beta'] fetches: diff --git a/taskcluster/ci/diffoscope/artifacts.yml b/taskcluster/ci/diffoscope/artifacts.yml index 2a0f16a099e3..f798dde3484a 100644 --- a/taskcluster/ci/diffoscope/artifacts.yml +++ b/taskcluster/ci/diffoscope/artifacts.yml @@ -7,7 +7,7 @@ job-defaults: fail-on-diff: true pre-diff-commands: # jogfile.json is only created in artifact builds. - - rm -f b/"$RESOURCE_DIR"/jogfile.json + - rm b/"$RESOURCE_DIR"/jogfile.json # Remove noise from differences in line numbers in preprocessor output # due to #if/#else branches. - sed -i '/^\/\/@line /d' {a,b}/"$RESOURCE_DIR"/browser/defaults/preferences/firefox.js @@ -47,24 +47,3 @@ artifact-win64-validation: extra-args: >- --exclude b/"$RESOURCE_DIR"/chrome/toolkit/content/global/buildconfig.html --exclude b/firefox/uninstall/helper.exe - -artifact-win64-aarch64-eme-validation: - symbol: DWE - new: build-win64-aarch64-eme/opt - original: build-win64-aarch64/opt - pre-diff-commands: - # The EME version has extra files under i686/. - - rm -rf b/"$RESOURCE_DIR"/i686 - # Removing media.gmp-widevinecdm.* preferences, and setting - # browser.eme.ui.enabled to false should give us the same preferences as - # the non-EME build. - - sed -i '/browser\.eme\.ui\.enabled/s/true/false/;/media\.gmp-widevinecdm\./d' b/"$RESOURCE_DIR"/browser/defaults/preferences/firefox.js - # Extra diffoscope arguments to account for: - # - about:buildconfig being expectedly different. - # - There are some differences in PE metadata in helper.exe because - # it's (re)built in the EME build, and that part of the build is - # not reproducible. - extra-args: >- - --exclude-directory-metadata=recursive - --exclude b/"$RESOURCE_DIR"/chrome/toolkit/content/global/buildconfig.html - --exclude b/"$RESOURCE_DIR"/uninstall/helper.exe diff --git a/toolkit/moz.configure b/toolkit/moz.configure index 09694e7e2fb2..07c5e2207d86 100644 --- a/toolkit/moz.configure +++ b/toolkit/moz.configure @@ -827,13 +827,11 @@ def eme_choices(target, wmf): return ("widevine",) -# Widevine is enabled by default in desktop browser builds, except -# on aarch64 Windows. -@depends(build_project, eme_choices, target) -def eme_default(build_project, choices, target): +# Widevine is enabled by default in desktop browser builds. +@depends(build_project, eme_choices) +def eme_default(build_project, choices): if build_project == "browser": - if target.kernel != "WINNT" or target.cpu != "aarch64": - return choices + return choices option( @@ -856,15 +854,6 @@ def eme_modules(value): set_config("MOZ_EME_MODULES", eme_modules | dependable([])) -@depends(eme_modules, target, when=eme_modules) -def eme_win32_artifact(modules, target): - if "widevine" in modules and target.kernel == "WINNT" and target.cpu == "aarch64": - return True - - -set_config("MOZ_EME_WIN32_ARTIFACT", eme_win32_artifact) - - # Media Foundation CDM support # ============================================================== @depends(eme_modules, when=wmfmediaengine)