1# This Source Code Form is subject to the terms of the Mozilla Public 2# License, v. 2.0. If a copy of the MPL was not distributed with this 3# file, You can obtain one at http://mozilla.org/MPL/2.0/. 4--- 5loader: gecko_taskgraph.loader.transform:loader 6 7kind-dependencies: 8 - build 9 - toolchain 10 11transforms: 12 - gecko_taskgraph.transforms.diffoscope:transforms 13 - gecko_taskgraph.transforms.job:transforms 14 - gecko_taskgraph.transforms.task:transforms 15 16# Note: --exclude-command .--line-numbers is because of 17# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879003 18# That skips `objdump --disassemble --line-numbers` and falls back to 19# `objdump --disassemble` 20# Note: the .chk excludes are for files that are known to differ between 21# builds because they are signed with an ephemeral private key that is 22# generated for each build. 23job-defaults: 24 tier: 2 25 args: >- 26 --output-empty 27 --no-default-limits 28 --max-page-size 100000000 29 --max-page-diff-block-lines 10000 30 --exclude-directory-metadata=yes 31 --exclude-command .--line-numbers 32 33jobs: 34 artifact-win64-aarch64-eme-validation: 35 symbol: DWE 36 new: build-win64-aarch64-eme/opt 37 original: build-win64-aarch64/opt 38 unpack: true 39 fail-on-diff: true 40 pre-diff-commands: 41 # The EME version has extra files under i686/. 42 - rm -rf b/firefox/i686 43 # The i686/ files appear in precomplete, so after removing those references, 44 # we expect the same content as the non-EME build. 45 - sed -i '/i686\//d' b/firefox/precomplete 46 # Remove noise from differences in line numbers in preprocessor output 47 # due to #if/#else branches. 48 - sed -i '/^\/\/@line /d' {a,b}/firefox/browser/defaults/preferences/firefox.js 49 # Removing media.gmp-widevinecdm.* preferences, and setting 50 # browser.eme.ui.enabled to false should give us the same preferences as 51 # the non-EME build. 52 - sed -i '/browser\.eme\.ui\.enabled/s/true/false/;/media\.gmp-widevinecdm\./d' b/firefox/browser/defaults/preferences/firefox.js 53 # Extra diffoscope arguments to account for: 54 # - about:buildconfig being expectedly different. 55 # - There are some differences in PE metadata in helper.exe because 56 # it's (re)built in the EME build, and that part of the build is 57 # not reproducible. 58 extra-args: >- 59 --exclude-directory-metadata=recursive 60 --exclude b/firefox/chrome/toolkit/content/global/buildconfig.html 61 --exclude b/firefox/uninstall/helper.exe 62 # This is necessary to avoid building `build-win64-aarch64` on every push on autoland 63 # A more robust fix for this is https://bugzilla.mozilla.org/show_bug.cgi?id=1643346 64 optimization: 65 skip-unless-expanded: null 66 67 reproducible-linux32: 68 symbol: Linux32 69 new: build-linux-reproduced/opt 70 original: build-linux-shippable/opt 71 fail-on-diff: true 72 run-on-projects: ['mozilla-central'] # Do not run linux32 on autoland, Bug 1599197 73 74 reproducible-linux32-generated-files: 75 symbol: Linux32g 76 artifact: target.generated-files.tar.gz 77 new: build-linux-reproduced/opt 78 original: build-linux-shippable/opt 79 fail-on-diff: true 80 run-on-projects: ['mozilla-central'] # Do not run linux32 on autoland, Bug 1599197 81 82 reproducible-linux64: 83 symbol: Linux64 84 new: build-linux64-reproduced/opt 85 original: build-linux64-shippable/opt 86 fail-on-diff: true 87 run-on-projects: ['mozilla-central'] 88 89 reproducible-linux64-generated-files: 90 symbol: Linux64g 91 artifact: target.generated-files.tar.gz 92 new: build-linux64-reproduced/opt 93 original: build-linux64-shippable/opt 94 fail-on-diff: true 95 run-on-projects: ['mozilla-central'] 96 97# Make a task for each diff we might want. The following are just examples, 98# Both original and new can point to builds from the full set of tasks or 99# from other sets through an index-search. Other kinds than `build` can be 100# compared (for example, static-analysis), provided you adjust the 101# kind-dependencies above. 102# android-build-vs-previous-try: 103# symbol: A 104# new: build-android-arm/opt 105# original: {index-search: gecko.v2.try.revision.aabd5deb0156f9b55ab60ad6a01ebfc4580bf2e1.mobile.android-arm-opt} 106# linux64-build-vs-previous-try: 107# symbol: L 108# new: build-linux64/opt 109# original: {index-search: gecko.v2.try.revision.aabd5deb0156f9b55ab60ad6a01ebfc4580bf2e1.firefox.linux64-opt} 110# extra-args: >- 111# --exclude-command .--hex-dump=.gnu_debuglink 112# macosx-build-vs-previous-try: 113# symbol: M 114# new: build-macosx64/opt 115# original: {index-search: gecko.v2.try.revision.aabd5deb0156f9b55ab60ad6a01ebfc4580bf2e1.firefox.macosx64-opt} 116# win32-build-vs-previous-try: 117# symbol: W 118# new: build-win32/opt 119# original: {index-search: gecko.v2.try.revision.aabd5deb0156f9b55ab60ad6a01ebfc4580bf2e1.firefox.win32-opt} 120