diff options
Diffstat (limited to '')
27 files changed, 4025 insertions, 0 deletions
diff --git a/taskcluster/ci/toolchain/android.yml b/taskcluster/ci/toolchain/android.yml new file mode 100644 index 0000000000..1feb0deddf --- /dev/null +++ b/taskcluster/ci/toolchain/android.yml @@ -0,0 +1,230 @@ +# 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-gcp + worker: + docker-image: {in-tree: android-build} + max-run-time: 1800 + +# In automation, we generate the AVD using the linux64-android-avd jobs. On +# developers' machines, bootstrap will download the artifact from the avd job +# instead of generating it. +# +# The Android AVD needs the corresponding system image generated in the +# linux64-android-system-image TL job. System images are not redistributable, +# so locally bootstrap will use sdkmanager to download the corresponding system +# images. +linux64-android-avd-x86_64-repack: + attributes: + local-toolchain: true + description: "Android AVD (Linux) repack toolchain build" + treeherder: + symbol: TL(avd-x86_64-linux) + run: + script: repack-android-avd-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/x86_64.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: public/build/android-avd-linux.tar.zst + toolchain-alias: android-avd-x86_64-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +linux64-android-avd-arm-repack: + attributes: + local-toolchain: true + description: "Android AVD (Linux) repack toolchain build" + treeherder: + symbol: TL(avd-arm-linux) + run: + script: repack-android-avd-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/arm.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: public/build/android-avd-linux.tar.zst + toolchain-alias: android-avd-arm-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +linux64-android-avd-arm64-repack: + attributes: + local-toolchain: true + description: "Android AVD (Linux) repack toolchain build" + treeherder: + symbol: TL(avd-arm64-linux) + run: + script: repack-android-avd-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/arm64.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: public/build/android-avd-linux.tar.zst + toolchain-alias: android-avd-arm64-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +linux64-android-system-image-x86_64-repack: + description: "Android System Images (Linux) repack toolchain build" + treeherder: + symbol: TL(x86_64-avd-img-linux) + worker: + artifacts: + - name: project/gecko/android-system-images + path: /builds/worker/project/gecko/android-system-images/ + type: directory + run: + script: repack-android-system-images-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/x86_64.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst + toolchain-alias: android-system-image-x86_64-linux + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +linux64-jdk-repack: + description: "Java JDK (Linux) repack toolchain build" + treeherder: + symbol: TL(jdk) + worker: + artifacts: + - name: project/gecko/jdk + path: /builds/worker/project/gecko/jdk/ + type: directory + run: + script: repack-jdk-linux.sh + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/jdk/jdk-linux.tar.zst + toolchain-alias: linux64-jdk + toolchain-env: + JAVA_HOME: "/builds/worker/fetches/jdk/jdk-17.0.5+8" + +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 + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +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 + fetches: + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-jdk-repack + +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-arm-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 + # Nexus needs Java 8 + - jdk-8-linux64 + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-android-sdk-linux-repack + - linux64-jdk-repack + - linux64-node + +linux64-android-gradle-dependencies-lite: + description: "Android Lite Gradle dependencies toolchain task" + treeherder: + symbol: TL(gradle-dependencies-lite) + worker: + env: + GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online" + run: + script: android-gradle-dependencies-lite.sh + sparse-profile: null + resources: + - 'taskcluster/scripts/misc/android-gradle-dependencies/**' + - '*.gradle' + - 'mobile/android/**/*.gradle' + - 'mobile/android/config/mozconfigs/android-arm-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-lite + fetches: + fetch: + - sonatype-nexus + # Nexus needs Java 8 + - jdk-8-linux64 + toolchain: + # Aliases aren't allowed for toolchains depending on toolchains. + - linux64-android-sdk-linux-repack + - linux64-jdk-repack + - linux64-node diff --git a/taskcluster/ci/toolchain/cargo-vet.yml b/taskcluster/ci/toolchain/cargo-vet.yml new file mode 100644 index 0000000000..6fbb2b6ac0 --- /dev/null +++ b/taskcluster/ci/toolchain/cargo-vet.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: + description: "cargo-vet toolchain build" + attributes: + local-toolchain: true + worker-type: b-linux-gcp + worker: + max-run-time: 1800 + run: + script: build-rust-based-toolchain.sh + toolchain-artifact: public/build/cargo-vet.tar.zst + fetches: + fetch: + - cargo-vet + +linux64-cargo-vet: + treeherder: + symbol: TL(cargo-vet) + run: + arguments: ['x86_64-unknown-linux-gnu', 'reqwest/native-tls-vendored'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-toolchain + - sysroot-x86_64-linux-gnu + +macosx64-cargo-vet: + treeherder: + symbol: TM(cargo-vet) + run: + arguments: ['x86_64-apple-darwin'] + toolchain-alias: macosx64-aarch64-cargo-vet + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk + +macosx64-aarch64-cargo-vet: + treeherder: + symbol: TM(cargo-vet-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk + +win64-cargo-vet: + treeherder: + symbol: TW64(cargo-vet) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - win64-vs2017 diff --git a/taskcluster/ci/toolchain/cbindgen.yml b/taskcluster/ci/toolchain/cbindgen.yml new file mode 100644 index 0000000000..e2de4a934a --- /dev/null +++ b/taskcluster/ci/toolchain/cbindgen.yml @@ -0,0 +1,67 @@ +# 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-gcp + worker: + max-run-time: 3600 + run: + script: build-rust-based-toolchain.sh + toolchain-artifact: public/build/cbindgen.tar.zst + fetches: + fetch: + # If you update this, make sure to update the minimum version in + # build/moz.configure/bindgen.configure as well. + - cbindgen-0.24.3 + +linux64-cbindgen: + treeherder: + symbol: TL(cbindgen) + worker: + max-run-time: 1800 + run: + arguments: ['x86_64-unknown-linux-gnu'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-toolchain + - sysroot-x86_64-linux-gnu + +macosx64-cbindgen: + treeherder: + symbol: TM(cbindgen) + run: + arguments: ['x86_64-apple-darwin'] + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk + +macosx64-aarch64-cbindgen: + treeherder: + symbol: TM(cbindgen-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk + +win64-cbindgen: + treeherder: + symbol: TW64(cbindgen) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - win64-vs2017 diff --git a/taskcluster/ci/toolchain/clang-tidy.yml b/taskcluster/ci/toolchain/clang-tidy.yml new file mode 100644 index 0000000000..8d47547510 --- /dev/null +++ b/taskcluster/ci/toolchain/clang-tidy.yml @@ -0,0 +1,132 @@ +# 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-gcp + 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/*.txt' + - 'build/clang-plugin/moz.build' + - 'build/clang-plugin/Makefile.in' + - 'build/build-clang/build-clang.py' + fetches: + fetch: + - clang-15 + +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' + fetches: + toolchain: + - linux64-clang-15 + - linux64-toolchain-sysroot + +macosx64-clang-tidy: + index: + job-name: macosx64-clang-tidy + treeherder: + symbol: TM(clang-tidy) + worker-type: b-linux-large-gcp + run: + script: build-clang.sh + arguments: + - 'build/build-clang/clang-tidy-macosx64.json' + resources: + - 'build/build-clang/clang-tidy-macosx64.json' + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-15 + - macosx64-sdk + +macosx64-arch64-clang-tidy: + index: + job-name: macosx64-aarch64-clang-tidy + treeherder: + symbol: TM(clang-tidy-aarch64) + worker-type: b-linux-large-gcp + worker: + env: + OSX_ARCH: arm64 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/clang-tidy-macosx64.json' + resources: + - 'build/build-clang/clang-tidy-macosx64.json' + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-15 + - macosx64-sdk + +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 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/clang-tidy-win64.json' + resources: + - 'build/build-clang/clang-tidy-win64.json' + fetches: + fetch: + - cmake + - ninja + toolchain: + - win64-vs2019 + +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-clang-15 + - linux64-toolchain-sysroot diff --git a/taskcluster/ci/toolchain/clang.yml b/taskcluster/ci/toolchain/clang.yml new file mode 100644 index 0000000000..1267587c9f --- /dev/null +++ b/taskcluster/ci/toolchain/clang.yml @@ -0,0 +1,871 @@ +# 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-gcp + 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(clang-5.0) + worker-type: b-linux-large-gcp + run: + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-5.0.json' + - 'build/build-clang/2stages.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-5.0.json' + - 'build/build-clang/2stages.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-5.0 + toolchain: + - linux64-toolchain-sysroot + +linux64-clang-14-stage1: + description: "Clang 14 toolchain build" + treeherder: + symbol: TL(clang-14-stage1) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-14.json' + - 'build/build-clang/1stage.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-14.json' + - 'build/build-clang/1stage.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-14 + toolchain: + - linux64-toolchain-sysroot + +linux64-clang-14: + description: "Clang 14 toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TL(clang-14) + worker-type: b-linux-gcp + worker: + max-run-time: 600 + run: + script: repack-clang.sh + toolchain-artifact: public/build/clang.tar.zst + fetches: + toolchain: + - linux64-clang-14-stage1 + +macosx64-clang-14-raw: + description: "Clang 14 toolchain build" + treeherder: + symbol: TM(clang-14-raw) + worker-type: b-linux-large-gcp + worker: + max-run-time: 3600 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-14.json' + - 'build/build-clang/1stage.json' + resources: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-14.json' + - 'build/build-clang/1stage.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-14 + toolchain: + - linux64-cctools-port + - linux64-clang-14-stage1 + - macosx64-sdk + +linux64-clang-15-mingw-x86: + description: "MinGW-Clang 15 x86 toolchain build" + treeherder: + symbol: TMW(clang-15-x86) + worker-type: b-linux-gcp + run: + script: build-clang-mingw.sh + arguments: + - 'x86' + toolchain-alias: + by-project: + toolchains: null + default: linux64-clang-mingw-x86 + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-15 + - mingw-w64 + - llvm-mingw + - gcc-9.4.0 + toolchain: + - linux64-clang-15 + +linux64-clang-15-mingw-x64: + description: "MinGW-Clang 15 x64 toolchain build" + treeherder: + symbol: TMW(clang-15-x64) + tier: 1 + worker-type: b-linux-gcp + run: + script: build-clang-mingw.sh + arguments: + - 'x64' + toolchain-alias: + by-project: + toolchains: null + default: linux64-clang-mingw-x64 + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-15 + - mingw-w64 + - llvm-mingw + - gcc-9.4.0 + toolchain: + - linux64-clang-15 + +linux64-clang-15-stage1: + description: "Clang 15 toolchain build" + treeherder: + symbol: TL(clang-15-stage1) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/1stage.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/1stage.json' + toolchain-alias: + by-project: + toolchains: null + default: linux64-clang-toolchain + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-toolchain-sysroot + +linux64-clang-15-profile: + description: "Clang 15 toolchain build" + treeherder: + symbol: TL(clang-15-profile) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/skip-stage-1.json' + - 'build/build-clang/profile.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/skip-stage-1.json' + - 'build/build-clang/profile.json' + toolchain-artifact: public/build/merged.profdata + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - linux64-x64-compiler-rt-15 + - linux64-toolchain-sysroot + +linux64-clang-15-raw: + description: "Clang 15 toolchain build" + treeherder: + symbol: TL(clang-15-raw) + run: + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - linux64-clang-15-profile + - linux64-toolchain-sysroot + +linux64-clang-15: + description: "Clang 15 toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TL(clang-15) + worker-type: b-linux-gcp + worker: + max-run-time: 600 + run: + script: repack-clang.sh + toolchain-alias: + by-project: + toolchains: null + default: linux64-clang + toolchain-artifact: public/build/clang.tar.zst + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-15-raw + - android-aarch64-compiler-rt-15 + - android-arm-compiler-rt-15 + - android-x64-compiler-rt-15 + - android-x86-compiler-rt-15 + - linux64-aarch64-compiler-rt-15 + - linux64-x64-compiler-rt-15 + - linux64-x86-compiler-rt-15 + - macosx64-aarch64-compiler-rt-15 + - macosx64-x64-compiler-rt-15 + - wasm32-wasi-compiler-rt-15 + - win32-compiler-rt-15 + - win64-compiler-rt-15 + +macosx64-clang-15-raw: + description: "Clang 15 toolchain build" + treeherder: + symbol: TM(clang-15-raw) + worker-type: b-linux-large-gcp + worker: + max-run-time: 3600 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-cctools-port + - linux64-clang-15-stage1 + - linux64-clang-15-profile + - macosx64-sdk + - macosx64-x64-compiler-rt-15 + +macosx64-clang-15: + description: "Clang 15 toolchain repack with MacOS Compiler RT libs" + attributes: + local-toolchain: true + treeherder: + symbol: TM(clang-15) + worker-type: b-linux-gcp + worker: + max-run-time: 600 + run: + script: repack-clang.sh + toolchain-alias: + by-project: + toolchains: null + default: + - macosx64-clang + - macosx64-clang-toolchain + toolchain-artifact: public/build/clang.tar.zst + fetches: + toolchain: + - linux64-cctools-port + - macosx64-clang-15-raw + - android-aarch64-compiler-rt-15 + - android-arm-compiler-rt-15 + - android-x64-compiler-rt-15 + - android-x86-compiler-rt-15 + - linux64-aarch64-compiler-rt-15 + - linux64-x64-compiler-rt-15 + - linux64-x86-compiler-rt-15 + - macosx64-aarch64-compiler-rt-15 + - macosx64-x64-compiler-rt-15 + - wasm32-wasi-compiler-rt-15 + - win32-compiler-rt-15 + - win64-compiler-rt-15 + +macosx64-aarch64-clang-15-raw: + description: "Clang 15 toolchain build" + treeherder: + symbol: TM(clang-15-aarch64-raw) + worker-type: b-linux-large-gcp + worker: + env: + OSX_ARCH: arm64 + max-run-time: 3600 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-cctools-port + - linux64-clang-15-stage1 + - linux64-clang-15-profile + - macosx64-sdk + - macosx64-aarch64-compiler-rt-15 + +macosx64-aarch64-clang-15: + description: "Clang 15 toolchain repack with MacOS Compiler RT libs" + attributes: + local-toolchain: true + treeherder: + symbol: TM(clang-15-aarch64) + worker-type: b-linux-gcp + worker: + max-run-time: 600 + run: + script: repack-clang.sh + toolchain-alias: + by-project: + toolchains: null + default: macosx64-aarch64-clang + toolchain-artifact: public/build/clang.tar.zst + fetches: + toolchain: + - linux64-cctools-port + - macosx64-aarch64-clang-15-raw + - android-aarch64-compiler-rt-15 + - android-arm-compiler-rt-15 + - android-x64-compiler-rt-15 + - android-x86-compiler-rt-15 + - linux64-aarch64-compiler-rt-15 + - linux64-x64-compiler-rt-15 + - linux64-x86-compiler-rt-15 + - macosx64-aarch64-compiler-rt-15 + - macosx64-x64-compiler-rt-15 + - wasm32-wasi-compiler-rt-15 + - win32-compiler-rt-15 + - win64-compiler-rt-15 + +win64-clang-15-stage1: + description: "Clang-cl 15 toolchain build stage 1" + treeherder: + symbol: TW64(clang-15-stage1) + worker-type: b-win2012 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/1stage.json' + resources: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/1stage.json' + toolchain-alias: + by-project: + toolchains: null + default: win64-clang-toolchain + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-15 + - cmake + - ninja + toolchain: + - win64-vs2019 + +win64-clang-15-raw: + description: "Clang-cl 15 toolchain build" + treeherder: + symbol: TW64(clang-15-raw) + worker-type: b-win2012 + worker: + max-run-time: 9000 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/skip-stage-1-win64.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-15.json' + - 'build/build-clang/skip-stage-1-win64.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-15 + - cmake + - ninja + toolchain: + - win64-clang-15-stage1 + - win64-compiler-rt-15 + - win64-vs2019 + +win64-clang-15: + description: "Clang-cl 15 toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TW64(clang-15) + worker-type: b-linux-gcp + worker: + max-run-time: 600 + run: + script: repack-clang.sh + toolchain-alias: + by-project: + toolchains: null + default: win64-clang + toolchain-artifact: public/build/clang.tar.zst + fetches: + toolchain: + - linux64-cctools-port + - win64-clang-15-raw + - android-aarch64-compiler-rt-15 + - android-arm-compiler-rt-15 + - android-x64-compiler-rt-15 + - android-x86-compiler-rt-15 + - linux64-aarch64-compiler-rt-15 + - linux64-x64-compiler-rt-15 + - linux64-x86-compiler-rt-15 + - macosx64-aarch64-compiler-rt-15 + - macosx64-x64-compiler-rt-15 + - wasm32-wasi-compiler-rt-15 + - win32-compiler-rt-15 + - win64-compiler-rt-15 + +linux64-clang-trunk-mingw-x86: + description: "MinGW-Clang trunk x86 toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TMW(clang-trunk-x86) + worker-type: b-linux-gcp + run: + script: build-clang-mingw.sh + arguments: + - 'x86' + toolchain-alias: + by-project: + toolchains: linux64-clang-mingw-x86 + default: null + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-trunk + - mingw-w64 + - llvm-mingw + - gcc-9.4.0 + toolchain: + - linux64-clang-trunk + +linux64-clang-trunk-mingw-x64: + description: "MinGW-Clang trunk x64 toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TMW(clang-trunk-x64) + tier: 1 + worker-type: b-linux-gcp + run: + script: build-clang-mingw.sh + arguments: + - 'x64' + toolchain-alias: + by-project: + toolchains: linux64-clang-mingw-x64 + default: null + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-trunk + - mingw-w64 + - llvm-mingw + - gcc-9.4.0 + toolchain: + - linux64-clang-trunk + +linux64-clang-trunk-stage1: + description: "Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TL(clang-trunk-stage1) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/1stage.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/1stage.json' + toolchain-alias: + by-project: + toolchains: linux64-clang-toolchain + default: null + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-toolchain-sysroot + +linux64-clang-trunk-profile: + description: "Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TL(clang-trunk-profile) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/skip-stage-1.json' + - 'build/build-clang/profile.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/skip-stage-1.json' + - 'build/build-clang/profile.json' + toolchain-artifact: public/build/merged.profdata + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - linux64-x64-compiler-rt-trunk + - linux64-toolchain-sysroot + +linux64-clang-trunk-raw: + description: "Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TL(clang-trunk-raw) + run: + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - linux64-clang-trunk-profile + - linux64-toolchain-sysroot + +linux64-clang-trunk: + description: "Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TL(clang-trunk) + worker-type: b-linux-gcp + worker: + max-run-time: 600 + run: + script: repack-clang.sh + toolchain-alias: + by-project: + toolchains: linux64-clang + default: null + toolchain-artifact: public/build/clang.tar.zst + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-trunk-raw + - android-aarch64-compiler-rt-trunk + - android-arm-compiler-rt-trunk + - android-x64-compiler-rt-trunk + - android-x86-compiler-rt-trunk + - linux64-aarch64-compiler-rt-trunk + - linux64-x64-compiler-rt-trunk + - linux64-x86-compiler-rt-trunk + - macosx64-aarch64-compiler-rt-trunk + - macosx64-x64-compiler-rt-trunk + - wasm32-wasi-compiler-rt-trunk + - win32-compiler-rt-trunk + - win64-compiler-rt-trunk + +macosx64-clang-trunk-raw: + description: "Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TM(clang-trunk-raw) + worker-type: b-linux-large-gcp + worker: + max-run-time: 3600 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-cctools-port + - linux64-clang-trunk-stage1 + - linux64-clang-trunk-profile + - macosx64-sdk + - macosx64-x64-compiler-rt-trunk + +macosx64-clang-trunk: + description: "Clang trunk toolchain repack with MacOS Compiler RT libs" + attributes: + cached_task: false + treeherder: + symbol: TM(clang-trunk) + worker-type: b-linux-gcp + worker: + max-run-time: 600 + run: + script: repack-clang.sh + toolchain-alias: + by-project: + toolchains: + - macosx64-clang + - macosx64-clang-toolchain + default: null + toolchain-artifact: public/build/clang.tar.zst + fetches: + toolchain: + - linux64-cctools-port + - macosx64-clang-trunk-raw + - android-aarch64-compiler-rt-trunk + - android-arm-compiler-rt-trunk + - android-x64-compiler-rt-trunk + - android-x86-compiler-rt-trunk + - linux64-aarch64-compiler-rt-trunk + - linux64-x64-compiler-rt-trunk + - linux64-x86-compiler-rt-trunk + - macosx64-aarch64-compiler-rt-trunk + - macosx64-x64-compiler-rt-trunk + - wasm32-wasi-compiler-rt-trunk + - win32-compiler-rt-trunk + - win64-compiler-rt-trunk + +macosx64-aarch64-clang-trunk-raw: + description: "Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TM(clang-trunk-aarch64-raw) + worker-type: b-linux-large-gcp + worker: + env: + OSX_ARCH: arm64 + max-run-time: 3600 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-cctools-port + - linux64-clang-trunk-stage1 + - linux64-clang-trunk-profile + - macosx64-sdk + - macosx64-aarch64-compiler-rt-trunk + +macosx64-aarch64-clang-trunk: + description: "Clang trunk toolchain repack with MacOS Compiler RT libs" + attributes: + cached_task: false + treeherder: + symbol: TM(clang-trunk-aarch64) + worker-type: b-linux-gcp + worker: + max-run-time: 600 + run: + script: repack-clang.sh + toolchain-alias: + by-project: + toolchains: macosx64-aarch64-clang + default: null + toolchain-artifact: public/build/clang.tar.zst + fetches: + toolchain: + - linux64-cctools-port + - macosx64-aarch64-clang-trunk-raw + - android-aarch64-compiler-rt-trunk + - android-arm-compiler-rt-trunk + - android-x64-compiler-rt-trunk + - android-x86-compiler-rt-trunk + - linux64-aarch64-compiler-rt-trunk + - linux64-x64-compiler-rt-trunk + - linux64-x86-compiler-rt-trunk + - macosx64-aarch64-compiler-rt-trunk + - macosx64-x64-compiler-rt-trunk + - wasm32-wasi-compiler-rt-trunk + - win32-compiler-rt-trunk + - win64-compiler-rt-trunk + +win64-clang-trunk-stage1: + description: "Clang-cl trunk toolchain build stage 1" + attributes: + cached_task: false + treeherder: + symbol: TW64(clang-trunk-stage1) + worker-type: b-win2012 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/1stage.json' + resources: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/1stage.json' + toolchain-alias: + by-project: + toolchains: win64-clang-toolchain + default: null + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-trunk + - cmake + - ninja + toolchain: + - win64-vs2019 + +win64-clang-trunk-raw: + description: "Clang-cl trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TW64(clang-trunk-raw) + worker-type: b-win2012 + worker: + max-run-time: 9000 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/skip-stage-1-win64.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-trunk.json' + - 'build/build-clang/skip-stage-1-win64.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-trunk + - cmake + - ninja + toolchain: + - win64-clang-trunk-stage1 + - win64-compiler-rt-trunk + - win64-vs2019 + +win64-clang-trunk: + description: "Clang-cl trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TW64(clang-trunk) + worker-type: b-linux-gcp + worker: + max-run-time: 600 + run: + script: repack-clang.sh + toolchain-alias: + by-project: + toolchains: win64-clang + default: null + toolchain-artifact: public/build/clang.tar.zst + fetches: + toolchain: + - linux64-cctools-port + - win64-clang-trunk-raw + - android-aarch64-compiler-rt-trunk + - android-arm-compiler-rt-trunk + - android-x64-compiler-rt-trunk + - android-x86-compiler-rt-trunk + - linux64-aarch64-compiler-rt-trunk + - linux64-x64-compiler-rt-trunk + - linux64-x86-compiler-rt-trunk + - macosx64-aarch64-compiler-rt-trunk + - macosx64-x64-compiler-rt-trunk + - wasm32-wasi-compiler-rt-trunk + - win32-compiler-rt-trunk + - win64-compiler-rt-trunk diff --git a/taskcluster/ci/toolchain/compiler-rt.yml b/taskcluster/ci/toolchain/compiler-rt.yml new file mode 100644 index 0000000000..073314f0a6 --- /dev/null +++ b/taskcluster/ci/toolchain/compiler-rt.yml @@ -0,0 +1,462 @@ +# 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-gcp + worker: + max-run-time: 1800 + run: + using: toolchain-script + script: build-compiler-rt.sh + +android-aarch64-compiler-rt-15: + description: "android aarch64 Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TA(aarch64-crt-15) + run: + arguments: + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-linux-android.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - linux64-android-ndk-linux-repack + +android-arm-compiler-rt-15: + description: "android arm Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TA(arm-crt-15) + run: + arguments: + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-armv7-linux-android.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - linux64-android-ndk-linux-repack + +android-x86-compiler-rt-15: + description: "android x86 Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TA(x86-crt-15) + run: + arguments: + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-linux-android.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - linux64-android-ndk-linux-repack + +android-x64-compiler-rt-15: + description: "android x64 Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TA(x64-crt-15) + run: + arguments: + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-linux-android.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - linux64-android-ndk-linux-repack + +linux64-x86-compiler-rt-15: + description: "Linux x86 Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TL(x86-crt-15) + run: + arguments: + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - sysroot-i686-linux-gnu + +linux64-x64-compiler-rt-15: + description: "Linux x64 Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TL(x64-crt-15) + run: + arguments: + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - sysroot-x86_64-linux-gnu + +linux64-aarch64-compiler-rt-15: + description: "Linux aarch64 Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TL(aarch64-crt-15) + run: + arguments: + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - sysroot-aarch64-linux-gnu + +macosx64-x64-compiler-rt-15: + description: "macOS x64 Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TM(x64-crt-15) + run: + arguments: + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-apple-darwin.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - macosx64-sdk + +macosx64-aarch64-compiler-rt-15: + description: "macOS aarch64 Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TM(aarch64-crt-15) + run: + arguments: + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-apple-darwin.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - macosx64-sdk + +win32-compiler-rt-15: + description: "win32 x86 Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TW32(crt-15) + run: + arguments: + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-pc-windows-msvc.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - win64-vs2019 + +win64-compiler-rt-15: + description: "win64 x64 Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TW64(crt-15) + run: + arguments: + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-pc-windows-msvc.tar.zst + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - win64-vs2019 + +wasm32-wasi-compiler-rt-15: + description: "wasm32-wasi Compiler-rt for Clang 15 toolchain build" + treeherder: + symbol: TL(wasi-crt-15) + worker-type: b-linux-xlarge-gcp + run: + script: build-compiler-rt-wasi.sh + toolchain-artifact: public/build/compiler-rt-wasm32-wasi.tar.zst + toolchain-alias: wasm32-wasi-compiler-rt + fetches: + fetch: + - clang-15 + - wasi-sdk + toolchain: + - linux64-clang-15-stage1 + +android-aarch64-compiler-rt-trunk: + description: "android aarch64 Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TA(aarch64-crt-trunk) + run: + arguments: + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-linux-android.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - linux64-android-ndk-linux-repack + +android-arm-compiler-rt-trunk: + description: "android arm Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TA(arm-crt-trunk) + run: + arguments: + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-armv7-linux-android.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - linux64-android-ndk-linux-repack + +android-x86-compiler-rt-trunk: + description: "android x86 Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TA(x86-crt-trunk) + run: + arguments: + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-linux-android.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - linux64-android-ndk-linux-repack + +android-x64-compiler-rt-trunk: + description: "android x64 Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TA(x64-crt-trunk) + run: + arguments: + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-linux-android.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - linux64-android-ndk-linux-repack + +linux64-x86-compiler-rt-trunk: + description: "Linux x86 Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TL(x86-crt-trunk) + run: + arguments: + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - sysroot-i686-linux-gnu + +linux64-x64-compiler-rt-trunk: + description: "Linux x64 Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TL(x64-crt-trunk) + run: + arguments: + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - sysroot-x86_64-linux-gnu + +linux64-aarch64-compiler-rt-trunk: + description: "Linux aarch64 Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TL(aarch64-crt-trunk) + run: + arguments: + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - sysroot-aarch64-linux-gnu + +macosx64-x64-compiler-rt-trunk: + description: "macOS x64 Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TM(x64-crt-trunk) + run: + arguments: + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-apple-darwin.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - macosx64-sdk + +macosx64-aarch64-compiler-rt-trunk: + description: "macOS aarch64 Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TM(aarch64-crt-trunk) + run: + arguments: + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-apple-darwin.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - macosx64-sdk + +win32-compiler-rt-trunk: + description: "win32 x86 Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TW32(crt-trunk) + run: + arguments: + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-pc-windows-msvc.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - win64-vs2019 + +win64-compiler-rt-trunk: + description: "win64 x64 Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TW64(crt-trunk) + run: + arguments: + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-pc-windows-msvc.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - win64-vs2019 + +wasm32-wasi-compiler-rt-trunk: + description: "wasm32-wasi Compiler-rt for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TL(wasi-crt-trunk) + worker-type: b-linux-xlarge-gcp + run: + script: build-compiler-rt-wasi.sh + toolchain-artifact: public/build/compiler-rt-wasm32-wasi.tar.zst + fetches: + fetch: + - clang-trunk + - wasi-sdk + toolchain: + - linux64-clang-trunk-stage1 diff --git a/taskcluster/ci/toolchain/dist-toolchains.yml b/taskcluster/ci/toolchain/dist-toolchains.yml new file mode 100644 index 0000000000..31b60918e6 --- /dev/null +++ b/taskcluster/ci/toolchain/dist-toolchains.yml @@ -0,0 +1,40 @@ +# 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-gcp + 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..8b6dac1bb4 --- /dev/null +++ b/taskcluster/ci/toolchain/dump-syms.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: + attributes: + local-toolchain: true + description: "dump_syms toolchain build" + worker-type: b-linux-gcp + worker: + max-run-time: 1800 + run: + script: build-rust-based-toolchain.sh + toolchain-artifact: public/build/dump_syms.tar.zst + fetches: + fetch: + - dump-syms + +linux64-dump_syms: + treeherder: + symbol: TL(dump_syms) + run: + arguments: ['x86_64-unknown-linux-gnu'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-1.66 + - sysroot-x86_64-linux-gnu + +macosx64-dump_syms: + treeherder: + symbol: TM(dump_syms) + worker-type: b-linux-gcp + run: + arguments: ['x86_64-apple-darwin'] + fetches: + toolchain: + - linux64-rust-macos-1.66 + - linux64-clang-toolchain + - linux64-cctools-port + - macosx64-sdk + +macosx64-aarch64-dump_syms: + treeherder: + symbol: TM(dump_syms-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-rust-macos-1.66 + - linux64-clang-toolchain + - linux64-cctools-port + - macosx64-sdk + +win64-dump_syms: + treeherder: + symbol: TW64(dump_syms) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-1.66 + - win64-vs2017 diff --git a/taskcluster/ci/toolchain/fix-stacks.yml b/taskcluster/ci/toolchain/fix-stacks.yml new file mode 100644 index 0000000000..f48812894a --- /dev/null +++ b/taskcluster/ci/toolchain/fix-stacks.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: + description: "fix-stacks toolchain build" + attributes: + local-toolchain: true + worker-type: b-linux-gcp + worker: + max-run-time: 1800 + run: + script: build-rust-based-toolchain.sh + toolchain-artifact: public/build/fix-stacks.tar.zst + fetches: + fetch: + - fix-stacks + +linux64-fix-stacks: + treeherder: + symbol: TL(fix-stacks) + run: + arguments: ['x86_64-unknown-linux-gnu'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-toolchain + - sysroot-x86_64-linux-gnu + +macosx64-fix-stacks: + treeherder: + symbol: TM(fix-stacks) + run: + arguments: ['x86_64-apple-darwin'] + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk + +macosx64-aarch64-fix-stacks: + treeherder: + symbol: TM(fix-stacks-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk + +win32-fix-stacks: + treeherder: + symbol: TW32(fix-stacks) + run: + arguments: ['i686-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - win64-vs2017 + +win64-fix-stacks: + treeherder: + symbol: TW64(fix-stacks) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - win64-vs2017 diff --git a/taskcluster/ci/toolchain/gcc.yml b/taskcluster/ci/toolchain/gcc.yml new file mode 100644 index 0000000000..1bdebb51ea --- /dev/null +++ b/taskcluster/ci/toolchain/gcc.yml @@ -0,0 +1,95 @@ +# 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-gcp + worker: + max-run-time: 3600 + run: + resources: + - 'build/unix/build-gcc/build-gcc.sh' + toolchain-artifact: public/build/gcc.tar.zst + fetches: + toolchain: + - linux64-toolchain-sysroot + +linux64-gcc-7: + description: "GCC 7 toolchain build" + treeherder: + symbol: TL(gcc7) + run: + script: build-gcc-linux.sh + toolchain-alias: linux64-gcc + fetches: + fetch: + - gcc-7.5.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: + - gcc-8.5.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: + - gcc-9.4.0 + - gmp-6.1.0 + - isl-0.16.1 + - mpc-1.0.3 + - mpfr-3.1.4 + +linux64-gcc-11: + description: "GCC 11 toolchain build" + treeherder: + symbol: TL(gcc11) + run: + script: build-gcc-linux.sh + arguments: + - build/unix/build-gcc/PR104142.patch + resources: + - build/unix/build-gcc/PR104142.patch + fetches: + fetch: + - gcc-11.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: + - gcc-9.4.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..b28ce85bef --- /dev/null +++ b/taskcluster/ci/toolchain/geckodriver.yml @@ -0,0 +1,139 @@ +# 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-gcp + 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 + +linux64-aarch64-geckodriver: + treeherder: + symbol: TL(gd) + platform: linux64-aarch64/opt + run: + arguments: ['aarch64-unknown-linux-musl'] + attributes: + build_platform: linux64-aarch64-geckodriver + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-static + +macosx64-geckodriver: + treeherder: + symbol: TM(gd) + platform: macosx64/opt + run: + arguments: ['x86_64-apple-darwin'] + attributes: + build_platform: macosx64-geckodriver + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-toolchain + - linux64-rust-macos + - macosx64-sdk + +macosx64-aarch64-geckodriver: + treeherder: + symbol: TM(gd) + platform: macosx64-aarch64/opt + run: + arguments: ['aarch64-apple-darwin'] + attributes: + build_platform: macosx64-aarch64-geckodriver + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-toolchain + - linux64-rust-macos + - macosx64-sdk + +win32-geckodriver: + treeherder: + symbol: TW32(gd) + platform: win32/opt + run: + arguments: ['i686-pc-windows-msvc'] + toolchain-artifact: public/build/geckodriver.zip + attributes: + build_platform: win32-geckodriver + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows + - win64-vs2017 + +win64-aarch64-geckodriver: + treeherder: + symbol: TW64(gd) + platform: windows2012-aarch64/opt + run: + arguments: ['aarch64-pc-windows-msvc'] + toolchain-artifact: public/build/geckodriver.zip + attributes: + build_platform: win64-aarch64-geckodriver + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows + - win64-vs2017 + +win64-geckodriver: + treeherder: + symbol: TW64(gd) + platform: win64/opt + run: + arguments: ['x86_64-pc-windows-msvc'] + toolchain-artifact: public/build/geckodriver.zip + attributes: + build_platform: win64-geckodriver + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows + - win64-vs2017 diff --git a/taskcluster/ci/toolchain/gn.yml b/taskcluster/ci/toolchain/gn.yml new file mode 100644 index 0000000000..354dbe9d5d --- /dev/null +++ b/taskcluster/ci/toolchain/gn.yml @@ -0,0 +1,50 @@ +# 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" + attributes: + local-toolchain: true + worker-type: b-linux-gcp + worker: + max-run-time: 1800 + run: + resources: + - 'taskcluster/scripts/misc/build-gn-common.sh' + toolchain-artifact: public/build/gn.tar.zst + fetches: + fetch: + - gn + +linux64-gn: + treeherder: + symbol: TL(gn) + run: + script: build-gn-linux.sh + +macosx64-gn: + treeherder: + symbol: TM(gn) + run: + script: build-gn-macosx.sh + toolchain-alias: macosx64-aarch64-gn + fetches: + toolchain: + - linux64-cctools-port + - linux64-clang-toolchain + - macosx64-sdk + +win64-gn: + treeherder: + symbol: TW64(gn) + worker-type: b-win2012 + worker: + max-run-time: 3600 + run: + script: build-gn-win64.sh + fetches: + fetch: + - ninja + toolchain: + - win64-vs2017 diff --git a/taskcluster/ci/toolchain/grcov.yml b/taskcluster/ci/toolchain/grcov.yml new file mode 100644 index 0000000000..72b7d3e4a3 --- /dev/null +++ b/taskcluster/ci/toolchain/grcov.yml @@ -0,0 +1,49 @@ +# 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-gcp + worker: + max-run-time: 1800 + run: + script: build-rust-based-toolchain.sh + toolchain-artifact: public/build/grcov.tar.zst + fetches: + fetch: + - grcov + +linux64-grcov: + treeherder: + symbol: TL(grcov) + run: + arguments: ['x86_64-unknown-linux-gnu'] + fetches: + toolchain: + - linux64-rust-toolchain + - linux64-clang-toolchain + - sysroot-x86_64-linux-gnu + +macosx64-grcov: + treeherder: + symbol: TM(grcov) + run: + arguments: ['x86_64-apple-darwin'] + fetches: + toolchain: + - linux64-rust-macos-toolchain + - linux64-clang-toolchain + - linux64-cctools-port + - macosx64-sdk + +win64-grcov: + treeherder: + symbol: TW64(grcov) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - win64-vs2017 diff --git a/taskcluster/ci/toolchain/kind.yml b/taskcluster/ci/toolchain/kind.yml new file mode 100644 index 0000000000..f23a00e91f --- /dev/null +++ b/taskcluster/ci/toolchain/kind.yml @@ -0,0 +1,52 @@ +# 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: gecko_taskgraph.loader.transform:loader + +kind-dependencies: + - fetch + - packages + +transforms: + - gecko_taskgraph.transforms.try_job:transforms + - gecko_taskgraph.transforms.job:transforms + - gecko_taskgraph.transforms.cached_tasks:transforms + - gecko_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 + - cargo-vet.yml + - cbindgen.yml + - clang-tidy.yml + - clang.yml + - compiler-rt.yml + - dump-syms.yml + - fix-stacks.yml + - gcc.yml + - geckodriver.yml + - gn.yml + - grcov.yml + - llvm-symbolizer.yml + - macos-sdk.yml + - mingw.yml + - minidump-stackwalk.yml + - misc.yml + - nasm.yml + - node.yml + - pkgconf.yml + - resourcemonitor.yml + - rust.yml + - rust-size.yml + - sccache.yml + - sysroot.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..6a4747e8b9 --- /dev/null +++ b/taskcluster/ci/toolchain/llvm-symbolizer.yml @@ -0,0 +1,241 @@ +# 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-large-gcp + worker: + max-run-time: 1800 + run: + script: build-llvm-symbolizer.sh + toolchain-artifact: public/build/llvm-symbolizer.tar.zst + +linux32-llvm-symbolizer-15: + description: "llvm-symbolizer for Linux" + treeherder: + symbol: TL32(llvm-symbolizer) + run: + arguments: + - i686-unknown-linux-gnu + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: null + default: linux32-llvm-symbolizer + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - linux32-toolchain-sysroot + +linux64-llvm-symbolizer-15: + description: "llvm-symbolizer for Linux" + treeherder: + symbol: TL(llvm-symbolizer) + run: + arguments: + - x86_64-unknown-linux-gnu + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: null + default: linux64-llvm-symbolizer + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - linux64-toolchain-sysroot + +macosx64-llvm-symbolizer-15: + description: "llvm-symbolizer for macOS x64" + treeherder: + symbol: TM(llvm-symbolizer) + run: + arguments: + - x86_64-apple-darwin + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: null + default: macosx64-llvm-symbolizer + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - macosx64-sdk + +macosx64-aarch64-llvm-symbolizer-15: + description: "llvm-symbolizer for macOS aarch64" + treeherder: + symbol: TM(llvm-symbolizer-aarch64) + run: + arguments: + - aarch64-apple-darwin + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: null + default: macosx64-aarch64-llvm-symbolizer + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - macosx64-sdk + +win64-llvm-symbolizer-15: + description: "llvm-symbolizer for Windows" + treeherder: + symbol: TW64(llvm-symbolizer) + run: + arguments: + - x86_64-pc-windows-msvc + - build/build-clang/clang-15.json + resources: + - build/build-clang/clang-15.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: null + default: win64-llvm-symbolizer + fetches: + fetch: + - clang-15 + toolchain: + - linux64-clang-15-stage1 + - win64-vs2019 + +linux32-llvm-symbolizer-trunk: + description: "llvm-symbolizer for Linux" + attributes: + cached_task: false + treeherder: + symbol: TL32(llvm-symbolizer-trunk) + run: + arguments: + - i686-unknown-linux-gnu + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: linux32-llvm-symbolizer + default: null + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - linux32-toolchain-sysroot + +linux64-llvm-symbolizer-trunk: + description: "llvm-symbolizer for Linux" + attributes: + cached_task: false + treeherder: + symbol: TL(llvm-symbolizer-trunk) + run: + arguments: + - x86_64-unknown-linux-gnu + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: linux64-llvm-symbolizer + default: null + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - linux64-toolchain-sysroot + +macosx64-llvm-symbolizer-trunk: + description: "llvm-symbolizer for macOS x64" + attributes: + cached_task: false + treeherder: + symbol: TM(llvm-symbolizer-trunk) + run: + arguments: + - x86_64-apple-darwin + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: macosx64-llvm-symbolizer + default: null + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - macosx64-sdk + +macosx64-aarch64-llvm-symbolizer-trunk: + description: "llvm-symbolizer for macOS aarch64" + attributes: + cached_task: false + treeherder: + symbol: TM(llvm-sym-aarch64-trunk) + run: + arguments: + - aarch64-apple-darwin + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: macosx64-aarch64-llvm-symbolizer + default: null + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - macosx64-sdk + +win64-llvm-symbolizer-trunk: + description: "llvm-symbolizer for Windows" + attributes: + cached_task: false + treeherder: + symbol: TW64(llvm-symbolizer-trunk) + run: + arguments: + - x86_64-pc-windows-msvc + - build/build-clang/clang-trunk.json + resources: + - build/build-clang/clang-trunk.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: win64-llvm-symbolizer + default: null + fetches: + fetch: + - clang-trunk + toolchain: + - linux64-clang-trunk-stage1 + - win64-vs2019 diff --git a/taskcluster/ci/toolchain/macos-sdk.yml b/taskcluster/ci/toolchain/macos-sdk.yml new file mode 100644 index 0000000000..f89ac1eb23 --- /dev/null +++ b/taskcluster/ci/toolchain/macos-sdk.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/. +--- +job-defaults: + attributes: + artifact_prefix: project/gecko/mac-sdk + worker-type: b-osx-1015 + worker: + max-run-time: 1800 + env: + PATH: "/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin" + run: + script: pack.sh + # Expiry similar to that of fetches + expires-after: 1000 years + +macosx64-sdk-10.11: + description: "MacOSX10.11 SDK" + treeherder: + symbol: TM(sdk10.11) + run: + arguments: + - /Applications/Xcode-7.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk + toolchain-artifact: project/gecko/mac-sdk/MacOSX10.11.sdk.tar.zst + +macosx64-sdk-11.0: + description: "MacOSX11.0 SDK" + treeherder: + symbol: TM(sdk11) + run: + 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 + +macosx64-sdk-11.3: + description: "MacOSX11.3 SDK" + treeherder: + symbol: TM(sdk11.3) + run: + script: pack-macos-sdk.sh + arguments: + - https://swcdn.apple.com/content/downloads/52/17/002-41708-A_E8MFK7B2PK/6p55tbmh0qttgbt4cy94uuvnacy6tkw435/CLTools_macOSLMOS_SDK.pkg + - b075d3d2f3b066607209a5bbf7cf727a40b98fe65629c5b6abc17f156897af4a + - Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk + toolchain-artifact: project/gecko/mac-sdk/MacOSX11.3.sdk.tar.zst + toolchain-alias: macosx64-sdk diff --git a/taskcluster/ci/toolchain/mingw.yml b/taskcluster/ci/toolchain/mingw.yml new file mode 100644 index 0000000000..b0573ac47b --- /dev/null +++ b/taskcluster/ci/toolchain/mingw.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: + treeherder: + tier: 2 + worker-type: b-linux-gcp + worker: + max-run-time: 3600 + +linux64-mingw32-nsis: + description: "NSIS build for MinGW32 Cross Compile" + treeherder: + symbol: TMW(mingw32-nsis) + run: + script: build-mingw32-nsis.sh + toolchain-artifact: public/build/nsis.tar.zst + fetches: + fetch: + - nsis-3.07 + - zlib-1.2.13 + toolchain: + - linux64-binutils + - linux64-clang-mingw-x86 + - sysroot-x86_64-linux-gnu + +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.zst + 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..c68270db4f --- /dev/null +++ b/taskcluster/ci/toolchain/minidump-stackwalk.yml @@ -0,0 +1,98 @@ +# 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-gcp + worker: + max-run-time: 1800 + env: + FETCH: rust-minidump/minidump-stackwalk + run: + script: build-rust-based-toolchain.sh + toolchain-artifact: public/build/minidump-stackwalk.tar.zst + fetches: + fetch: + - rust-minidump + +linux64-minidump-stackwalk: + treeherder: + symbol: TL(stackwalk) + run: + arguments: ['x86_64-unknown-linux-gnu'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-toolchain + - sysroot-x86_64-linux-gnu + +macosx64-minidump-stackwalk: + treeherder: + symbol: TM(stackwalk) + run: + arguments: ['x86_64-apple-darwin'] + fetches: + toolchain: + - linux64-rust-macos-toolchain + - linux64-clang-toolchain + - linux64-cctools-port + - macosx64-sdk + +macosx64-aarch64-minidump-stackwalk: + treeherder: + symbol: TM(stackwalk-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-rust-macos-toolchain + - linux64-clang-toolchain + - linux64-cctools-port + - macosx64-sdk + +win32-minidump-stackwalk: + treeherder: + symbol: TW32(stackwalk) + run: + arguments: ['i686-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - win64-vs2017 + +win64-minidump-stackwalk: + treeherder: + symbol: TW64(stackwalk) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - win64-vs2017 + +# This is a totally different thing but it used to share common code with +# minidump-stackwalk, so it lives here for historical reasons. +linux64-breakpad-injector: + description: "breakpad injector toolchain build" + run: + script: build-breakpad-injector.sh + toolchain-artifact: public/build/injector.tar.zst + sparse-profile: null + resources: + - 'build/moz.configure' + - 'config/external/zlib' + - 'moz.configure' + - 'toolkit/crashreporter' + - 'toolkit/crashreporter/google-breakpad/src/processor' + - 'tools/crashreporter/' + treeherder: + symbol: TL(injector) + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-toolchain-sysroot diff --git a/taskcluster/ci/toolchain/misc.yml b/taskcluster/ci/toolchain/misc.yml new file mode 100644 index 0000000000..4c9e208769 --- /dev/null +++ b/taskcluster/ci/toolchain/misc.yml @@ -0,0 +1,373 @@ +# 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-gcp + worker: + max-run-time: 1800 + +linux64-binutils-2.31.1: + description: "Binutils toolchain build" + treeherder: + symbol: TL(binutil2.31) + run: + script: build-binutils-linux.sh + resources: + - 'build/unix/build-binutils/build-binutils.sh' + toolchain-artifact: public/build/binutils.tar.zst + fetches: + fetch: + - binutils-2.31.1 + toolchain: + # C++ code in gold doesn't compile with recent versions of GCC. + - linux64-gcc-7 + - linux64-toolchain-sysroot + +linux64-binutils: + description: "Binutils toolchain build" + treeherder: + symbol: TL(binutil) + run: + script: build-binutils-linux.sh + resources: + - 'build/unix/build-binutils/build-binutils.sh' + toolchain-artifact: public/build/binutils.tar.zst + fetches: + fetch: + - binutils-2.36.1 + toolchain: + - linux64-toolchain-sysroot + +linux64-cctools-port: + description: "cctools-port toolchain build" + treeherder: + symbol: TL(cctools-clang) + run: + script: build-cctools-port.sh + toolchain-artifact: public/build/cctools.tar.zst + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-toolchain-sysroot + fetch: + - cctools-port + - libtapi + - ldid + +linux64-hfsplus: + description: "hfsplus toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TL(hfs+) + run: + script: build-hfsplus-linux.sh + resources: + - 'build/unix/build-hfsplus/build-hfsplus.sh' + toolchain-artifact: public/build/hfsplus.tar.zst + fetches: + fetch: + - hfsplus-tools + toolchain: + - linux64-clang-toolchain + +linux64-libdmg: + description: "libdmg-hfsplus toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TL(libdmg-hfs+) + run: + script: build-dmg-hfsplus.sh + toolchain-artifact: public/build/dmg.tar.zst + toolchain-alias: linux64-dmg + fetches: + fetch: + - libdmg-hfsplus + toolchain: + - linux64-clang-toolchain + - linux64-toolchain-sysroot + +linux64-mkbom: + description: "mkbom toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TL(mkbom) + run: + script: build-mkbom-linux.sh + toolchain-artifact: public/build/mkbom.tar.zst + fetches: + fetch: + - bomutils + toolchain: + - linux64-clang-toolchain + - linux64-toolchain-sysroot + +linux64-xar: + description: "xar toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TL(xar) + run: + script: build-xar-linux.sh + toolchain-artifact: public/build/xar.tar.zst + fetches: + fetch: + - xar + toolchain: + - linux64-clang-toolchain + - linux64-toolchain-sysroot + +linux64-mar-tools: + description: "mar-tools toolchain build" + treeherder: + symbol: TL(mar-tools) + fetches: + toolchain: + - linux64-clang-toolchain + run: + script: build-mar-tools.sh + sparse-profile: null + toolchain-artifact: public/build/mar-tools.tar.zst + 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.zst + +linux64-msix-packaging: + description: "msix-packaging build" + treeherder: + symbol: TL(msix-packaging) + tier: 1 + run: + script: build-msix-packaging.sh + toolchain-artifact: public/build/msix-packaging.tar.zst + fetches: + fetch: + - msix-packaging + toolchain: + - linux64-clang-toolchain + - linux64-toolchain-sysroot + +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.tar.zst, + is_debug=false, + target_cpu="x64" + ] + toolchain-artifact: public/build/d8.tar.zst + +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.zst + fetches: + toolchain: + - linux64-node-16 + +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.zst + fetches: + fetch: + - android-ndk-rs + toolchain: + - linux64-rust # whatever m-c is built with + +linux64-wine: + description: "Wine build for Windows Cross Compile" + attributes: + local-toolchain: true + treeherder: + symbol: TL(wine) + tier: 1 + worker: + max-run-time: 10800 + run: + script: build-wine.sh + toolchain-artifact: public/build/wine.tar.zst + fetches: + fetch: + - wine + +linux64-winchecksec: + description: "winchecksec" + attributes: + local-toolchain: true + treeherder: + symbol: TL(winchecksec) + run: + script: build-winchecksec.sh + arguments: ['x86_64-unknown-linux-gnu'] + toolchain-artifact: public/build/winchecksec.tar.zst + tooltool-downloads: internal + fetches: + fetch: + - winchecksec + +win64-winchecksec: + description: "winchecksec" + attributes: + local-toolchain: true + treeherder: + symbol: TW64(winchecksec) + run: + script: build-winchecksec.sh + arguments: ['x86_64-pc-windows-msvc'] + toolchain-artifact: public/build/winchecksec.tar.zst + tooltool-downloads: internal + fetches: + fetch: + - winchecksec + toolchain: + - linux64-clang-toolchain + - win64-vs2017 + +linux64-makecab: + description: "makecab toolchain build" + treeherder: + symbol: TL(cab) + worker: + env: + FETCH: rust-makecab + run: + script: build-rust-based-toolchain.sh + arguments: ['x86_64-unknown-linux-gnu'] + toolchain-artifact: public/build/makecab.tar.zst + fetches: + fetch: + - makecab + toolchain: + - linux64-clang-toolchain + - linux64-rust-toolchain + - sysroot-x86_64-linux-gnu + +win64-mozmake: + description: "mozmake for Windows" + attributes: + local-toolchain: true + treeherder: + symbol: TW64(mozmake) + run: + script: build-mozmake.sh + toolchain-artifact: public/build/mozmake.tar.zst + fetches: + fetch: + - gnumake + toolchain: + - linux64-clang-toolchain + - win64-vs2017 + +nsis: + description: "NSIS for Linux and Windows" + attributes: + local-toolchain: true + treeherder: + symbol: TL(nsis) + run: + script: build-nsis.sh + toolchain-artifact: public/build/nsis.tar.zst + fetches: + fetch: + - nsis-3.07 + - nsis-3.07-win + toolchain: + - linux64-clang-toolchain + - sysroot-x86_64-linux-gnu + +win64-vs2017: + description: "VS 2017" + attributes: + artifact_prefix: project/gecko/vs + treeherder: + symbol: TW64(msvc2017) + worker: + env: + MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system + run: + script: pack-vs.sh + arguments: + - build/vs/vs2017.yaml + resources: + - build/vs/pack_vs.py + - build/vs/vs2017.yaml + toolchain-artifact: project/gecko/vs/vs.tar.zst + +win64-vs2019: + description: "VS 2019" + attributes: + artifact_prefix: project/gecko/vs + treeherder: + symbol: TW64(msvc2019) + worker: + env: + MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system + run: + script: pack-vs.sh + arguments: + - build/vs/vs2019.yaml + resources: + - build/vs/pack_vs.py + - build/vs/vs2019.yaml + toolchain-artifact: project/gecko/vs/vs.tar.zst + +linux64-afl-instrumentation-2.5: + description: "AFL instrumentation toolchain build" + treeherder: + symbol: TL(afl) + worker: + max-run-time: 3600 + run: + script: build-afl.sh + resources: + - taskcluster/scripts/misc/afl-nyx.patch + toolchain-artifact: public/build/afl-instrumentation.tar.zst + toolchain-alias: linux64-afl-instrumentation + fetches: + fetch: + - afl-2.5 + toolchain: + - linux64-clang + - linux64-toolchain-sysroot diff --git a/taskcluster/ci/toolchain/nasm.yml b/taskcluster/ci/toolchain/nasm.yml new file mode 100644 index 0000000000..01cb03c405 --- /dev/null +++ b/taskcluster/ci/toolchain/nasm.yml @@ -0,0 +1,89 @@ +# 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-gcp + worker: + max-run-time: 1800 + run: + toolchain-artifact: public/build/nasm.tar.zst + +win64-nasm: + description: "nasm win64 build" + attributes: + local-toolchain: true + treeherder: + symbol: TW64(nasm) + run: + script: build-nasm.sh + arguments: ['win64'] + fetches: + fetch: + - nasm-2.15.05 + toolchain: + - linux64-clang-mingw-x64 + +macosx64-nasm: + description: "nasm macosx64 build" + attributes: + local-toolchain: true + treeherder: + symbol: TM(nasm) + run: + script: build-nasm.sh + arguments: ['macosx64'] + fetches: + fetch: + - nasm-2.15.05 + toolchain: + - linux64-cctools-port + - linux64-clang-toolchain + - macosx64-sdk + +macosx64-aarch64-nasm: + description: "nasm macosx64 build" + attributes: + local-toolchain: true + treeherder: + symbol: TM(nasm-aarch64) + run: + script: build-nasm.sh + arguments: ['macosx64-aarch64'] + fetches: + fetch: + - nasm-2.14.02 + toolchain: + - linux64-cctools-port + - linux64-clang-toolchain + - macosx64-sdk + +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.15.05 + toolchain: + - linux64-clang-toolchain + - sysroot-x86_64-linux-gnu + +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 + toolchain: + - linux64-clang-toolchain + - sysroot-x86_64-linux-gnu diff --git a/taskcluster/ci/toolchain/node.yml b/taskcluster/ci/toolchain/node.yml new file mode 100644 index 0000000000..bd66a54e9e --- /dev/null +++ b/taskcluster/ci/toolchain/node.yml @@ -0,0 +1,92 @@ +# 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-gcp + worker: + max-run-time: 1800 + run: + script: repack-node.sh + toolchain-artifact: public/build/node.tar.zst + +linux64-node-12: + treeherder: + symbol: TL(node-12) + fetches: + fetch: + - nodejs-12-linux64 + +linux64-node-16: + treeherder: + symbol: TL(node-16) + run: + toolchain-alias: + - linux64-node + fetches: + fetch: + - nodejs-16-linux64 + +macosx64-node-12: + treeherder: + symbol: TM(node-12) + fetches: + fetch: + - nodejs-12-macosx64 + +macosx64-node-16: + treeherder: + symbol: TM(node-16) + run: + toolchain-alias: + - macosx64-node + fetches: + fetch: + - nodejs-16-macosx64 + +macosx64-aarch64-node-16: + treeherder: + symbol: TM(node-16-arm64) + run: + toolchain-alias: + - macosx64-aarch64-node + fetches: + fetch: + - nodejs-16-macosx64-arm64 + +win64-node-12: + treeherder: + symbol: TW64(node-12) + fetches: + fetch: + - nodejs-12-win64 + +win64-node-16: + treeherder: + symbol: TW64(node-16) + run: + toolchain-alias: + - win64-node + fetches: + fetch: + - nodejs-16-win64 + +win32-node-12: + treeherder: + symbol: TW32(node-12) + fetches: + fetch: + - nodejs-12-win32 + +win32-node-16: + treeherder: + symbol: TW32(node-16) + run: + toolchain-alias: + - win32-node + fetches: + fetch: + - nodejs-16-win32 diff --git a/taskcluster/ci/toolchain/pkgconf.yml b/taskcluster/ci/toolchain/pkgconf.yml new file mode 100644 index 0000000000..10fbd2883c --- /dev/null +++ b/taskcluster/ci/toolchain/pkgconf.yml @@ -0,0 +1,58 @@ +# 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: "pkgconf toolchain build" + worker: + max-run-time: 1800 + worker-type: b-linux-gcp + run: + script: build-pkgconf.sh + toolchain-artifact: public/build/pkgconf.tar.zst + fetches: + fetch: + - pkgconf + +linux64-pkgconf: + treeherder: + symbol: TL(pkgconf) + run: + arguments: ['x86_64-unknown-linux-gnu'] + fetches: + toolchain: + - linux64-clang-toolchain + - sysroot-x86_64-linux-gnu + +macosx64-pkgconf: + treeherder: + symbol: TM(pkgconf) + run: + arguments: ['x86_64-apple-darwin'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-cctools-port + - macosx64-sdk + +macosx64-aarch64-pkgconf: + treeherder: + symbol: TM(pkgconf-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-cctools-port + - macosx64-sdk + +win64-pkgconf: + treeherder: + symbol: TW64(pkgconf) + run: + arguments: ['x86_64-pc-windows-gnu'] + fetches: + toolchain: + - linux64-clang-mingw-x64 diff --git a/taskcluster/ci/toolchain/resourcemonitor.yml b/taskcluster/ci/toolchain/resourcemonitor.yml new file mode 100644 index 0000000000..f4ef9a41c4 --- /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-gcp + 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.zst + +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..f35cc15067 --- /dev/null +++ b/taskcluster/ci/toolchain/rust-size.yml @@ -0,0 +1,38 @@ +# 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-type: b-linux-gcp + worker: + max-run-time: 1800 + run: + script: build-rust-based-toolchain.sh + fetches: + fetch: + - rust-size + +linux64-rust-size: + treeherder: + symbol: TL(rust-size) + run: + arguments: ['x86_64-unknown-linux-gnu'] + toolchain-artifact: public/build/rust-size.tar.zst + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-toolchain + - sysroot-x86_64-linux-gnu + +win64-rust-size: + treeherder: + symbol: TW64(rust-size) + run: + arguments: ['x86_64-pc-windows-msvc'] + toolchain-artifact: public/build/rust-size.tar.zst + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - win64-vs2017 diff --git a/taskcluster/ci/toolchain/rust.yml b/taskcluster/ci/toolchain/rust.yml new file mode 100644 index 0000000000..51199af2e7 --- /dev/null +++ b/taskcluster/ci/toolchain/rust.yml @@ -0,0 +1,266 @@ +# 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-gcp + worker: + max-run-time: 7200 + run: + script: repack_rust.py + toolchain-artifact: public/build/rustc.tar.zst + +linux64-rust-1.65: + treeherder: + symbol: TL(rust-1.65) + run: + arguments: [ + '--channel', '1.65.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'i686-unknown-linux-gnu', + '--target', 'wasm32-wasi', + ] + toolchain-alias: + - linux64-rust-base + - linux64-rust-toolchain + +linux64-rust-1.66: + treeherder: + symbol: TL(rust) + run: + arguments: [ + '--channel', '1.66.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'i686-unknown-linux-gnu', + '--target', 'aarch64-unknown-linux-gnu', + '--target', 'wasm32-wasi', + '--compiler-builtins-hack', + ] + toolchain-alias: linux64-rust + fetches: + toolchain: + - linux64-clang-toolchain + +linux64-rust-beta: + treeherder: + symbol: TL(rust-beta) + run: + arguments: [ + '--channel', 'beta-2022-12-14', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'i686-unknown-linux-gnu', + '--target', 'aarch64-unknown-linux-gnu', + '--target', 'wasm32-wasi', + '--compiler-builtins-hack', + ] + fetches: + toolchain: + - linux64-clang-toolchain + +# A patched rust toolchain that allows us to use sanitizers in our vendored +# build environment. See the rust fetch's comments for more details. +linux64-rust-dev: + description: "build rust from source" + worker-type: b-linux-large-gcp + treeherder: + symbol: TL(rust-dev) + worker: + env: + # Work around https://github.com/rust-lang/rust/issues/105967 + RUSTFLAGS_BOOTSTRAP: '-Clink-arg=-Wl,--undefined-version' + RUSTFLAGS_NOT_BOOTSTRAP: '-Clink-arg=-Wl,--undefined-version' + run: + arguments: [ + '--patch', 'rust-vendor-std.patch', + '--patch', 'src/tools/cargo:cargo-vendor-std.patch', + '--patch', 'workaround-bug1797441.patch', + '--channel', 'dev', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + ] + fetches: + fetch: + - rust-1.66.0 + toolchain: + - linux64-clang-toolchain + +linux64-rust-cross-1.66: + description: "rust repack with macos and windows cross support" + treeherder: + symbol: TL(rust-cross) + run: + arguments: [ + '--channel', '1.66.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'i686-unknown-linux-gnu', + '--target', 'x86_64-apple-darwin', + '--target', 'aarch64-apple-darwin', + '--target', 'x86_64-pc-windows-msvc', + '--target', 'i686-pc-windows-msvc', + '--target', 'aarch64-pc-windows-msvc', + '--target', 'armv7-linux-androideabi', + '--target', 'thumbv7neon-linux-androideabi', + '--target', 'aarch64-linux-android', + '--target', 'i686-linux-android', + '--target', 'x86_64-linux-android', + ] + toolchain-alias: linux64-rust-cross + +linux64-rust-cross-beta: + description: "rust beta repack with macos and windows cross support" + treeherder: + symbol: TL(rust-cross-beta) + run: + arguments: [ + '--channel', 'beta-2022-12-14', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'i686-unknown-linux-gnu', + '--target', 'x86_64-apple-darwin', + '--target', 'aarch64-apple-darwin', + '--target', 'x86_64-pc-windows-msvc', + '--target', 'i686-pc-windows-msvc', + '--target', 'aarch64-pc-windows-msvc', + '--target', 'armv7-linux-androideabi', + '--target', 'thumbv7neon-linux-androideabi', + '--target', 'aarch64-linux-android', + '--target', 'i686-linux-android', + '--target', 'x86_64-linux-android', + ] + +linux64-rust-static-1.66: + description: "rust repack with static linking support" + treeherder: + symbol: TL(rust-static) + run: + arguments: [ + '--channel', '1.66.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'aarch64-unknown-linux-musl', + '--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.61: + description: "rust repack with macos-cross support" + treeherder: + symbol: TL(rust-macos-1.61) + run: + arguments: [ + '--channel', '1.61.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-toolchain + +linux64-rust-macos-1.66: + description: "rust repack with macos-cross support" + treeherder: + symbol: TL(rust-macos) + run: + arguments: [ + '--channel', '1.66.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.66: + description: "rust repack with android-cross support" + treeherder: + symbol: TL(rust-android) + run: + arguments: [ + '--channel', '1.66.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-toolchain + +linux64-rust-windows-1.61: + description: "rust repack with windows-cross support" + treeherder: + symbol: TL(rust-win-1.61) + run: + arguments: [ + '--channel', '1.61.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-toolchain + +linux64-rust-windows-1.66: + description: "rust repack with windows-cross support" + treeherder: + symbol: TL(rust-win) + run: + arguments: [ + '--channel', '1.66.0', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-pc-windows-msvc', + '--target', 'i686-pc-windows-msvc', + '--target', 'aarch64-pc-windows-msvc', + ] + toolchain-alias: linux64-rust-windows + +win64-rust-1.66: + treeherder: + symbol: TW64(rust) + run: + arguments: [ + '--channel', '1.66.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.66: + treeherder: + symbol: TM(rust) + run: + arguments: [ + '--channel', '1.66.0', + '--host', 'x86_64-apple-darwin', + '--target', 'x86_64-apple-darwin', + ] + toolchain-alias: macosx64-rust + +mingw32-rust-1.66: + treeherder: + symbol: TMW(rust) + run: + arguments: [ + '--channel', '1.66.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..2a860584fa --- /dev/null +++ b/taskcluster/ci/toolchain/sccache.yml @@ -0,0 +1,88 @@ +# 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) + worker-type: b-linux-gcp + worker: + max-run-time: 1800 + run: + using: toolchain-script + script: build-rust-based-toolchain.sh + toolchain-artifact: public/build/sccache.tar.zst + fetches: + fetch: + - sccache + +linux64-sccache: + treeherder: + symbol: TL(sccache) + run: + arguments: + - x86_64-unknown-linux-gnu + - all + - dist-server + - openssl/vendored + - native-zlib + fetches: + toolchain: + - linux64-rust-toolchain + - linux64-clang-toolchain + - sysroot-x86_64-linux-gnu + +macosx64-sccache: + treeherder: + symbol: TM(sccache) + run: + arguments: + - x86_64-apple-darwin + - all + - native-zlib + fetches: + toolchain: + - linux64-rust-macos-toolchain + - linux64-clang-toolchain + - linux64-cctools-port + - macosx64-sdk + +macosx64-aarch64-sccache: + treeherder: + symbol: TM(sccache-aarch64) + worker: + max-run-time: 1800 + run: + arguments: + - aarch64-apple-darwin + - all + - native-zlib + fetches: + toolchain: + - linux64-rust-macos-toolchain + - linux64-clang-toolchain + - linux64-cctools-port + - macosx64-sdk + +win64-sccache: + treeherder: + symbol: TW64(sccache) + worker: + env: + # Blake3 assembly can't be cross-compiled. The intrinsics version should be good enough. + CARGO_FEATURE_PREFER_INTRINSICS: '1' + run: + arguments: + - x86_64-pc-windows-msvc + - dist-client + - s3 + - gcs + - native-zlib + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - win64-vs2017 diff --git a/taskcluster/ci/toolchain/sysroot.yml b/taskcluster/ci/toolchain/sysroot.yml new file mode 100644 index 0000000000..31e92835b1 --- /dev/null +++ b/taskcluster/ci/toolchain/sysroot.yml @@ -0,0 +1,160 @@ +# 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-gcp + worker: + max-run-time: 1800 + run: + using: toolchain-script + script: build-sysroot.sh + toolchain-artifact: public/build/sysroot.tar.zst + +sysroot-i686-linux-gnu: + description: "Sysroot for linux32 builds" + attributes: + local-toolchain: true + worker: + env: + PACKAGES_TASKS: {task-reference: '<gcc-7>'} + treeherder: + symbol: TL(sysroot32) + dependencies: + gcc-7: packages-deb8-32-gcc-7 + run: + toolchain-artifact: public/build/sysroot-i686-linux-gnu.tar.zst + arguments: + - i386 + +sysroot-x86_64-linux-gnu: + description: "Sysroot for linux64 builds" + attributes: + local-toolchain: true + worker: + env: + PACKAGES_TASKS: {task-reference: '<gcc-7>'} + treeherder: + symbol: TL(sysroot64) + dependencies: + gcc-7: packages-deb8-gcc-7 + run: + toolchain-artifact: public/build/sysroot-x86_64-linux-gnu.tar.zst + arguments: + - amd64 + +sysroot-x86_64-linux-gnu-x11: + description: "Sysroot for linux64 builds (X11-only)" + attributes: + local-toolchain: true + worker: + env: + PACKAGES_TASKS: {task-reference: '<gcc-7> <gtk3>'} + treeherder: + symbol: TL(sysroot64-x11) + dependencies: + gcc-7: packages-deb8-gcc-7 + gtk3: packages-deb8-gtk3 + run: + toolchain-artifact: public/build/sysroot-x86_64-linux-gnu.tar.zst + arguments: + - amd64 + +sysroot-wasm32-wasi-clang-15: + description: "Sysroot for wasi" + attributes: + local-toolchain: true + treeherder: + symbol: TL(sysroot-wasi-15) + run: + script: build-sysroot-wasi.sh + toolchain-alias: + by-project: + toolchains: null + default: sysroot-wasm32-wasi + toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst + fetches: + fetch: + - clang-15 + - wasi-sdk + toolchain: + - linux64-clang-15-stage1 + - wasm32-wasi-compiler-rt-15 + +sysroot-wasm32-wasi-clang-trunk: + description: "Sysroot for wasi" + attributes: + cached_task: false + treeherder: + symbol: TL(sysroot-wasi-trunk) + run: + script: build-sysroot-wasi.sh + toolchain-alias: + by-project: + toolchains: sysroot-wasm32-wasi + default: null + toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst + fetches: + fetch: + - clang-trunk + - wasi-sdk + toolchain: + - linux64-clang-trunk-stage1 + - wasm32-wasi-compiler-rt-trunk + +sysroot-aarch64-linux-gnu: + description: "Sysroot for linux64 aarch64 builds" + attributes: + local-toolchain: true + treeherder: + symbol: TL(sysroot-aarch64) + run: + toolchain-artifact: public/build/sysroot-aarch64-linux-gnu.tar.zst + arguments: + - arm64 + +linux32-toolchain-sysroot: + description: "Sysroot for linux32 toolchain builds" + worker: + env: + PACKAGES_TASKS: {task-reference: '<gcc-7>'} + treeherder: + symbol: TL(sysroot32-toolchain) + dependencies: + gcc-7: packages-deb8-32-gcc-7 + run: + arguments: + - i386 + # For clang + - binutils-dev + - libxml2-dev + # For minidump-stackwalk + - libcurl4-openssl-dev + - libssl-dev + - libbz2-dev + # For msix-package + - libicu-dev + +linux64-toolchain-sysroot: + description: "Sysroot for linux64 toolchain builds" + worker: + env: + PACKAGES_TASKS: {task-reference: '<gcc-7>'} + treeherder: + symbol: TL(sysroot64-toolchain) + dependencies: + gcc-7: packages-deb8-gcc-7 + run: + arguments: + - amd64 + # For clang + - binutils-dev + - gcc-multilib + - lib32stdc++-7-dev + - libxml2-dev + # For minidump-stackwalk + - libcurl4-openssl-dev + - libssl-dev + - libbz2-dev + # For msix-package + - libicu-dev |