Bug 1577212 - Add diffoscope jobs ensuring reproducibility of the linux32 shippable builds. r=mshal
authorMike Hommey <mh+mozilla@glandium.org>
Wed, 20 Nov 2019 00:23:09 +0000
changeset 502713 358e2c4966396bce71e1306a1e77406111f21f13
parent 502712 41fcd80d1d58ba6bc5779dafc74be161657227da
child 502714 1980f3681547795f579211ba1d3343b6467341c9
push id101001
push usermh@glandium.org
push dateWed, 20 Nov 2019 01:09:08 +0000
treeherderautoland@358e2c496639 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmshal
bugs1577212
milestone72.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1577212 - Add diffoscope jobs ensuring reproducibility of the linux32 shippable builds. r=mshal Differential Revision: https://phabricator.services.mozilla.com/D53164
taskcluster/ci/build/linux.yml
taskcluster/ci/diffoscope/kind.yml
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/ci/build/linux.yml
@@ -597,16 +597,56 @@ linux-shippable/opt:
             - linux64-binutils
             - linux64-clang
             - linux64-rust
             - linux64-rust-size
             - linux64-cbindgen
             - linux64-nasm
             - linux64-node
 
+linux-reproduced/opt:
+    description: "Linux32 Reproduced"
+    use-pgo: linux-shippable/opt
+    shipping-phase: build
+    shipping-product: firefox
+    index:
+        product: firefox
+        job-name: linux-reproduced-opt
+    treeherder:
+        platform: linux32-shippable/opt
+        symbol: Bpgo(repr)
+    # Limited to trunk until bug 1596350 is fixed.
+    run-on-projects: ['trunk', 'try']
+    worker-type: b-linux
+    worker:
+        docker-image: {in-tree: debian7-i386-build}
+        max-run-time: 9000
+        env:
+            PERFHERDER_EXTRA_OPTIONS: repr
+    run:
+        using: mozharness
+        actions: [get-secrets, build]
+        config:
+            - builds/releng_base_firefox.py
+            - builds/releng_base_linux_32_builds.py
+            - taskcluster_nightly.py
+        script: "mozharness/scripts/fx_desktop_build.py"
+        secrets: true
+        tooltool-downloads: public
+        need-xvfb: true
+    fetches:
+        toolchain:
+            - linux64-binutils
+            - linux64-clang
+            - linux64-rust
+            - linux64-rust-size
+            - linux64-cbindgen
+            - linux64-nasm
+            - linux64-node
+
 linux64-asan/opt:
     description: "Linux64 Opt ASAN"
     index:
         product: firefox
         job-name: linux64-asan-opt
     treeherder:
         platform: linux64/asan
         symbol: Bo
--- a/taskcluster/ci/diffoscope/kind.yml
+++ b/taskcluster/ci/diffoscope/kind.yml
@@ -57,16 +57,22 @@ jobs:
         # - 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-directory-metadata=recursive
             --exclude b/firefox/chrome/toolkit/content/global/buildconfig.html
             --exclude b/firefox/uninstall/helper.exe
 
+    reproducible-linux32:
+        symbol: Linux32
+        new: build-linux-reproduced/opt
+        original: build-linux-shippable/opt
+        fail-on-diff: true
+
 
 # Make a task for each diff we might want. The following are just examples,
 # Both original and new can point to builds from the full set of tasks or
 # from other sets through an index-search. Other kinds than `build` can be
 # compared (for example, static-analysis), provided you adjust the
 # kind-dependencies above.
 #     android-build-vs-previous-try:
 #         symbol: A