diff options
Diffstat (limited to 'taskcluster/ci/toolchain')
23 files changed, 2209 insertions, 0 deletions
diff --git a/taskcluster/ci/toolchain/android.yml b/taskcluster/ci/toolchain/android.yml new file mode 100644 index 0000000000..d3ee12b25e --- /dev/null +++ b/taskcluster/ci/toolchain/android.yml @@ -0,0 +1,84 @@ +# 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: + worker-type: b-linux + worker: + docker-image: {in-tree: android-build} + max-run-time: 1800 + +linux64-android-sdk-linux-repack: + description: "Android SDK (Linux) repack toolchain build" + treeherder: + symbol: TL(android-sdk-linux) + worker: + artifacts: + - name: project/gecko/android-sdk + path: /builds/worker/project/gecko/android-sdk/ + type: directory + run: + script: repack-android-sdk-linux.sh + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/android-sdk/android-sdk-linux.tar.zst + toolchain-alias: android-sdk-linux + +linux64-android-emulator-linux-repack: + description: "Android Emulator (Linux) repack toolchain build" + treeherder: + symbol: TL(android-emulator-linux) + worker: + artifacts: + - name: project/gecko/android-emulator + path: /builds/worker/project/gecko/android-emulator/ + type: directory + run: + script: repack-android-emulator-linux.sh + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/android-emulator/android-emulator-linux.tar.zst + toolchain-alias: android-emulator-linux + +linux64-android-ndk-linux-repack: + description: "Android NDK (Linux) repack toolchain build" + treeherder: + symbol: TL(android-ndk-linux) + worker: + artifacts: + - name: project/gecko/android-ndk + path: /builds/worker/project/gecko/android-ndk/ + type: directory + run: + script: repack-android-ndk-linux.sh + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/android-ndk/android-ndk.tar.zst + toolchain-alias: android-ndk-linux + +linux64-android-gradle-dependencies: + description: "Android Gradle dependencies toolchain task" + treeherder: + symbol: TL(gradle-dependencies) + worker: + env: + GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online" + run: + script: android-gradle-dependencies.sh + sparse-profile: null + resources: + - 'taskcluster/scripts/misc/android-gradle-dependencies/**' + - '*.gradle' + - 'mobile/android/**/*.gradle' + - 'mobile/android/config/mozconfigs/android-api-16-gradle-dependencies/**' + - 'mobile/android/config/mozconfigs/common*' + - 'mobile/android/gradle.configure' + toolchain-artifact: public/build/android-gradle-dependencies.tar.zst + toolchain-alias: android-gradle-dependencies + fetches: + fetch: + - sonatype-nexus + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-android-sdk-linux-repack + - linux64-node diff --git a/taskcluster/ci/toolchain/cbindgen.yml b/taskcluster/ci/toolchain/cbindgen.yml new file mode 100644 index 0000000000..8ed16bc7fa --- /dev/null +++ b/taskcluster/ci/toolchain/cbindgen.yml @@ -0,0 +1,66 @@ +# 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: + description: "cbindgen toolchain build" + attributes: + local-toolchain: true + worker-type: b-linux + worker: + max-run-time: 3600 + run: + script: build-cbindgen.sh + toolchain-artifact: public/build/cbindgen.tar.xz + run-on-projects: [trunk] + fetches: + fetch: + # If you update this, make sure to update the minimum version in + # build/moz.configure/bindgen.configure as well. + - cbindgen-0.16.0 + +linux64-cbindgen: + treeherder: + symbol: TL(cbindgen) + worker: + max-run-time: 1800 + run: + arguments: ['x86_64-unknown-linux-gnu'] + fetches: + toolchain: + - linux64-rust-1.47 + +macosx64-cbindgen: + treeherder: + symbol: TM(cbindgen) + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest" + run: + arguments: ['x86_64-apple-darwin'] + resources: + - taskcluster/scripts/misc/tooltool-download.sh + tooltool-downloads: internal + fetches: + toolchain: + - linux64-cctools-port-clang-11 + - linux64-clang-11 + - linux64-llvm-dsymutil + - linux64-rust-macos-1.47 + +win64-cbindgen: + treeherder: + symbol: TW64(cbindgen) + worker-type: b-win2012 + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + arguments: ['x86_64-pc-windows-msvc'] + resources: + - taskcluster/scripts/misc/tooltool-download.sh + toolchain-artifact: public/build/cbindgen.tar.bz2 + tooltool-downloads: internal + fetches: + toolchain: + - win64-rust-1.47 diff --git a/taskcluster/ci/toolchain/cctools-port.yml b/taskcluster/ci/toolchain/cctools-port.yml new file mode 100644 index 0000000000..091868ccca --- /dev/null +++ b/taskcluster/ci/toolchain/cctools-port.yml @@ -0,0 +1,26 @@ +# 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: + description: "cctools-port toolchain build" + worker-type: b-linux + worker: + max-run-time: 1800 + fetches: + fetch: + - cctools-port + - libtapi + +linux64-cctools-port-clang-11: + treeherder: + symbol: TL(cctools-clang-11) + run: + script: build-cctools-port.sh + toolchain-alias: linux64-cctools-port + toolchain-artifact: public/build/cctools.tar.xz + tooltool-downloads: internal + fetches: + toolchain: + - linux64-clang-11 + - linux64-binutils diff --git a/taskcluster/ci/toolchain/clang-tidy.yml b/taskcluster/ci/toolchain/clang-tidy.yml new file mode 100644 index 0000000000..f4be606c2c --- /dev/null +++ b/taskcluster/ci/toolchain/clang-tidy.yml @@ -0,0 +1,125 @@ +# 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: + description: "Clang-tidy build" + attributes: + local-toolchain: true + index: + product: static-analysis + worker-type: b-linux-large + worker: + max-run-time: 3600 + run: + toolchain-artifact: public/build/clang-tidy.tar.zst + resources: + - 'build/clang-plugin/**/*.cpp' + - 'build/clang-plugin/**/*.h' + - 'build/clang-plugin/*.inc' + - 'build/clang-plugin/*.py' + - 'build/clang-plugin/moz.build' + - 'build/clang-plugin/Makefile.in' + - 'build/build-clang/build-clang.py' + fetches: + fetch: + - clang-11 + +linux64-clang-tidy: + index: + job-name: linux64-clang-tidy + treeherder: + symbol: TL(clang-tidy) + run: + script: build-clang.sh + arguments: + - 'build/build-clang/clang-tidy-linux64.json' + resources: + - 'build/build-clang/clang-tidy-linux64.json' + run-on-projects: + - trunk + fetches: + toolchain: + - linux64-binutils + - linux64-gcc-7 + +macosx64-clang-tidy: + index: + job-name: macosx64-clang-tidy + treeherder: + symbol: TM(clang-tidy) + worker-type: b-linux-large + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest" + run: + using: toolchain-script + script: build-clang.sh + tooltool-downloads: internal + arguments: + - 'build/build-clang/clang-tidy-macosx64.json' + resources: + - 'build/build-clang/clang-tidy-macosx64.json' + - 'taskcluster/scripts/misc/tooltool-download.sh' + run-on-projects: + - trunk + fetches: + toolchain: + - linux64-binutils + - linux64-cctools-port-clang-11 + - linux64-clang-11-macosx-cross + - linux64-gcc-7 + - linux64-node + +win64-clang-tidy: + description: "Clang-tidy toolchain build" + index: + job-name: win64-clang-tidy + treeherder: + symbol: TW64(clang-tidy) + tier: 2 + worker-type: b-win2012 + worker: + max-run-time: 7200 + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + script: build-clang.sh + arguments: + - 'build/build-clang/clang-tidy-win64.json' + resources: + - 'build/build-clang/clang-tidy-win64.json' + tooltool-downloads: internal + run-on-projects: + - trunk + fetches: + fetch: + - cmake + - ninja + +linux64-clang-tidy-external: + attributes: + local-toolchain: false + index: + job-name: linux64-clang-tidy-external + treeherder: + symbol: TL(clang-tidy-e) + worker: + artifacts: + - name: project/civet/clang-tidy.tar.zst + path: /builds/worker/private-artifacts/clang-tidy.tar.zst + type: file + run: + toolchain-artifact: project/civet/clang-tidy.tar.zst + script: build-clang-tidy-external.sh + arguments: + - 'build/build-clang/clang-tidy-external-linux64.json' + resources: + - 'build/build-clang/clang-tidy-external-linux64.json' + run-on-projects: [] + fetches: + fetch: + - civet-source + toolchain: + - linux64-binutils + - linux64-gcc-7 diff --git a/taskcluster/ci/toolchain/clang.yml b/taskcluster/ci/toolchain/clang.yml new file mode 100644 index 0000000000..7706a20af0 --- /dev/null +++ b/taskcluster/ci/toolchain/clang.yml @@ -0,0 +1,320 @@ +# 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: + worker-type: b-linux-xlarge + worker: + max-run-time: 7200 + run: + resources: + - 'build/build-clang/build-clang.py' + +linux64-clang-5.0: + description: "Clang 5.0 toolchain build" + treeherder: + symbol: TL(clang5.0) + worker-type: b-linux-large + run: + script: build-clang.sh + arguments: + - 'build/build-clang/clang-5.0-linux64.json' + resources: + - 'build/build-clang/clang-5.0-linux64.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-5.0 + toolchain: + - linux64-binutils + - linux64-gcc-7 + +linux64-clang-7: + description: "Clang 7 toolchain build" + treeherder: + symbol: TL(clang7) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/clang-7-linux64.json' + resources: + - 'build/build-clang/clang-7-linux64.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-7 + toolchain: + - linux64-binutils + - linux64-gcc-7 + +linux64-clang-11-mingw-x86: + description: "MinGW-Clang 11 x86 toolchain build" + treeherder: + symbol: TMW(clang-x86) + run: + script: build-clang-mingw.sh + arguments: + - 'x86' + - 'build/build-clang/clang-11-mingw.json' + resources: + - 'build/build-clang/clang-11-mingw.json' + toolchain-alias: linux64-clang-mingw-x86 + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-11 + - mingw-w64 + - libunwind + - llvm-mingw + - gcc-9.3.0 + toolchain: + - linux64-gcc-7 + - linux64-binutils + +linux64-clang-11-mingw-x64: + description: "MinGW-Clang 11 x64 toolchain build" + treeherder: + symbol: TMW(clang-x64) + tier: 1 + run: + script: build-clang-mingw.sh + arguments: + - 'x64' + - 'build/build-clang/clang-11-mingw.json' + resources: + - 'build/build-clang/clang-11-mingw.json' + toolchain-alias: linux64-clang-mingw-x64 + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-11 + - mingw-w64 + - libunwind + - llvm-mingw + - gcc-9.3.0 + toolchain: + - linux64-gcc-7 + - linux64-binutils + +linux64-clang-10: + description: "Clang 10 toolchain build" + treeherder: + symbol: TL(clang10) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/clang-10-linux64.json' + resources: + - 'build/build-clang/clang-10-linux64.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-10 + toolchain: + - linux64-binutils + - linux64-gcc-7 + - wasi-sysroot + +linux64-clang-11: + description: "Clang 11 toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TL(clang11) + run-on-projects: [trunk] + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/clang-11-linux64.json' + resources: + - 'build/build-clang/clang-11-linux64.json' + toolchain-alias: linux64-clang + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-11 + toolchain: + - linux64-binutils + - linux64-gcc-7 + - wasi-sysroot-11 + +linux64-clang-11-android-cross: + description: "Clang 11 toolchain build" + treeherder: + symbol: TL(clang11-android) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/clang-11-android.json' + resources: + - 'build/build-clang/clang-11-android.json' + toolchain-alias: linux64-clang-android-cross + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-11 + toolchain: + - linux64-binutils + - linux64-gcc-7 + - linux64-android-ndk-linux-repack + +linux64-clang-11-aarch64-cross: + description: "Clang 11 toolchain build with aarch64 runtime" + treeherder: + symbol: TL(clang11-aarch64) + worker-type: b-linux + worker: + max-run-time: 5400 + docker-image: {in-tree: toolchain-arm64-build} + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/clang-11-linux64-aarch64-cross.json' + resources: + - 'build/build-clang/clang-11-linux64-aarch64-cross.json' + toolchain-alias: linux64-clang-aarch64-cross + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-11 + toolchain: + - linux64-binutils + - linux64-gcc-7 + +linux64-clang-11-macosx-cross: + description: "Clang 11 toolchain repack with MacOS Compiler RT libs" + treeherder: + symbol: TL(clang11-macosx-cross) + worker-type: b-linux + worker: + max-run-time: 600 + run: + script: repack-clang-linux-macosx-cross.sh + toolchain-alias: linux64-clang-macosx-cross + toolchain-artifact: public/build/clang.tar.zst + dependencies: + macosx64-aarch64-compiler-rt-11: toolchain-macosx64-aarch64-compiler-rt-11 + macosx64-x64-compiler-rt-11: toolchain-macosx64-x64-compiler-rt-11 + fetches: + toolchain: + - linux64-cctools-port-clang-11 + - linux64-clang-11 + macosx64-aarch64-compiler-rt-11: + - artifact: compiler-rt.tar.zst + dest: aarch64 + macosx64-x64-compiler-rt-11: + - artifact: compiler-rt.tar.zst + dest: x86_64 + +linux64-clang-11-win-cross: + description: "Clang 11 toolchain repack with Windows Compiler RT libs" + treeherder: + symbol: TL(clang11-win-cross) + worker-type: b-linux + worker: + max-run-time: 600 + run: + script: repack-clang-linux-win-cross.sh + toolchain-alias: linux64-clang-win-cross + toolchain-artifact: public/build/clang.tar.zst + dependencies: + win64-clang-cl-11-2stage: toolchain-win64-clang-cl-11-2stage + fetches: + toolchain: + - linux64-clang-11 + win64-clang-cl-11-2stage: + # Put this into a new directory so it doesn't conflict with the linux toolchain + - artifact: clang.tar.zst + dest: clang-cl + extract: false + +macosx64-clang-11: + description: "Clang 11 toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TM(clang-11) + worker-type: b-linux-large + worker: + max-run-time: 3600 + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest" + run-on-projects: + - trunk + run: + script: build-clang.sh + tooltool-downloads: internal + arguments: + - 'build/build-clang/clang-11-macosx64.json' + resources: + - 'build/build-clang/clang-11-macosx64.json' + - 'taskcluster/scripts/misc/tooltool-download.sh' + toolchain-alias: macosx64-clang + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-11 + toolchain: + - linux64-binutils + - linux64-cctools-port-clang-11 + - linux64-clang-11-macosx-cross + - linux64-gcc-7 + - linux64-node + +win64-clang-cl-11: + description: "Clang-cl 11 toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TW64(clang-cl-11) + worker-type: b-win2012 + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + max-run-time: 9000 + run-on-projects: + - trunk + run: + script: build-clang.sh + arguments: + - 'build/build-clang/clang-11-win64.json' + resources: + - 'build/build-clang/clang-11-win64.json' + - 'taskcluster/scripts/misc/tooltool-download.sh' + toolchain-alias: win64-clang-cl + toolchain-artifact: public/build/clang.tar.zst + tooltool-downloads: internal + fetches: + fetch: + - clang-11 + - cmake + - ninja + +win64-clang-cl-11-2stage: + description: "Clang-cl 11 toolchain 2-stage quick build" + treeherder: + symbol: TW64(clang-cl-11-2stage) + worker-type: b-win2012 + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + script: build-clang.sh + arguments: + - 'build/build-clang/clang-11-win64-2stage.json' + resources: + - 'build/build-clang/clang-11-win64-2stage.json' + - 'taskcluster/scripts/misc/tooltool-download.sh' + toolchain-alias: win64-clang-cl-2stage + toolchain-artifact: public/build/clang.tar.zst + tooltool-downloads: internal + fetches: + fetch: + - clang-11 + - cmake + - ninja diff --git a/taskcluster/ci/toolchain/dist-toolchains.yml b/taskcluster/ci/toolchain/dist-toolchains.yml new file mode 100644 index 0000000000..0c0dc53c0c --- /dev/null +++ b/taskcluster/ci/toolchain/dist-toolchains.yml @@ -0,0 +1,42 @@ +# 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: + description: "sccache-dist toolchain archive build" + attributes: + local-toolchain: true + worker-type: b-linux + run-on-projects: + - trunk + run: + using: toolchain-script + script: build-dist-toolchains.sh + +clang-dist-toolchain: + treeherder: + symbol: TL(clang-dist) + worker: + max-run-time: 1800 + run: + arguments: ['clang'] + toolchain-artifact: public/build/clang-dist-toolchain.tar.xz + use-sccache: true + fetches: + toolchain: + - linux64-clang + - linux64-sccache + +rustc-dist-toolchain: + treeherder: + symbol: TL(rustc-dist) + worker: + max-run-time: 1800 + run: + arguments: ['rustc'] + toolchain-artifact: public/build/rustc-dist-toolchain.tar.xz + use-sccache: true + fetches: + toolchain: + - linux64-rust-cross + - linux64-sccache diff --git a/taskcluster/ci/toolchain/dump-syms.yml b/taskcluster/ci/toolchain/dump-syms.yml new file mode 100644 index 0000000000..c650f60f8c --- /dev/null +++ b/taskcluster/ci/toolchain/dump-syms.yml @@ -0,0 +1,65 @@ +# 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: + attributes: + local-toolchain: true + description: "dump_syms toolchain build" + worker: + max-run-time: 1800 + run-on-projects: [trunk] + run: + script: build-dump-syms.sh + fetches: + fetch: + - dump-syms + +linux64-dump-syms: + treeherder: + symbol: TL(dump_syms) + worker-type: b-linux + run: + toolchain-artifact: public/build/dump_syms.tar.xz + fetches: + toolchain: + - linux64-binutils + - linux64-clang-11 + - linux64-rust-1.47 + +macosx64-dump-syms: + treeherder: + symbol: TM(dump_syms) + worker-type: b-linux + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest" + run: + arguments: ['x86_64-apple-darwin'] + resources: + - 'taskcluster/scripts/misc/tooltool-download.sh' + tooltool-downloads: internal + toolchain-artifact: public/build/dump_syms.tar.xz + fetches: + toolchain: + - linux64-rust-macos-1.47 + - linux64-clang-11 + - linux64-cctools-port-clang-11 + - linux64-llvm-dsymutil + - linux64-binutils + +win64-dump-syms: + treeherder: + symbol: TW64(dump_syms) + worker-type: b-win2012 + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + toolchain-artifact: public/build/dump_syms.tar.bz2 + resources: + - 'taskcluster/scripts/misc/tooltool-download.sh' + tooltool-downloads: internal + fetches: + toolchain: + - win64-rust-1.47 diff --git a/taskcluster/ci/toolchain/fix-stacks.yml b/taskcluster/ci/toolchain/fix-stacks.yml new file mode 100644 index 0000000000..30daab2172 --- /dev/null +++ b/taskcluster/ci/toolchain/fix-stacks.yml @@ -0,0 +1,66 @@ +# 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: + description: "fix-stacks toolchain build" + attributes: + local-toolchain: true + worker-type: b-linux + worker: + max-run-time: 1800 + run: + script: build-fix-stacks.sh + run-on-projects: + - trunk + fetches: + fetch: + - fix-stacks + +linux64-fix-stacks: + treeherder: + symbol: TL(fix-stacks) + run: + arguments: ['x86_64-unknown-linux-gnu'] + toolchain-artifact: public/build/fix-stacks.tar.xz + fetches: + toolchain: + - linux64-binutils + - linux64-clang-11 + - linux64-rust-1.47 + +macosx64-fix-stacks: + treeherder: + symbol: TM(fix-stacks) + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest" + run: + arguments: ['x86_64-apple-darwin'] + resources: + - taskcluster/scripts/misc/tooltool-download.sh + toolchain-artifact: public/build/fix-stacks.tar.xz + tooltool-downloads: internal + fetches: + toolchain: + - linux64-cctools-port-clang-11 + - linux64-clang-11 + - linux64-rust-macos-1.47 + +win32-fix-stacks: + treeherder: + symbol: TW32(fix-stacks) + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + arguments: ['i686-pc-windows-msvc'] + toolchain-artifact: public/build/fix-stacks.tar.bz2 + resources: + - 'taskcluster/scripts/misc/tooltool-download.sh' + tooltool-downloads: internal + fetches: + toolchain: + - linux64-clang-11 + - linux64-liblowercase + - linux64-rust-windows-1.47 diff --git a/taskcluster/ci/toolchain/gcc.yml b/taskcluster/ci/toolchain/gcc.yml new file mode 100644 index 0000000000..7e1d10cebd --- /dev/null +++ b/taskcluster/ci/toolchain/gcc.yml @@ -0,0 +1,78 @@ +# 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: + worker-type: b-linux + worker: + max-run-time: 3600 + run: + resources: + - 'build/unix/build-gcc/build-gcc.sh' + toolchain-artifact: public/build/gcc.tar.xz + +linux64-gcc-7: + description: "GCC 7 toolchain build" + treeherder: + symbol: TL(gcc7) + run: + script: build-gcc-linux.sh + toolchain-alias: linux64-gcc + fetches: + fetch: + - binutils-2.31.1 + - gcc-7.4.0 + - gmp-6.1.0 + - isl-0.16.1 + - mpc-1.0.3 + - mpfr-3.1.4 + +linux64-gcc-8: + description: "GCC 8 toolchain build" + treeherder: + symbol: TL(gcc8) + run: + script: build-gcc-linux.sh + fetches: + fetch: + - binutils-2.31.1 + - gcc-8.3.0 + - gmp-6.1.0 + - isl-0.16.1 + - mpc-1.0.3 + - mpfr-3.1.4 + +linux64-gcc-9: + description: "GCC 9 toolchain build" + treeherder: + symbol: TL(gcc9) + run: + script: build-gcc-linux.sh + fetches: + fetch: + - binutils-2.31.1 + - gcc-9.3.0 + - gmp-6.1.0 + - isl-0.16.1 + - mpc-1.0.3 + - mpfr-3.1.4 + +linux64-gcc-sixgill: + description: "sixgill GCC plugin build" + treeherder: + symbol: TL(sixgill) + run: + script: build-gcc-sixgill-plugin-linux.sh + resources: + - 'taskcluster/scripts/misc/build-gcc-sixgill-plugin-linux.sh' + toolchain-artifact: public/build/sixgill.tar.xz + fetches: + fetch: + - binutils-2.31.1 + - gcc-9.3.0 + - gmp-6.1.0 + - isl-0.16.1 + - mpc-1.0.3 + - mpfr-3.1.4 + toolchain: + - linux64-gcc-9 diff --git a/taskcluster/ci/toolchain/geckodriver.yml b/taskcluster/ci/toolchain/geckodriver.yml new file mode 100644 index 0000000000..1af7b5cdbd --- /dev/null +++ b/taskcluster/ci/toolchain/geckodriver.yml @@ -0,0 +1,112 @@ +# 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: + description: "geckodriver toolchain build" + worker-type: b-linux + worker: + max-run-time: 1800 + run-on-projects: ['trunk'] + attributes: + build_type: opt + geckodriver: true + shippable: true + rebuild-on-release: true + run: + script: build-geckodriver.sh + toolchain-artifact: public/build/geckodriver.tar.gz + sparse-profile: null + resources: + - 'testing/geckodriver' + - 'testing/mozbase/rust' + - 'testing/webdriver' + # Changes to 'third_party/rust' should be captured by + # 'testing/geckodriver/Cargo.toml'. + +# For Linux platforms target "*-musl" so that the binary will be statically linked. + +linux32-geckodriver: + treeherder: + symbol: TL32(gd) + platform: linux32/opt + run: + arguments: ['i686-unknown-linux-musl'] + attributes: + build_platform: linux-geckodriver + fetches: + toolchain: + - linux64-rust-static + +linux64-geckodriver: + treeherder: + symbol: TL(gd) + platform: linux64/opt + run: + arguments: ['x86_64-unknown-linux-musl'] + attributes: + build_platform: linux64-geckodriver + fetches: + toolchain: + - linux64-rust-static + +macosx64-geckodriver: + treeherder: + symbol: TM(gd) + platform: macosx64/opt + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest" + run: + arguments: ['x86_64-apple-darwin'] + resources: + - taskcluster/scripts/misc/tooltool-download.sh + tooltool-downloads: internal + attributes: + build_platform: macosx64-geckodriver + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang + - linux64-llvm-dsymutil + - linux64-rust-macos + +win32-geckodriver: + treeherder: + symbol: TW32(gd) + platform: win32/opt + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + arguments: ['i686-pc-windows-msvc'] + resources: + - taskcluster/scripts/misc/tooltool-download.sh + toolchain-artifact: public/build/geckodriver.zip + tooltool-downloads: internal + attributes: + build_platform: win32-geckodriver + fetches: + toolchain: + - linux64-clang + - linux64-rust-windows + +win64-geckodriver: + treeherder: + symbol: TW64(gd) + platform: win64/opt + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + arguments: ['x86_64-pc-windows-msvc'] + resources: + - taskcluster/scripts/misc/tooltool-download.sh + toolchain-artifact: public/build/geckodriver.zip + tooltool-downloads: internal + attributes: + build_platform: win64-geckodriver + fetches: + toolchain: + - linux64-clang + - linux64-rust-windows diff --git a/taskcluster/ci/toolchain/gn.yml b/taskcluster/ci/toolchain/gn.yml new file mode 100644 index 0000000000..d505fa5f83 --- /dev/null +++ b/taskcluster/ci/toolchain/gn.yml @@ -0,0 +1,61 @@ +# 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: + description: "gn toolchain build" + worker-type: b-linux + worker: + max-run-time: 1800 + run-on-projects: + - trunk + run: + resources: + - 'taskcluster/scripts/misc/build-gn-common.sh' + toolchain-artifact: public/build/gn.tar.xz + fetches: + fetch: + - gn + +linux64-gn: + treeherder: + symbol: TL(gn) + run: + script: build-gn-linux.sh + fetches: + toolchain: + - linux64-gcc-7 + +macosx64-gn: + treeherder: + symbol: TM(gn) + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest" + run: + script: build-gn-macosx.sh + resources: + - 'taskcluster/scripts/misc/tooltool-download.sh' + tooltool-downloads: internal + fetches: + toolchain: + - linux64-cctools-port-clang-11 + - linux64-clang-11 + +win32-gn: + treeherder: + symbol: TW64(gn) + worker-type: b-win2012 + worker: + max-run-time: 3600 + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + script: build-gn-win32.sh + resources: + - 'taskcluster/scripts/misc/tooltool-download.sh' + toolchain-artifact: public/build/gn.tar.bz2 + tooltool-downloads: internal + fetches: + fetch: + - ninja diff --git a/taskcluster/ci/toolchain/grcov.yml b/taskcluster/ci/toolchain/grcov.yml new file mode 100644 index 0000000000..b533300ba8 --- /dev/null +++ b/taskcluster/ci/toolchain/grcov.yml @@ -0,0 +1,51 @@ +# 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: + description: "grcov toolchain build" + worker-type: b-linux + worker: + max-run-time: 1800 + run: + script: build-grcov.sh + toolchain-artifact: public/build/grcov.tar.xz + fetches: + fetch: + - grcov + +linux64-grcov: + treeherder: + symbol: TL(grcov) + fetches: + toolchain: + - linux64-rust-1.47 + - linux64-clang + - linux64-binutils + +macosx64-grcov: + treeherder: + symbol: TM(grcov) + run-on-projects: + - trunk + fetches: + toolchain: + - linux64-rust-1.47 + - linux64-clang + - linux64-binutils + +win64-grcov: + treeherder: + symbol: TW64(grcov) + worker-type: b-win2012 + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + toolchain-artifact: public/build/grcov.tar.bz2 + resources: + - 'taskcluster/scripts/misc/tooltool-download.sh' + tooltool-downloads: internal + fetches: + toolchain: + - win64-rust-1.47 diff --git a/taskcluster/ci/toolchain/kind.yml b/taskcluster/ci/toolchain/kind.yml new file mode 100644 index 0000000000..4127ca2955 --- /dev/null +++ b/taskcluster/ci/toolchain/kind.yml @@ -0,0 +1,47 @@ +# 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/. +--- +loader: taskgraph.loader.transform:loader + +kind-dependencies: + - fetch + +transforms: + - taskgraph.transforms.try_job:transforms + - taskgraph.transforms.job:transforms + - taskgraph.transforms.cached_tasks:transforms + - taskgraph.transforms.task:transforms + +job-defaults: + treeherder: + kind: build + platform: toolchains/opt + tier: 1 + run-on-projects: [] + run: + using: toolchain-script + +jobs-from: + - android.yml + - cbindgen.yml + - cctools-port.yml + - clang-tidy.yml + - clang.yml + - dump-syms.yml + - fix-stacks.yml + - gcc.yml + - geckodriver.yml + - gn.yml + - grcov.yml + - llvm-symbolizer.yml + - mingw.yml + - minidump_stackwalk.yml + - misc.yml + - nasm.yml + - node.yml + - resourcemonitor.yml + - rust.yml + - rust-size.yml + - sccache.yml + - dist-toolchains.yml diff --git a/taskcluster/ci/toolchain/llvm-symbolizer.yml b/taskcluster/ci/toolchain/llvm-symbolizer.yml new file mode 100644 index 0000000000..1f6fb2a8f1 --- /dev/null +++ b/taskcluster/ci/toolchain/llvm-symbolizer.yml @@ -0,0 +1,35 @@ +# 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: + worker-type: b-linux + worker: + max-run-time: 1800 + run: + script: repack-llvm-symbolizer.sh + toolchain-artifact: public/build/llvm-symbolizer.tar.zst + +linux64-llvm-symbolizer: + description: "llvm-symbolizer for Linux" + treeherder: + symbol: TL(llvm-symbolizer) + fetches: + toolchain: + - linux64-clang + +macosx64-llvm-symbolizer: + description: "llvm-symbolizer for Linux" + treeherder: + symbol: TM(llvm-symbolizer) + fetches: + toolchain: + - macosx64-clang + +win64-llvm-symbolizer: + description: "llvm-symbolizer for Linux" + treeherder: + symbol: TW64(llvm-symbolizer) + fetches: + toolchain: + - win64-clang-cl diff --git a/taskcluster/ci/toolchain/mingw.yml b/taskcluster/ci/toolchain/mingw.yml new file mode 100644 index 0000000000..14a9f24e56 --- /dev/null +++ b/taskcluster/ci/toolchain/mingw.yml @@ -0,0 +1,64 @@ +# 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: + treeherder: + tier: 2 + worker-type: b-linux + worker: + docker-image: {in-tree: mingw32-build} + max-run-time: 3600 + +linux64-mingw32-gcc: + description: "GCC toolchain build for MinGW32 Cross Compile" + treeherder: + symbol: TMW(mingw32-gcc) + worker: + max-run-time: 10800 + run: + script: build-gcc-mingw32.sh + resources: + - 'build/unix/build-gcc/build-gcc.sh' + toolchain-artifact: public/build/mingw32.tar.xz + fetches: + fetch: + - binutils-2.27 + - gcc-6.4.0 + - gmp-5.1.3 + - isl-0.15 + - mpc-0.8.2 + - mpfr-3.1.5 + +linux64-mingw32-nsis: + description: "NSIS build for MinGW32 Cross Compile" + treeherder: + symbol: TMW(mingw32-nsis) + run: + script: build-mingw32-nsis.sh + resources: + - 'build/unix/build-gcc/build-gcc.sh' + - 'taskcluster/scripts/misc/build-gcc-mingw32.sh' + toolchain-artifact: public/build/nsis.tar.xz + fetches: + fetch: + - nsis-3.01 + - zlib-1.2.11 + toolchain: + - linux64-mingw32-gcc + +linux64-mingw-fxc2-x86: + description: "fxc2.exe x86 build for MinGW Cross Compile" + treeherder: + symbol: TMW(mingw-fxc2-x86) + worker: + max-run-time: 1800 + run: + using: toolchain-script + script: build-mingw-fxc2-x86.sh + toolchain-artifact: public/build/fxc2.tar.xz + fetches: + fetch: + - fxc2 + toolchain: + - linux64-clang-mingw-x86 diff --git a/taskcluster/ci/toolchain/minidump_stackwalk.yml b/taskcluster/ci/toolchain/minidump_stackwalk.yml new file mode 100644 index 0000000000..492e60aa2f --- /dev/null +++ b/taskcluster/ci/toolchain/minidump_stackwalk.yml @@ -0,0 +1,62 @@ +# 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: + description: "minidump_stackwalk toolchain build" + attributes: + local-toolchain: true + worker-type: b-linux + worker: + max-run-time: 1800 + run: + script: build-minidump-stackwalk.sh + sparse-profile: null + resources: + - 'build/moz.configure' + - 'config/external/zlib' + - 'moz.configure' + - 'toolkit/crashreporter' + - 'toolkit/crashreporter/google-breakpad/src/processor' + - 'tools/crashreporter/' + toolchain-artifact: public/build/minidump_stackwalk.tar.xz + run-on-projects: + - trunk + +linux64-minidump-stackwalk: + treeherder: + symbol: TL(stackwalk) + fetches: + toolchain: + - linux64-clang-11 + - linux64-binutils + - linux64-rust-1.47 + +macosx64-minidump-stackwalk: + treeherder: + symbol: TM(stackwalk) + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest" + run: + arguments: ['macosx64'] + resources: + - 'taskcluster/scripts/misc/tooltool-download.sh' + tooltool-downloads: internal + fetches: + toolchain: + - linux64-cctools-port-clang-11 + - linux64-clang-11 + - linux64-rust-macos-1.47 + +win32-minidump-stackwalk: + treeherder: + symbol: TW32(stackwalk) + worker: + docker-image: {in-tree: mingw32-build} + run: + arguments: ['mingw32'] + fetches: + toolchain: + - linux64-clang-mingw-x86 + - mingw32-rust-1.47 diff --git a/taskcluster/ci/toolchain/misc.yml b/taskcluster/ci/toolchain/misc.yml new file mode 100644 index 0000000000..0cd7afe12d --- /dev/null +++ b/taskcluster/ci/toolchain/misc.yml @@ -0,0 +1,386 @@ +# 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: + worker-type: b-linux + worker: + max-run-time: 1800 + +linux64-infer: + description: "infer build" + index: + product: static-analysis + job-name: linux64-infer + treeherder: + symbol: TL(infer) + worker: + docker-image: {in-tree: static-analysis-build} + max-run-time: 3600 + run: + script: build-infer-linux.sh + resources: + - 'build/build-infer/build-infer.py' + - 'build/build-infer/infer-linux64.json' + toolchain-artifact: public/build/infer.tar.xz + +linux64-llvm-dsymutil: + description: "llvm-dsymutil toolchain build" + treeherder: + symbol: TL(dsymutil) + run: + script: build-llvm-dsymutil.sh + toolchain-artifact: public/build/llvm-dsymutil.tar.xz + fetches: + fetch: + - clang-11 + toolchain: + - linux64-gcc-7 + +linux64-binutils: + description: "Binutils toolchain build" + treeherder: + symbol: TL(binutil) + worker: + max-run-time: 3600 + run: + script: build-binutils-linux.sh + resources: + - 'build/unix/build-binutils/build-binutils.sh' + toolchain-artifact: public/build/binutils.tar.xz + fetches: + fetch: + - binutils-2.31.1 + +linux64-hfsplus: + description: "hfsplus toolchain build" + treeherder: + symbol: TL(hfs+) + run: + script: build-hfsplus-linux.sh + resources: + - 'build/unix/build-hfsplus/build-hfsplus.sh' + toolchain-artifact: public/build/hfsplus-tools.tar.xz + fetches: + fetch: + - hfsplus-tools + toolchain: + - linux64-clang-11 + +linux64-libdmg: + description: "libdmg-hfsplus toolchain build" + treeherder: + symbol: TL(libdmg-hfs+) + run: + script: build-libdmg-hfsplus.sh + toolchain-artifact: public/build/dmg.tar.xz + fetches: + fetch: + - libdmg-hfsplus + +linux64-mar-tools: + description: "mar-tools toolchain build" + treeherder: + symbol: TL(mar-tools) + fetches: + toolchain: + - linux64-clang-7 + - linux64-binutils + run: + script: build-mar-tools.sh + sparse-profile: null + toolchain-artifact: public/build/mar-tools.tar.xz + resources: + - build/moz.configure + - modules/libmar/ + - moz.configure + - other-licenses/bsdiff/ + - other-licenses/nsis/Contrib/CityHash/cityhash/ + - toolkit/mozapps/update/updater/bspatch/ + - tools/update-packaging/ + +linux64-upx: + description: "UPX build" + treeherder: + symbol: TL(upx) + tier: 1 + run: + script: build-upx.sh + toolchain-artifact: public/build/upx.tar.xz + +linux64-custom-v8: + description: "Custom v8 build" + treeherder: + symbol: TL(custom-v8) + worker: + docker-image: {in-tree: custom-v8} + max-run-time: 3600 + run: + script: build-custom-v8.sh + arguments: [ + d8.zip, + is_debug=false, + target_cpu="x64" + ] + toolchain-artifact: public/build/d8.zip + +browsertime: + description: "npm install browsertime node_modules" + treeherder: + symbol: TL(browsertime) + run: + script: browsertime.sh + sparse-profile: null + resources: + - 'tools/browsertime/package.json' + - 'tools/browsertime/package-lock.json' + - 'tools/browsertime/mach_commands.py' + toolchain-artifact: public/build/browsertime.tar.bz2 + fetches: + toolchain: + - linux64-node + +wasi-sysroot-11: + description: "wasi sysroot build using clang-11" + attributes: + local-toolchain: true + treeherder: + symbol: TL(wasi-sysroot-11) + run-on-projects: [trunk] + run: + script: build-wasi-sysroot.sh + sparse-profile: null + toolchain-alias: wasi-sysroot + toolchain-artifact: public/build/wasi-sysroot.tar.xz + fetches: + fetch: + - clang-11 + - wasi-sdk + toolchain: + - linux64-binutils + - linux64-gcc-7 + +wrench-deps: + description: "Downloads all the crates needed for building wrench" + treeherder: + symbol: WR(wrench-deps) + worker: + docker-image: {in-tree: webrender} + run: + script: wrench-deps-vendoring.sh + sparse-profile: null + resources: + - 'gfx/wr/Cargo.lock' + - 'gfx/wr/ci-scripts/install-meson.sh' + toolchain-artifact: public/build/wrench-deps.tar.bz2 + fetches: + fetch: + - android-rs-glue + toolchain: + - linux64-rust-1.47 # whatever m-c is built with + +wgpu-deps: + description: "Downloads all the crates needed for testing wgpu" + treeherder: + symbol: Wgpu(deps) + worker: + docker-image: {in-tree: wgpu} + run: + script: wgpu-deps-vendoring.sh + sparse-profile: null + resources: + - 'gfx/wgpu/Cargo.lock' + toolchain-artifact: public/build/wgpu-deps.tar.bz2 + fetches: + fetch: + - android-rs-glue + toolchain: + - linux64-rust-1.47 # whatever m-c is built with + +linux64-lucetc: + description: "lucetc build process" + attributes: + local-toolchain: true + treeherder: + symbol: TL(lucetc) + run-on-projects: [trunk] + run: + script: build-lucetc.sh + toolchain-artifact: public/build/lucetc.tar.xz + fetches: + fetch: + - cmake + - lucetc-source + toolchain: + - linux64-binutils + - linux64-clang + - linux64-rust + +linux64-liblowercase: + description: "liblowercase" + treeherder: + symbol: TL(lc) + run: + script: build-liblowercase.sh + sparse-profile: liblowercase + toolchain-artifact: public/build/liblowercase.tar.xz + resources: + - build/liblowercase/ + fetches: + toolchain: + - linux64-rust-1.47 + +linux64-wine: + description: "Wine build for Windows Cross Compile" + treeherder: + symbol: TL(wine) + tier: 1 + worker: + docker-image: {in-tree: deb10-toolchain-build} + max-run-time: 10800 + run: + script: build-wine.sh + toolchain-artifact: public/build/wine.tar.xz + fetches: + fetch: + - wine-5.0 + +win32-pdbstr: + description: "pdbstr for 32-bits Windows" + treeherder: + symbol: TW32(pdbstr) + worker-type: b-win2012 + worker: + artifacts: + - name: project/gecko/pdbstr/pdbstr.tar.bz2 + path: pdbstr.tar.bz2 + type: file + run: + script: exfiltrate-pdbstr.sh + arguments: ['x86'] + toolchain-artifact: project/gecko/pdbstr/pdbstr.tar.bz2 + +win64-pdbstr: + description: "pdbstr for 64-bits Windows" + treeherder: + symbol: TW64(pdbstr) + worker-type: b-win2012 + worker: + artifacts: + - name: project/gecko/pdbstr/pdbstr.tar.bz2 + path: pdbstr.tar.bz2 + type: file + run: + script: exfiltrate-pdbstr.sh + arguments: ['x64'] + toolchain-artifact: project/gecko/pdbstr/pdbstr.tar.bz2 + +linux64-winchecksec: + description: "winchecksec" + treeherder: + symbol: TL(winchecksec) + worker: + docker-image: {in-tree: deb10-toolchain-build} + run: + script: build-winchecksec.sh + toolchain-artifact: public/build/winchecksec.tar.bz2 + tooltool-downloads: internal + fetches: + fetch: + - winchecksec + +win64-winchecksec: + description: "winchecksec" + treeherder: + symbol: TW64(winchecksec) + worker: + docker-image: {in-tree: deb10-toolchain-build} + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + script: build-winchecksec.sh + toolchain-artifact: public/build/winchecksec.tar.bz2 + tooltool-downloads: internal + fetches: + fetch: + - winchecksec + toolchain: + - linux64-clang-win-cross + - linux64-liblowercase + +linux64-makecab: + description: "makecab toolchain build" + treeherder: + symbol: TL(cab) + run: + script: build-makecab.sh + toolchain-artifact: public/build/makecab.tar.zst + fetches: + fetch: + - makecab + toolchain: + - linux64-rust-1.47 + +macosx64-sdk-11.0: + description: "MacOSX11.0 SDK" + attributes: + artifact_prefix: project/gecko/mac-sdk + treeherder: + symbol: TM(sdk11) + worker-type: b-osx-1015 + worker: + max-run-time: 3600 + env: + PATH: "/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin" + run: + script: pack.sh + arguments: + - /Applications/Xcode-12.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk + toolchain-artifact: project/gecko/mac-sdk/MacOSX11.0.sdk.tar.zst + # Expiry similar to that of fetches + expires-after: 1000 years + +macosx64-x64-compiler-rt-11: + description: "macOS x64 Compiler-rt for Clang 11 toolchain build" + treeherder: + symbol: TM(x64-crt) + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest" + run: + using: toolchain-script + script: build-compiler-rt.sh + arguments: + - x86_64-apple-darwin + - 'build/build-clang/rename_gcov_flush_clang_11.patch' + resources: + - 'build/build-clang/rename_gcov_flush_clang_11.patch' + toolchain-artifact: public/build/compiler-rt.tar.zst + tooltool-downloads: internal + fetches: + fetch: + - clang-11 + toolchain: + - linux64-cctools-port-clang-11 + - linux64-clang-11 + +macosx64-aarch64-compiler-rt-11: + description: "macOS aarch64 Compiler-rt for Clang 11 toolchain build" + treeherder: + symbol: TM(aarch64-crt) + run: + using: toolchain-script + script: build-compiler-rt.sh + arguments: + - aarch64-apple-darwin + - 'build/build-clang/rename_gcov_flush_clang_11.patch' + resources: + - 'build/build-clang/rename_gcov_flush_clang_11.patch' + toolchain-artifact: public/build/compiler-rt.tar.zst + fetches: + fetch: + - clang-11 + toolchain: + - linux64-cctools-port-clang-11 + - linux64-clang-11 + - macosx64-sdk-11.0 diff --git a/taskcluster/ci/toolchain/nasm.yml b/taskcluster/ci/toolchain/nasm.yml new file mode 100644 index 0000000000..cfa34948de --- /dev/null +++ b/taskcluster/ci/toolchain/nasm.yml @@ -0,0 +1,74 @@ +# 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: + worker-type: b-linux + worker: + max-run-time: 1800 + run-on-projects: [trunk] + run: + toolchain-artifact: public/build/nasm.tar.bz2 + +win64-nasm: + description: "nasm win64 build" + attributes: + local-toolchain: true + treeherder: + symbol: TW64(nasm) + worker: + docker-image: {in-tree: mingw32-build} + run: + script: build-nasm.sh + arguments: ['win64'] + fetches: + fetch: + - nasm-2.14.02 + toolchain: + - linux64-clang-mingw-x64 + +macosx64-nasm: + description: "nasm macosx64 build" + attributes: + local-toolchain: true + treeherder: + symbol: TM(nasm) + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest" + run: + script: build-nasm.sh + arguments: ['macosx64'] + resources: + - 'taskcluster/scripts/misc/tooltool-download.sh' + tooltool-downloads: internal + fetches: + fetch: + - nasm-2.14.02 + toolchain: + - linux64-cctools-port-clang-11 + - linux64-clang-11-macosx-cross + +linux64-nasm: + description: "nasm linux64 build" + attributes: + local-toolchain: true + treeherder: + symbol: TL(nasm) + run: + script: build-nasm.sh + arguments: ['linux64'] + fetches: + fetch: + - nasm-2.14.02 + +linux64-nasm-2.14.02: + description: "nasm linux64 minimum supported version build" + treeherder: + symbol: TL(nasm-2.14.02) + run: + script: build-nasm.sh + arguments: ['linux64'] + fetches: + fetch: + - nasm-2.14.02 diff --git a/taskcluster/ci/toolchain/node.yml b/taskcluster/ci/toolchain/node.yml new file mode 100644 index 0000000000..a74e633a52 --- /dev/null +++ b/taskcluster/ci/toolchain/node.yml @@ -0,0 +1,45 @@ +# 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: + description: "Node repack toolchain build" + attributes: + local-toolchain: true + worker-type: b-linux + worker: + max-run-time: 1800 + run-on-projects: [trunk] + run: + script: repack-node.sh + toolchain-artifact: public/build/node.tar.xz + +linux64-node-10: + treeherder: + symbol: TL(node-10) + run: + arguments: ['linux64', '10'] + toolchain-alias: linux64-node + +macosx64-node-10: + treeherder: + symbol: TM(node-10) + run: + arguments: ['macosx64', '10'] + toolchain-alias: macosx64-node + +win64-node-10: + treeherder: + symbol: TW64(node-10) + run: + arguments: ['win64', '10'] + toolchain-artifact: public/build/node.tar.bz2 + toolchain-alias: win64-node + +win32-node-10: + treeherder: + symbol: TW32(node-10) + run: + arguments: ['win32', '10'] + toolchain-artifact: public/build/node.tar.bz2 + toolchain-alias: win32-node diff --git a/taskcluster/ci/toolchain/resourcemonitor.yml b/taskcluster/ci/toolchain/resourcemonitor.yml new file mode 100644 index 0000000000..ff280dc764 --- /dev/null +++ b/taskcluster/ci/toolchain/resourcemonitor.yml @@ -0,0 +1,44 @@ +# 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: + worker-type: b-linux + worker: + max-run-time: 1800 + fetches: + fetch: + - go-1.14.4 + - resource-monitor + run: + script: build-resourcemonitor.sh + sparse-profile: null + toolchain-artifact: public/build/resource-monitor.tar.xz + +linux64-resource-monitor: + description: "linux64 resourcemonitor toolchain build" + treeherder: + symbol: TL(rs-monitor) + run: + arguments: ['linux64'] + +macosx64-resource-monitor: + description: "macos64 resourcemonitor toolchain build" + treeherder: + symbol: TM(rs-monitor) + run: + arguments: ['macos64'] + +windows32-resource-monitor: + description: "windows32 resourcemonitor toolchain build" + treeherder: + symbol: TW32(rs-monitor) + run: + arguments: ['windows32'] + +windows64-resource-monitor: + description: "windows64 resourcemonitor toolchain build" + treeherder: + symbol: TW64(rs-monitor) + run: + arguments: ['windows64'] diff --git a/taskcluster/ci/toolchain/rust-size.yml b/taskcluster/ci/toolchain/rust-size.yml new file mode 100644 index 0000000000..feae432856 --- /dev/null +++ b/taskcluster/ci/toolchain/rust-size.yml @@ -0,0 +1,39 @@ +# 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: + description: "rust-size toolchain build" + worker: + max-run-time: 1800 + run: + script: build-rust-size.sh + fetches: + fetch: + - rust-size + +linux64-rust-size: + treeherder: + symbol: TL(rust-size) + worker-type: b-linux + run: + toolchain-artifact: public/build/rust-size.tar.xz + fetches: + toolchain: + - linux64-rust-1.47 + +win64-rust-size: + treeherder: + symbol: TW64(rust-size) + worker-type: b-win2012 + worker: + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + toolchain-artifact: public/build/rust-size.tar.bz2 + resources: + - 'taskcluster/scripts/misc/tooltool-download.sh' + tooltool-downloads: internal + fetches: + toolchain: + - win64-rust-1.47 diff --git a/taskcluster/ci/toolchain/rust.yml b/taskcluster/ci/toolchain/rust.yml new file mode 100644 index 0000000000..35952cee16 --- /dev/null +++ b/taskcluster/ci/toolchain/rust.yml @@ -0,0 +1,248 @@ +# 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: + description: "rust repack" + worker-type: b-linux + worker: + max-run-time: 7200 + run: + script: repack_rust.py + toolchain-artifact: public/build/rustc.tar.zst + +linux64-rust-1.47: + treeherder: + symbol: TL(rust-1.47) + run: + arguments: [ + '--channel', '1.47.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'i686-unknown-linux-gnu', + '--target', 'aarch64-unknown-linux-gnu', + '--compiler-builtins-hack', + ] + fetches: + toolchain: + - linux64-clang + +linux64-rust-1.49: + treeherder: + symbol: TL(rust) + run: + arguments: [ + '--channel', '1.49.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'i686-unknown-linux-gnu', + '--target', 'aarch64-unknown-linux-gnu', + '--compiler-builtins-hack', + ] + toolchain-alias: linux64-rust + fetches: + toolchain: + - linux64-clang + +linux64-rust-nightly: + description: "rust nightly repack" + treeherder: + symbol: TL(rust-nightly) + run: + arguments: [ + # First nightly with the version after 1.49.0, so that it's the + # closest to 1.49 release that has a bigger version number. + '--channel', 'nightly-2020-11-14', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'i686-unknown-linux-gnu', + ] + +linux64-rust-dev: + description: "build rust from source" + worker-type: b-linux-large + treeherder: + symbol: TL(rust-dev) + run: + arguments: [ + '--patch', 'example.patch', + '--channel', 'dev', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--compiler-builtins-hack', + ] + fetches: + fetch: + - rust-1.47.0-dev + toolchain: + - linux64-clang + - linux64-binutils + + +linux64-rust-cross-1.49: + description: "rust repack with macos and windows cross support" + treeherder: + symbol: TL(rust-cross) + run: + arguments: [ + '--channel', '1.49.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-apple-darwin', + '--target', 'x86_64-pc-windows-msvc', + '--target', 'i686-pc-windows-msvc', + '--target', 'aarch64-pc-windows-msvc', + ] + toolchain-alias: linux64-rust-cross + +linux64-rust-static-1.49: + description: "rust repack with static linking support" + treeherder: + symbol: TL(rust-static) + run: + arguments: [ + '--channel', '1.49.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-musl', + '--target', 'i686-unknown-linux-gnu', + '--target', 'i686-unknown-linux-musl', + ] + toolchain-alias: linux64-rust-static + +linux64-rust-macos-1.47: + description: "rust repack with macos-cross support" + treeherder: + symbol: TL(rust-macos-1.47) + run: + arguments: [ + '--channel', '1.47.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-apple-darwin', + ] + +linux64-rust-macos-1.49: + description: "rust repack with macos-cross support" + treeherder: + symbol: TL(rust-macos-1.49) + run: + arguments: [ + '--channel', '1.49.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-apple-darwin', + '--target', 'aarch64-apple-darwin', + ] + toolchain-alias: linux64-rust-macos + +linux64-rust-android-1.49: + description: "rust repack with android-cross support" + treeherder: + symbol: TL(rust-android) + run: + arguments: [ + '--channel', '1.49.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'armv7-linux-androideabi', + '--target', 'thumbv7neon-linux-androideabi', + '--target', 'aarch64-linux-android', + '--target', 'i686-linux-android', + '--target', 'x86_64-linux-android', + '--compiler-builtins-hack', + ] + toolchain-alias: linux64-rust-android + fetches: + toolchain: + - linux64-clang + +linux64-rust-windows-1.47: + description: "rust repack with windows-cross support" + treeherder: + symbol: TL(rust-win-1.47) + run: + arguments: [ + '--channel', '1.47.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-pc-windows-msvc', + '--target', 'i686-pc-windows-msvc', + ] + +linux64-rust-windows-1.49: + description: "rust repack with windows-cross support" + treeherder: + symbol: TL(rust-win) + run: + arguments: [ + '--channel', '1.49.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-pc-windows-msvc', + '--target', 'i686-pc-windows-msvc', + ] + toolchain-alias: linux64-rust-windows + +win64-rust-1.47: + treeherder: + symbol: TW64(rust-1.47) + run: + arguments: [ + '--channel', '1.47.0', + '--host', 'x86_64-pc-windows-msvc', + '--target', 'x86_64-pc-windows-msvc', + '--target', 'i686-pc-windows-msvc', + '--target', 'aarch64-pc-windows-msvc', + ] + +win64-rust-1.49: + treeherder: + symbol: TW64(rust) + run: + arguments: [ + '--channel', '1.49.0', + '--host', 'x86_64-pc-windows-msvc', + '--target', 'x86_64-pc-windows-msvc', + '--target', 'i686-pc-windows-msvc', + '--target', 'aarch64-pc-windows-msvc', + ] + toolchain-alias: win64-rust + +macosx64-rust-1.49: + treeherder: + symbol: TM(rust) + run: + arguments: [ + '--channel', '1.49.0', + '--host', 'x86_64-apple-darwin', + '--target', 'x86_64-apple-darwin', + ] + toolchain-alias: macosx64-rust + +mingw32-rust-1.47: + treeherder: + symbol: TMW(rust-1.47) + run: + arguments: [ + '--channel', '1.47.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'i686-unknown-linux-gnu', + '--target', 'i686-pc-windows-gnu', + '--target', 'x86_64-pc-windows-gnu', + '--target', 'x86_64-unknown-linux-gnu', + ] + +mingw32-rust-1.49: + treeherder: + symbol: TMW(rust) + run: + arguments: [ + '--channel', '1.49.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'i686-unknown-linux-gnu', + '--target', 'i686-pc-windows-gnu', + '--target', 'x86_64-pc-windows-gnu', + '--target', 'x86_64-unknown-linux-gnu', + ] + toolchain-alias: mingw32-rust diff --git a/taskcluster/ci/toolchain/sccache.yml b/taskcluster/ci/toolchain/sccache.yml new file mode 100644 index 0000000000..f5b5e200bc --- /dev/null +++ b/taskcluster/ci/toolchain/sccache.yml @@ -0,0 +1,69 @@ +# 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: + description: "sccache toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TL(sccache) + run-on-projects: [trunk] + run: + using: toolchain-script + script: build-sccache.sh + fetches: + fetch: + - sccache + +linux64-sccache: + treeherder: + symbol: TL(sccache) + worker-type: b-linux + worker: + max-run-time: 1800 + run: + toolchain-artifact: public/build/sccache.tar.xz + fetches: + toolchain: + - linux64-rust-1.47 + - linux64-binutils + +macosx64-sccache: + treeherder: + symbol: TM(sccache) + worker-type: b-linux + worker: + max-run-time: 1800 + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/macosx64/cross-releng.manifest" + run: + arguments: ['x86_64-apple-darwin'] + resources: + - 'taskcluster/scripts/misc/tooltool-download.sh' + tooltool-downloads: internal + toolchain-artifact: public/build/sccache.tar.xz + fetches: + toolchain: + - linux64-rust-macos-1.47 + - linux64-clang-11 + - linux64-cctools-port-clang-11 + - linux64-llvm-dsymutil + - linux64-binutils + +win64-sccache: + treeherder: + symbol: TW64(sccache) + worker-type: b-win2012 + worker: + max-run-time: 3600 + env: + TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/vs2017.manifest" + run: + toolchain-artifact: public/build/sccache.tar.bz2 + resources: + - 'taskcluster/scripts/misc/tooltool-download.sh' + tooltool-downloads: internal + fetches: + toolchain: + - win64-rust-1.47 |