Files
sousa-gecko/taskcluster/kinds/diffoscope/artifacts.yml
T
Chris H-C 12ad348b64 Bug 2036424 - Move diffoscope suppression of telemetry.fog.artifact_build to greprefs.js r=nalexander
We also have to surpress the `ifdef`-generated line number comment in
the generated greprefs.js. To maximize flexibility, I've opted to squelch all
linenumber comments in greprefs.js instead of trying to find some way to
just remove the one for telemetry.fog.artifact_build.

Differential Revision: https://phabricator.services.mozilla.com/D297954
2026-05-04 13:23:12 +00:00

64 lines
3.2 KiB
YAML

# 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/.
---
task-defaults:
# Artifact builds always build with nightly branding, so these checks don't
# work on non-trunk branches.
run-on-projects: ['trunk']
unpack: true
fail-on-diff: true
pre-diff-commands:
# jogfile.json is only created in artifact builds.
- 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
- sed -i '/^\/\/@line /d' {a,b}/"$RESOURCE_DIR"/greprefs.js
# bug 2036424 - 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"/greprefs.js
# bug 1936471 - nimbus.telemetry.targetingContextEnabled isn't stable
# between artifact and non-artifact builds because this pref controls
# submission of an object metric and object metrics aren't supported in
# artifact builds. This pref was added in bug 1936317 and will be
# removed in bug 1936319.
- sed -i '/nimbus\.telemetry\.targetingContextEnabled/d' {a,b}"/$RESOURCE_DIR"/browser/defaults/preferences/firefox.js
# non-macOS artifact builds are not fed with accepted-mar-channel-ids.
- if [ -f a/"$RESOURCE_DIR"/update-settings.ini ]; then sed -i '/ACCEPTED_MAR_CHANNEL_IDS/d' {a,b}/"$RESOURCE_DIR"/update-settings.ini; fi
# macOS artifact builds have local update configurations, not Nightly
# update configurations.
- rm -f {a,b}/"$RESOURCE_DIR"/../Frameworks/ChannelPrefs.framework/ChannelPrefs
- rm -f {a,b}/"$RESOURCE_DIR"/../MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework/UpdateSettings
# 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