Bug 1678154 - Change aarch64 macos builds to be more like the x86_64 ones. r=firefox-build-system-reviewers,dmajor

This also removes some differences between some json files in test
archives.

Differential Revision: https://phabricator.services.mozilla.com/D97700
This commit is contained in:
Mike Hommey 2020-11-20 03:14:15 +00:00
Родитель ffd412896c
Коммит 9604340588
5 изменённых файлов: 73 добавлений и 44 удалений

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

@ -21,4 +21,15 @@ export MOZILLA_OFFICIAL=1
export MOZ_PACKAGE_JSSHELL=1
ac_add_options --target=aarch64-apple-darwin
export MACOS_SDK_DIR=/Applications/Xcode-12.2.Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk
export MACOS_SDK_DIR=$MOZ_FETCHES_DIR/MacOSX11.0.sdk
# Xcode clang defaults to something similar to -mcpu=apple-a12, while upstream
# clang defaults to -mcpu=apple-a7, which disables a bunch of performance-enabling
# CPU features. TODO: this should be done by configure.
export CFLAGS="$CFLAGS -mcpu=apple-a12"
export CXXFLAGS="$CXXFLAGS -mcpu=apple-a12"
RUSTC="$MOZ_FETCHES_DIR/rustc-beta/rustc/bin/rustc"
CARGO="$MOZ_FETCHES_DIR/rustc-beta/rustc/bin/cargo"
RUSTDOC="$MOZ_FETCHES_DIR/rustc-beta/rustc/bin/rustdoc"
RUSTFMT="$MOZ_FETCHES_DIR/rustc-beta/rustc/bin/rustfmt"

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

@ -16,11 +16,10 @@ class UnifiedTestFinder(UnifiedFinder):
def unify_file(self, path, file1, file2):
unified = super(UnifiedTestFinder, self).unify_file(path, file1, file2)
basename = mozpath.basename(path)
if basename in ("mozinfo.json", "wptrunner.local.ini"):
# The mozinfo.json files contain build-time paths that differ between
# both ends, as well as processor and pgo status, which differ as well.
# The wptrunner.local.ini file contains build-time paths that differ.
# Remove the block or one of the conditions when this assert is hit.
if basename == "mozinfo.json":
# The mozinfo.json files contain processor and pgo status, which differ
# between both ends.
# Remove the block when this assert is hit.
assert not unified
errors.ignore_errors()
self._report_difference(path, file1, file2)

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

@ -42,41 +42,3 @@ macosx64-plain/opt:
- macosx64-rust
optimization:
skip-unless-expanded: null
macosx64-aarch64-shippable/opt:
description: "MacOS X Aarch64"
index:
job-name: macosx64-aarch64-opt
type: shippable
attributes:
enable-full-crashsymbols: true
skip-verify-test-packaging: true
treeherder:
platform: osx-aarch64-shippable/opt
symbol: B
tier: 1
worker:
env:
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
PERFHERDER_EXTRA_OPTIONS: aarch64
run:
actions: [get-secrets, build]
config:
- builds/releng_base_firefox.py
- builds/taskcluster_base_macosx.py
- taskcluster_nightly.py
secrets: true
extra-config:
disable_package_metrics: true
stage_platform: macosx64
mozconfig_platform: macosx64-aarch64
run-on-projects: ['release']
fetches:
toolchain:
- macosx64-cbindgen
- macosx64-dump-syms
- macosx64-nasm
- macosx64-node
- macosx64-rust-beta
optimization:
skip-unless-expanded: null

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

@ -259,6 +259,50 @@ macosx64-x64-shippable/opt:
- linux64-clang-macosx-cross
- wasi-sysroot
macosx64-aarch64-shippable/opt:
description: "MacOS X aarch64 Cross-compile"
attributes:
enable-full-crashsymbols: true
skip-verify-test-packaging: true
shipping-phase: build
shipping-product: firefox
index:
job-name: macosx64-aarch64-opt
type: shippable
treeherder:
platform: osx-aarch64-shippable/opt
symbol: B
tier: 1
run-on-projects: ['release']
worker:
max-run-time: 7200
env:
TOOLTOOL_MANIFEST: ""
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
PERFHERDER_EXTRA_OPTIONS: aarch64
run:
config:
- builds/releng_base_firefox.py
- builds/releng_base_mac_64_cross_builds.py
- taskcluster_nightly.py
extra-config:
mozconfig_platform: macosx64-aarch64
dependencies:
linux64-rust-macos-beta: toolchain-linux64-rust-macos-beta
fetches:
toolchain:
- linux64-cctools-port
- linux64-clang-macosx-aarch64-cross
- macosx64-sdk-11.0
# Because job-defaults contain linux64-rust-macos, which we can't
# remove, and that would extract to the same directory, with no
# guaranteed order,we need to manually extract to a different
# directory, and make the build use that instead, until we can use
# a stable rust.
linux64-rust-macos-beta:
- artifact: rustc.tar.zst
dest: rustc-beta
macosx64-shippable/opt:
description: "MacOS X Universal"
attributes:

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

@ -98,6 +98,19 @@ linux64-rust-macos-1.47:
]
toolchain-alias: linux64-rust-macos
linux64-rust-macos-beta:
description: "rust repack with macos-cross support"
treeherder:
symbol: TL(rust-macos-beta)
run:
arguments: [
'--channel', 'beta-2020-11-18',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-apple-darwin',
'--target', 'aarch64-apple-darwin',
]
linux64-rust-android-1.47:
description: "rust repack with android-cross support"
treeherder: