Bug 1853091 - Add artifact build validation tasks. r=taskgraph-reviewers,jcristau

Differential Revision: https://phabricator.services.mozilla.com/D188294
This commit is contained in:
Mike Hommey 2023-09-19 08:29:07 +00:00
Родитель c27fa81b1c
Коммит aaba9e702f
3 изменённых файлов: 100 добавлений и 17 удалений

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

@ -5,6 +5,7 @@
loader: gecko_taskgraph.loader.transform:loader
kind-dependencies:
- fetch
- toolchain
transforms:
@ -15,40 +16,90 @@ transforms:
- gecko_taskgraph.transforms.task:transforms
job-defaults:
index:
product: firefox
treeherder:
kind: build
symbol: AB
tier: 2
run-on-projects: ['mozilla-central']
worker-type: b-linux-gcp
worker:
max-run-time: 3600
env:
PERFHERDER_EXTRA_OPTIONS: artifact
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
USE_ARTIFACT: '1'
run:
using: mozharness
actions: [get-secrets, build]
config:
- builds/releng_base_firefox.py
script: "mozharness/scripts/fx_desktop_build.py"
secrets: true
tooltool-downloads: public
keep-artifacts: false
use-system-python: false
jobs:
linux64-artifact/opt:
description: "Linux64 Opt Artifact Build"
index:
product: firefox
job-name: linux64-artifact-opt
treeherder:
platform: linux64/opt
kind: build
symbol: AB
tier: 2
run-on-projects: ['mozilla-central']
worker-type: b-linux-gcp
worker:
max-run-time: 3600
env:
PERFHERDER_EXTRA_OPTIONS: artifact
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
MOZ_ARTIFACT_TASK: {task-reference: '<linux64-opt>'}
USE_ARTIFACT: '1'
run:
using: mozharness
actions: [get-secrets, build]
config:
- builds/releng_base_firefox.py
- builds/releng_base_linux_64_builds.py
script: "mozharness/scripts/fx_desktop_build.py"
secrets: true
tooltool-downloads: public
keep-artifacts: false
dependencies:
linux64-opt: build-linux64/opt
fetches:
toolchain:
- linux64-node
macosx64-artifact/opt:
description: "MacOS X x64 Opt Artifact Build"
index:
job-name: macosx64-artifact-opt
treeherder:
platform: osx-cross/opt
worker:
env:
MOZ_ARTIFACT_TASK: {task-reference: '<macosx64-opt>'}
run:
config:
- builds/releng_base_mac_64_cross_builds.py
dependencies:
macosx64-opt: build-macosx64/opt
fetches:
toolchain:
- linux64-hfsplus
- linux64-libdmg
- linux64-node
win64-artifact/opt:
description: "Win64 Opt Artifact Build"
index:
job-name: win64-artifact-opt
treeherder:
platform: windows2012-64/opt
worker:
env:
MOZ_ARTIFACT_TASK: {task-reference: '<win64-opt>'}
run:
config:
- builds/releng_base_linux_64_builds.py
extra-config:
mozconfig_platform: win64
dependencies:
win64-opt: build-win64/opt
fetches:
toolchain:
- linux64-node
- linux64-wine
- nsis
fetch:
- upx-3.95-win

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

@ -6,17 +6,48 @@ job-defaults:
unpack: true
fail-on-diff: true
pre-diff-commands:
# jogfile.json is only created in artifact builds.
- rm -f 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
# bug 1825141 - telemetry.fog.artifact_build isn't stable between
# artifact and not-artifact builds, so remove its line if present.
- sed -i '/telemetry\.fog\.artifact\_build/d' b/"$RESOURCE_DIR"/browser/defaults/preferences/firefox.js
# artifact builds are not fed with accepted-mar-channel-ids
- sed -i '/ACCEPTED_MAR_CHANNEL_IDS/d' {a,b}/"$RESOURCE_DIR"/update-settings.ini
# Extra diffoscope arguments to account for:
# - about:buildconfig being expectedly different.
extra-args: >-
--exclude b/"$RESOURCE_DIR"/chrome/toolkit/content/global/buildconfig.html
# This is necessary to avoid building the dependencies on every push on autoland
# A more robust fix for this is https://bugzilla.mozilla.org/show_bug.cgi?id=1643346
optimization:
skip-unless-expanded: null
artifact-linux64-validation:
symbol: Linux64a
new: artifact-build-linux64-artifact/opt
original: build-linux64/opt
artifact-macosx64-validation:
symbol: Macosx64a
new: artifact-build-macosx64-artifact/opt
original: build-macosx64/opt
artifact-win64-validation:
symbol: Win64a
new: artifact-build-win64-artifact/opt
original: build-win64/opt
# 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 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

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

@ -5,6 +5,7 @@
loader: gecko_taskgraph.loader.transform:loader
kind-dependencies:
- artifact-build
- build
- toolchain