summaryrefslogtreecommitdiffstats
path: root/taskcluster/kinds/diffoscope/artifacts.yml
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/kinds/diffoscope/artifacts.yml')
-rw-r--r--taskcluster/kinds/diffoscope/artifacts.yml56
1 files changed, 56 insertions, 0 deletions
diff --git a/taskcluster/kinds/diffoscope/artifacts.yml b/taskcluster/kinds/diffoscope/artifacts.yml
new file mode 100644
index 0000000000..a89dfcbfee
--- /dev/null
+++ b/taskcluster/kinds/diffoscope/artifacts.yml
@@ -0,0 +1,56 @@
+# 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/.
+---
+job-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
+ # 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
+ # 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