Source code
Revision control
Copy as Markdown
Other Tools
# 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
---
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
# 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
# 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
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