Bug 1623742 - Cross-compile Thunderbird shippable builds. r=mkmelin
authorRob Lemley <rob@thunderbird.net>
Thu, 26 Mar 2020 12:58:32 -0400
changeset 29074 c9c9ca57c9c6ff074d09f748d58b3a66e87e4d6e
parent 29073 f9c529b84eaece0e6302701bf5c95ff599f15f83
child 29075 326e6f99df0ae67a539d4a035e7f5c47cdf5f839
push id17191
push userthunderbird@calypsoblue.org
push dateThu, 26 Mar 2020 19:02:29 +0000
treeherdercomm-central@326e6f99df0a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmkmelin
bugs1623742
Bug 1623742 - Cross-compile Thunderbird shippable builds. r=mkmelin Port of D67279.
taskcluster/ci/build/windows.yml
--- a/taskcluster/ci/build/windows.yml
+++ b/taskcluster/ci/build/windows.yml
@@ -78,42 +78,53 @@ win32-shippable/opt:
         enable-build-signing: true
         enable-full-crashsymbols: true
     shipping-phase: build
     shipping-product: thunderbird
     treeherder:
         platform: windows2012-32-shippable/opt
         symbol: B
         tier: 1
-    worker-type: b-win2012
+    worker-type: b-linux
     worker:
-        max-run-time: 10800
+        docker-image: {in-tree: debian9-amd64-build}
+        max-run-time: 7200
         env:
+            PERFHERDER_EXTRA_OPTIONS: cross
             TOOLTOOL_MANIFEST: "comm/mail/config/tooltool-manifests/win32/releng.manifest"
             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
     run:
         actions: [build]
         options: [append-env-variables-from-configs]
         script: mozharness/scripts/fx_desktop_build.py
         config:
             - builds/taskcluster_base_thunderbird.py
-            - builds/taskcluster_base_windows.py
-            - builds/taskcluster_base_win32.py
+            - builds/releng_base_linux_64_builds.py
             - taskcluster_nightly.py
         extra-config:
             stage_platform: win32
+            mozconfig_platform: win32
+            env:
+                LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+                LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4:/builds/worker/checkouts/gecko/mapiheader"
     fetches:
         toolchain:
-            - win64-cbindgen
-            - win64-clang-cl
-            - win64-dump-syms
-            - win64-nasm
-            - win64-node
-            - win64-rust
-            - win64-rust-size
+            - linux64-binutils
+            - linux64-cbindgen
+            - linux64-clang-win-cross
+            - linux64-dump-syms
+            - linux64-liblowercase
+            - linux64-nasm
+            - linux64-node
+            - linux64-rust-cross
+            - linux64-rust-size
+            - linux64-wine
+        fetch:
+            - nsis-3.01-win
+            - upx-3.95-win
         thirdparty-libotr-win32:
             - libotr.tar.xz
 
 win32/debug:
     description: "Win32 Debug (Cross)"
     index:
         product: thunderbird
         job-name: win32-debug
@@ -235,42 +246,53 @@ win64-shippable/opt:
         enable-build-signing: true
         enable-full-crashsymbols: true
     shipping-phase: build
     shipping-product: thunderbird
     treeherder:
         platform: windows2012-64-shippable/opt
         symbol: B
         tier: 1
-    worker-type: b-win2012
+    worker-type: b-linux
     worker:
-        max-run-time: 10800
+        docker-image: {in-tree: debian9-amd64-build}
+        max-run-time: 7200
         env:
+            PERFHERDER_EXTRA_OPTIONS: cross
             TOOLTOOL_MANIFEST: "comm/mail/config/tooltool-manifests/win64/releng.manifest"
             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
     run:
         actions: [build]
         options: [append-env-variables-from-configs]
         script: mozharness/scripts/fx_desktop_build.py
         config:
             - builds/taskcluster_base_thunderbird.py
-            - builds/taskcluster_base_windows.py
-            - builds/taskcluster_base_win64.py
+            - builds/releng_base_linux_64_builds.py
             - taskcluster_nightly.py
         extra-config:
             stage_platform: win64
+            mozconfig_platform: win64
+            env:
+                LD_PRELOAD: "/builds/worker/fetches/liblowercase/liblowercase.so"
+                LOWERCASE_DIRS: "/builds/worker/checkouts/gecko/vs2017_15.8.4:/builds/worker/checkouts/gecko/mapiheader"
     fetches:
         toolchain:
-            - win64-cbindgen
-            - win64-clang-cl
-            - win64-dump-syms
-            - win64-nasm
-            - win64-node
-            - win64-rust
-            - win64-rust-size
+            - linux64-binutils
+            - linux64-cbindgen
+            - linux64-clang-win-cross
+            - linux64-dump-syms
+            - linux64-liblowercase
+            - linux64-nasm
+            - linux64-node
+            - linux64-rust-cross
+            - linux64-rust-size
+            - linux64-wine
+        fetch:
+            - nsis-3.01-win
+            - upx-3.95-win
         thirdparty-libotr-win64:
             - libotr.tar.xz
 
 win64/debug:
     description: "Win64 Debug (Cross)"
     index:
         product: thunderbird
         job-name: win64-debug