diff options
Diffstat (limited to 'taskcluster/ci/toolchain')
29 files changed, 5339 insertions, 0 deletions
diff --git a/taskcluster/ci/toolchain/android.yml b/taskcluster/ci/toolchain/android.yml new file mode 100644 index 0000000000..ed8cef3dc1 --- /dev/null +++ b/taskcluster/ci/toolchain/android.yml @@ -0,0 +1,244 @@ +# 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-android31-avd-x86_64-repack: + description: "Android AVD (Linux) repack toolchain build" + treeherder: + symbol: TL(avd31-x86_64-linux) + worker-type: b-linux-kvm-gcp + worker: + kvm: true + run: + script: repack-android-avd-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/android31-x86_64.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: public/build/android-avd-linux.tar.zst + toolchain-alias: android31-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) + 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-android31-system-image-x86_64-repack: + description: "Android System Images (Linux) repack toolchain build" + treeherder: + symbol: TL(x86_64-avd31-img-linux) + run: + script: repack-android-system-images-linux.sh + arguments: + - 'python/mozboot/mozboot/android-avds/android31-x86_64.json' + resources: + - 'python/mozboot/**/*android*' + toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst + toolchain-alias: android31-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) + 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.9+9" + +linux64-android-sdk-linux-repack: + description: "Android SDK (Linux) repack toolchain build" + treeherder: + symbol: TL(android-sdk-linux) + 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) + 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) + 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..3f1cb9756a --- /dev/null +++ b/taskcluster/ci/toolchain/cargo-vet.yml @@ -0,0 +1,61 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +job-defaults: + description: "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'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk-toolchain + +macosx64-aarch64-cargo-vet: + treeherder: + symbol: TM(cargo-vet-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk-toolchain + +win64-cargo-vet: + treeherder: + symbol: TW64(cargo-vet) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - vs-toolchain diff --git a/taskcluster/ci/toolchain/cbindgen.yml b/taskcluster/ci/toolchain/cbindgen.yml new file mode 100644 index 0000000000..69d34b6f3b --- /dev/null +++ b/taskcluster/ci/toolchain/cbindgen.yml @@ -0,0 +1,65 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +job-defaults: + 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.26.0 + +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-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk-toolchain + +macosx64-aarch64-cbindgen: + treeherder: + symbol: TM(cbindgen-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk-toolchain + +win64-cbindgen: + treeherder: + symbol: TW64(cbindgen) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - vs-toolchain diff --git a/taskcluster/ci/toolchain/clang-tidy.yml b/taskcluster/ci/toolchain/clang-tidy.yml new file mode 100644 index 0000000000..8d357e8c82 --- /dev/null +++ b/taskcluster/ci/toolchain/clang-tidy.yml @@ -0,0 +1,127 @@ +# 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-17 + +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-17 + - 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' + - 'build/build-clang/macosx64.json' + resources: + - 'build/build-clang/clang-tidy-macosx64.json' + - 'build/build-clang/macosx64.json' + fetches: + toolchain: + - linux64-clang-17 + - macosx64-sdk-toolchain + +macosx64-aarch64-clang-tidy: + index: + job-name: macosx64-aarch64-clang-tidy + treeherder: + symbol: TM(clang-tidy-aarch64) + worker-type: b-linux-large-gcp + run: + script: build-clang.sh + arguments: + - 'build/build-clang/clang-tidy-macosx64.json' + - 'build/build-clang/macosx64.json' + - 'build/build-clang/macosx64-aarch64.json' + resources: + - 'build/build-clang/clang-tidy-macosx64.json' + - 'build/build-clang/macosx64.json' + - 'build/build-clang/macosx64-aarch64.json' + fetches: + toolchain: + - linux64-clang-17 + - macosx64-sdk-toolchain + +win64-clang-tidy: + description: "Clang-tidy toolchain build" + index: + job-name: win64-clang-tidy + treeherder: + symbol: TW64(clang-tidy) + tier: 2 + worker: + max-run-time: 7200 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/clang-tidy-win64.json' + - 'build/build-clang/win64.json' + resources: + - 'build/build-clang/clang-tidy-win64.json' + - 'build/build-clang/win64.json' + fetches: + toolchain: + - linux64-clang-17 + - vs-toolchain + +linux64-clang-tidy-external: + attributes: + local-toolchain: false + index: + job-name: linux64-clang-tidy-external + treeherder: + symbol: TL(clang-tidy-e) + 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-17 + - linux64-toolchain-sysroot diff --git a/taskcluster/ci/toolchain/clang.yml b/taskcluster/ci/toolchain/clang.yml new file mode 100644 index 0000000000..1223afd4e5 --- /dev/null +++ b/taskcluster/ci/toolchain/clang.yml @@ -0,0 +1,1278 @@ +# 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-8.0-raw: + description: "Clang 8.0 toolchain build" + treeherder: + symbol: TL(clang-8.0-raw) + worker-type: b-linux-large-gcp + run: + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-8.0.json' + - 'build/build-clang/2stages.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-8.0.json' + - 'build/build-clang/2stages.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-8.0 + toolchain: + - linux64-toolchain-sysroot + +linux64-clang-8.0: + description: "Clang 8.0 toolchain build" + treeherder: + symbol: TL(clang-8.0) + worker-type: b-linux-gcp + worker: + max-run-time: 600 + run: + script: repack-clang.sh + toolchain-alias: linux64-clang-base + toolchain-artifact: public/build/clang.tar.zst + fetches: + toolchain: + - linux64-clang-8.0-raw + - wasm32-wasi-compiler-rt-8.0 + +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-clang-14-stage1 + - macosx64-sdk-toolchain + +linux64-clang-17-mingw-x86: + description: "MinGW-Clang 17 x86 toolchain build" + treeherder: + symbol: TMW(clang-17-x86) + worker-type: b-linux-gcp + run: + script: build-clang-mingw.sh + arguments: + - 'x86' + resources: + - 'taskcluster/scripts/misc/mingw-*.patch' + toolchain-alias: + by-project: + toolchains: null + default: linux64-clang-mingw-x86 + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-17 + - mingw-w64 + - llvm-mingw + - gcc-9.5.0 + toolchain: + - linux64-clang-17 + +linux64-clang-17-mingw-x64: + description: "MinGW-Clang 17 x64 toolchain build" + treeherder: + symbol: TMW(clang-17-x64) + tier: 1 + worker-type: b-linux-gcp + run: + script: build-clang-mingw.sh + arguments: + - 'x64' + resources: + - 'taskcluster/scripts/misc/mingw-*.patch' + toolchain-alias: + by-project: + toolchains: null + default: linux64-clang-mingw-x64 + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-17 + - mingw-w64 + - llvm-mingw + - gcc-9.5.0 + toolchain: + - linux64-clang-17 + +linux64-clang-17-stage1: + description: "Clang 17 toolchain build" + treeherder: + symbol: TL(clang-17-stage1) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-17.json' + - 'build/build-clang/1stage.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-17.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-17 + toolchain: + - linux64-toolchain-sysroot + +linux64-clang-17-profile: + description: "Clang 17 toolchain build" + treeherder: + symbol: TL(clang-17-profile) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-17.json' + - 'build/build-clang/skip-stage-1.json' + - 'build/build-clang/profile.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-17.json' + - 'build/build-clang/skip-stage-1.json' + - 'build/build-clang/profile.json' + toolchain-artifact: public/build/merged.profdata + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - linux64-x64-compiler-rt-17 + - linux64-toolchain-sysroot + +linux64-clang-17-raw: + description: "Clang 17 toolchain build" + treeherder: + symbol: TL(clang-17-raw) + run: + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-17.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-17.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - linux64-clang-17-profile + - linux64-toolchain-sysroot + +linux64-clang-17: + description: "Clang 17 toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TL(clang-17) + 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-17-raw + - android-aarch64-compiler-rt-17 + - android-aarch64-libunwind-17 + - android-arm-compiler-rt-17 + - android-arm-libunwind-17 + - android-x64-compiler-rt-17 + - android-x64-libunwind-17 + - android-x86-compiler-rt-17 + - android-x86-libunwind-17 + - linux64-aarch64-compiler-rt-17 + - linux64-x64-compiler-rt-17 + - linux64-x86-compiler-rt-17 + - macosx64-aarch64-compiler-rt-17 + - macosx64-x64-compiler-rt-17 + - wasm32-wasi-compiler-rt-17 + - win32-compiler-rt-17 + - win64-compiler-rt-17 + +macosx64-clang-17-raw: + description: "Clang 17 toolchain build" + treeherder: + symbol: TM(clang-17-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-17.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-17.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - linux64-clang-17-profile + - macosx64-sdk-toolchain + - macosx64-x64-compiler-rt-17 + +macosx64-clang-17: + description: "Clang 17 toolchain repack with MacOS Compiler RT libs" + attributes: + local-toolchain: true + treeherder: + symbol: TM(clang-17) + 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-17-raw + - android-aarch64-compiler-rt-17 + - android-aarch64-libunwind-17 + - android-arm-compiler-rt-17 + - android-arm-libunwind-17 + - android-x64-compiler-rt-17 + - android-x64-libunwind-17 + - android-x86-compiler-rt-17 + - android-x86-libunwind-17 + - linux64-aarch64-compiler-rt-17 + - linux64-x64-compiler-rt-17 + - linux64-x86-compiler-rt-17 + - macosx64-aarch64-compiler-rt-17 + - macosx64-x64-compiler-rt-17 + - wasm32-wasi-compiler-rt-17 + - win32-compiler-rt-17 + - win64-compiler-rt-17 + +macosx64-aarch64-clang-17-raw: + description: "Clang 17 toolchain build" + treeherder: + symbol: TM(clang-17-aarch64-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/macosx64-aarch64.json' + - 'build/build-clang/clang-17.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/macosx64-aarch64.json' + - 'build/build-clang/clang-17.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - linux64-clang-17-profile + - macosx64-sdk-toolchain + - macosx64-aarch64-compiler-rt-17 + +macosx64-aarch64-clang-17: + description: "Clang 17 toolchain repack with MacOS Compiler RT libs" + attributes: + local-toolchain: true + treeherder: + symbol: TM(clang-17-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-17-raw + - android-aarch64-compiler-rt-17 + - android-aarch64-libunwind-17 + - android-arm-compiler-rt-17 + - android-arm-libunwind-17 + - android-x64-compiler-rt-17 + - android-x64-libunwind-17 + - android-x86-compiler-rt-17 + - android-x86-libunwind-17 + - linux64-aarch64-compiler-rt-17 + - linux64-x64-compiler-rt-17 + - linux64-x86-compiler-rt-17 + - macosx64-aarch64-compiler-rt-17 + - macosx64-x64-compiler-rt-17 + - wasm32-wasi-compiler-rt-17 + - win32-compiler-rt-17 + - win64-compiler-rt-17 + +win64-clang-17-stage1: + description: "Clang-cl 17 toolchain build stage 1" + treeherder: + symbol: TW64(clang-17-stage1) + run: + script: build-clang.sh + arguments: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-17.json' + - 'build/build-clang/1stage.json' + resources: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-17.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-17 + toolchain: + - linux64-clang-17-stage1 + - vs-toolchain + +win64-clang-17-raw: + description: "Clang-cl 17 toolchain build" + treeherder: + symbol: TW64(clang-17-raw) + worker-type: b-win2022 + worker: + max-run-time: 9000 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-17.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-17.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-17 + - cmake + - ninja + toolchain: + - win64-clang-17-stage1 + - win64-compiler-rt-17 + - vs-toolchain + +win64-clang-17: + description: "Clang-cl 17 toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TW64(clang-17) + 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-17-raw + - android-aarch64-compiler-rt-17 + - android-aarch64-libunwind-17 + - android-arm-compiler-rt-17 + - android-arm-libunwind-17 + - android-x64-compiler-rt-17 + - android-x64-libunwind-17 + - android-x86-compiler-rt-17 + - android-x86-libunwind-17 + - linux64-aarch64-compiler-rt-17 + - linux64-x64-compiler-rt-17 + - linux64-x86-compiler-rt-17 + - macosx64-aarch64-compiler-rt-17 + - macosx64-x64-compiler-rt-17 + - wasm32-wasi-compiler-rt-17 + - win32-compiler-rt-17 + - win64-compiler-rt-17 + +linux64-clang-18-mingw-x86: + description: "MinGW-Clang 18 x86 toolchain build" + treeherder: + symbol: TMW(clang-18-x86) + worker-type: b-linux-gcp + run: + script: build-clang-mingw.sh + arguments: + - 'x86' + resources: + - 'taskcluster/scripts/misc/mingw-*.patch' + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-18 + - mingw-w64 + - llvm-mingw + - gcc-9.5.0 + toolchain: + - linux64-clang-18 + +linux64-clang-18-mingw-x64: + description: "MinGW-Clang 18 x64 toolchain build" + treeherder: + symbol: TMW(clang-18-x64) + tier: 1 + worker-type: b-linux-gcp + run: + script: build-clang-mingw.sh + arguments: + - 'x64' + resources: + - 'taskcluster/scripts/misc/mingw-*.patch' + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-18 + - mingw-w64 + - llvm-mingw + - gcc-9.5.0 + toolchain: + - linux64-clang-18 + +linux64-clang-18-stage1: + description: "Clang 18 toolchain build" + treeherder: + symbol: TL(clang-18-stage1) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-18.json' + - 'build/build-clang/1stage.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-18.json' + - 'build/build-clang/1stage.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-toolchain-sysroot + +linux64-clang-18-profile: + description: "Clang 18 toolchain build" + treeherder: + symbol: TL(clang-18-profile) + run: + using: toolchain-script + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-18.json' + - 'build/build-clang/skip-stage-1.json' + - 'build/build-clang/profile.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-18.json' + - 'build/build-clang/skip-stage-1.json' + - 'build/build-clang/profile.json' + toolchain-artifact: public/build/merged.profdata + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - linux64-x64-compiler-rt-18 + - linux64-toolchain-sysroot + +linux64-clang-18-raw: + description: "Clang 18 toolchain build" + treeherder: + symbol: TL(clang-18-raw) + run: + script: build-clang.sh + arguments: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-18.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/linux64.json' + - 'build/build-clang/clang-18.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - linux64-clang-18-profile + - linux64-toolchain-sysroot + +linux64-clang-18: + description: "Clang 18 toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TL(clang-18) + 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-cctools-port + - linux64-clang-18-raw + - android-aarch64-compiler-rt-18 + - android-aarch64-libunwind-18 + - android-arm-compiler-rt-18 + - android-arm-libunwind-18 + - android-x64-compiler-rt-18 + - android-x64-libunwind-18 + - android-x86-compiler-rt-18 + - android-x86-libunwind-18 + - linux64-aarch64-compiler-rt-18 + - linux64-x64-compiler-rt-18 + - linux64-x86-compiler-rt-18 + - macosx64-aarch64-compiler-rt-18 + - macosx64-x64-compiler-rt-18 + - wasm32-wasi-compiler-rt-18 + - win32-compiler-rt-18 + - win64-compiler-rt-18 + +macosx64-clang-18-raw: + description: "Clang 18 toolchain build" + treeherder: + symbol: TM(clang-18-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-18.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/clang-18.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - linux64-clang-18-profile + - macosx64-sdk-toolchain + - macosx64-x64-compiler-rt-18 + +macosx64-clang-18: + description: "Clang 18 toolchain repack with MacOS Compiler RT libs" + attributes: + local-toolchain: true + treeherder: + symbol: TM(clang-18) + 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-cctools-port + - macosx64-clang-18-raw + - android-aarch64-compiler-rt-18 + - android-aarch64-libunwind-18 + - android-arm-compiler-rt-18 + - android-arm-libunwind-18 + - android-x64-compiler-rt-18 + - android-x64-libunwind-18 + - android-x86-compiler-rt-18 + - android-x86-libunwind-18 + - linux64-aarch64-compiler-rt-18 + - linux64-x64-compiler-rt-18 + - linux64-x86-compiler-rt-18 + - macosx64-aarch64-compiler-rt-18 + - macosx64-x64-compiler-rt-18 + - wasm32-wasi-compiler-rt-18 + - win32-compiler-rt-18 + - win64-compiler-rt-18 + +macosx64-aarch64-clang-18-raw: + description: "Clang 18 toolchain build" + treeherder: + symbol: TM(clang-18-aarch64-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/macosx64-aarch64.json' + - 'build/build-clang/clang-18.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + resources: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/macosx64-aarch64.json' + - 'build/build-clang/clang-18.json' + - 'build/build-clang/skip-3-stages.json' + - 'build/build-clang/4stages-pgo.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - linux64-clang-18-profile + - macosx64-sdk-toolchain + - macosx64-aarch64-compiler-rt-18 + +macosx64-aarch64-clang-18: + description: "Clang 18 toolchain repack with MacOS Compiler RT libs" + attributes: + local-toolchain: true + treeherder: + symbol: TM(clang-18-aarch64) + 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-cctools-port + - macosx64-aarch64-clang-18-raw + - android-aarch64-compiler-rt-18 + - android-aarch64-libunwind-18 + - android-arm-compiler-rt-18 + - android-arm-libunwind-18 + - android-x64-compiler-rt-18 + - android-x64-libunwind-18 + - android-x86-compiler-rt-18 + - android-x86-libunwind-18 + - linux64-aarch64-compiler-rt-18 + - linux64-x64-compiler-rt-18 + - linux64-x86-compiler-rt-18 + - macosx64-aarch64-compiler-rt-18 + - macosx64-x64-compiler-rt-18 + - wasm32-wasi-compiler-rt-18 + - win32-compiler-rt-18 + - win64-compiler-rt-18 + +win64-clang-18-stage1: + description: "Clang-cl 18 toolchain build stage 1" + treeherder: + symbol: TW64(clang-18-stage1) + run: + script: build-clang.sh + arguments: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-18.json' + - 'build/build-clang/1stage.json' + resources: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-18.json' + - 'build/build-clang/1stage.json' + toolchain-artifact: public/build/clang.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - vs-toolchain + +win64-clang-18-raw: + description: "Clang-cl 18 toolchain build" + treeherder: + symbol: TW64(clang-18-raw) + worker-type: b-win2022 + worker: + max-run-time: 9000 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/win64.json' + - 'build/build-clang/clang-18.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-18.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-18 + - cmake + - ninja + toolchain: + - win64-clang-18-stage1 + - win64-compiler-rt-18 + - vs-toolchain + +win64-clang-18: + description: "Clang-cl 18 toolchain build" + attributes: + local-toolchain: true + treeherder: + symbol: TW64(clang-18) + 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-cctools-port + - win64-clang-18-raw + - android-aarch64-compiler-rt-18 + - android-aarch64-libunwind-18 + - android-arm-compiler-rt-18 + - android-arm-libunwind-18 + - android-x64-compiler-rt-18 + - android-x64-libunwind-18 + - android-x86-compiler-rt-18 + - android-x86-libunwind-18 + - linux64-aarch64-compiler-rt-18 + - linux64-x64-compiler-rt-18 + - linux64-x86-compiler-rt-18 + - macosx64-aarch64-compiler-rt-18 + - macosx64-x64-compiler-rt-18 + - wasm32-wasi-compiler-rt-18 + - win32-compiler-rt-18 + - win64-compiler-rt-18 + +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' + resources: + - 'taskcluster/scripts/misc/mingw-*.patch' + toolchain-alias: + by-project: + toolchains: linux64-clang-mingw-x86 + default: null + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-trunk + - mingw-w64-trunk + - llvm-mingw + - gcc-9.5.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' + resources: + - 'taskcluster/scripts/misc/mingw-*.patch' + toolchain-alias: + by-project: + toolchains: linux64-clang-mingw-x64 + default: null + toolchain-artifact: public/build/clangmingw.tar.zst + fetches: + fetch: + - clang-trunk + - mingw-w64-trunk + - llvm-mingw + - gcc-9.5.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-aarch64-libunwind-trunk + - android-arm-compiler-rt-trunk + - android-arm-libunwind-trunk + - android-x64-compiler-rt-trunk + - android-x64-libunwind-trunk + - android-x86-compiler-rt-trunk + - android-x86-libunwind-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-clang-trunk-stage1 + - linux64-clang-trunk-profile + - macosx64-sdk-toolchain + - 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-aarch64-libunwind-trunk + - android-arm-compiler-rt-trunk + - android-arm-libunwind-trunk + - android-x64-compiler-rt-trunk + - android-x64-libunwind-trunk + - android-x86-compiler-rt-trunk + - android-x86-libunwind-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: + max-run-time: 3600 + run: + script: build-clang.sh + arguments: + - 'build/build-clang/macosx64.json' + - 'build/build-clang/macosx64-aarch64.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/macosx64-aarch64.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 + - macosx64-sdk-toolchain + - 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-aarch64-libunwind-trunk + - android-arm-compiler-rt-trunk + - android-arm-libunwind-trunk + - android-x64-compiler-rt-trunk + - android-x64-libunwind-trunk + - android-x86-compiler-rt-trunk + - android-x86-libunwind-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) + 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 + toolchain: + - linux64-clang-trunk-stage1 + - vs-toolchain + +win64-clang-trunk-raw: + description: "Clang-cl trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TW64(clang-trunk-raw) + worker-type: b-win2022 + 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 + - vs-toolchain + +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-aarch64-libunwind-trunk + - android-arm-compiler-rt-trunk + - android-arm-libunwind-trunk + - android-x64-compiler-rt-trunk + - android-x64-libunwind-trunk + - android-x86-compiler-rt-trunk + - android-x86-libunwind-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..631024fbf9 --- /dev/null +++ b/taskcluster/ci/toolchain/compiler-rt.yml @@ -0,0 +1,705 @@ +# 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 + +wasm32-wasi-compiler-rt-8.0: + description: "wasm32-wasi Compiler-rt for Clang 8 toolchain build" + treeherder: + symbol: TL(wasi-crt-8) + worker-type: b-linux-xlarge-gcp + run: + script: build-compiler-rt-wasi.sh + arguments: + - wasi-sdk-11.patch + resources: + - taskcluster/scripts/misc/wasi-sdk-11.patch + toolchain-artifact: public/build/compiler-rt-wasm32-wasi.tar.zst + fetches: + fetch: + - clang-8.0 + - wasi-sdk-11 + toolchain: + - linux64-clang-8.0-raw + +android-aarch64-compiler-rt-17: + description: "android aarch64 Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TA(aarch64-crt-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-linux-android.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - linux64-android-ndk-linux-repack + +android-arm-compiler-rt-17: + description: "android arm Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TA(arm-crt-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-armv7-linux-android.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - linux64-android-ndk-linux-repack + +android-x86-compiler-rt-17: + description: "android x86 Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TA(x86-crt-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-linux-android.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - linux64-android-ndk-linux-repack + +android-x64-compiler-rt-17: + description: "android x64 Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TA(x64-crt-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-linux-android.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - linux64-android-ndk-linux-repack + +linux64-x86-compiler-rt-17: + description: "Linux x86 Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TL(x86-crt-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - sysroot-i686-linux-gnu + +linux64-x64-compiler-rt-17: + description: "Linux x64 Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TL(x64-crt-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - sysroot-x86_64-linux-gnu + +linux64-aarch64-compiler-rt-17: + description: "Linux aarch64 Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TL(aarch64-crt-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - sysroot-aarch64-linux-gnu + +macosx64-x64-compiler-rt-17: + description: "macOS x64 Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TM(x64-crt-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-apple-darwin.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - macosx64-sdk-toolchain + +macosx64-aarch64-compiler-rt-17: + description: "macOS aarch64 Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TM(aarch64-crt-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-apple-darwin.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - macosx64-sdk-toolchain + +win32-compiler-rt-17: + description: "win32 x86 Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TW32(crt-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-pc-windows-msvc.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - vs-toolchain + +win64-compiler-rt-17: + description: "win64 x64 Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TW64(crt-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-pc-windows-msvc.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - vs-toolchain + +wasm32-wasi-compiler-rt-17: + description: "wasm32-wasi Compiler-rt for Clang 17 toolchain build" + treeherder: + symbol: TL(wasi-crt-17) + worker-type: b-linux-xlarge-gcp + run: + script: build-compiler-rt-wasi.sh + arguments: + - wasi-sdk.patch + resources: + - taskcluster/scripts/misc/wasi-sdk.patch + toolchain-artifact: public/build/compiler-rt-wasm32-wasi.tar.zst + fetches: + fetch: + - clang-17 + - wasi-sdk + toolchain: + - linux64-clang-17-stage1 + +android-aarch64-compiler-rt-18: + description: "android aarch64 Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TA(aarch64-crt-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-linux-android.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - linux64-android-ndk-linux-repack + +android-arm-compiler-rt-18: + description: "android arm Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TA(arm-crt-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-armv7-linux-android.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - linux64-android-ndk-linux-repack + +android-x86-compiler-rt-18: + description: "android x86 Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TA(x86-crt-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-linux-android.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - linux64-android-ndk-linux-repack + +android-x64-compiler-rt-18: + description: "android x64 Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TA(x64-crt-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-linux-android.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - linux64-android-ndk-linux-repack + +linux64-x86-compiler-rt-18: + description: "Linux x86 Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TL(x86-crt-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - sysroot-i686-linux-gnu + +linux64-x64-compiler-rt-18: + description: "Linux x64 Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TL(x64-crt-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - sysroot-x86_64-linux-gnu + +linux64-aarch64-compiler-rt-18: + description: "Linux aarch64 Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TL(aarch64-crt-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-unknown-linux-gnu.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - sysroot-aarch64-linux-gnu + +macosx64-x64-compiler-rt-18: + description: "macOS x64 Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TM(x64-crt-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-apple-darwin.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - macosx64-sdk-toolchain + +macosx64-aarch64-compiler-rt-18: + description: "macOS aarch64 Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TM(aarch64-crt-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-aarch64-apple-darwin.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - macosx64-sdk-toolchain + +win32-compiler-rt-18: + description: "win32 x86 Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TW32(crt-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-i686-pc-windows-msvc.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - vs-toolchain + +win64-compiler-rt-18: + description: "win64 x64 Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TW64(crt-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/compiler-rt-x86_64-pc-windows-msvc.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - vs-toolchain + +wasm32-wasi-compiler-rt-18: + description: "wasm32-wasi Compiler-rt for Clang 18 toolchain build" + treeherder: + symbol: TL(wasi-crt-18) + worker-type: b-linux-xlarge-gcp + run: + script: build-compiler-rt-wasi.sh + arguments: + - wasi-sdk.patch + resources: + - taskcluster/scripts/misc/wasi-sdk.patch + toolchain-artifact: public/build/compiler-rt-wasm32-wasi.tar.zst + fetches: + fetch: + - clang-18 + - wasi-sdk + toolchain: + - linux64-clang-18-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-toolchain + +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-toolchain + +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 + - vs-toolchain + +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 + - vs-toolchain + +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 + arguments: + - wasi-sdk.patch + resources: + - taskcluster/scripts/misc/wasi-sdk.patch + 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..95e90b5984 --- /dev/null +++ b/taskcluster/ci/toolchain/dump-syms.yml @@ -0,0 +1,62 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +job-defaults: + 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-toolchain + - 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-toolchain + - linux64-clang-toolchain + - macosx64-sdk-toolchain + +macosx64-aarch64-dump_syms: + treeherder: + symbol: TM(dump_syms-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-rust-macos-toolchain + - linux64-clang-toolchain + - macosx64-sdk-toolchain + +win64-dump_syms: + treeherder: + symbol: TW64(dump_syms) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - vs-toolchain diff --git a/taskcluster/ci/toolchain/fix-stacks.yml b/taskcluster/ci/toolchain/fix-stacks.yml new file mode 100644 index 0000000000..e11bf0b166 --- /dev/null +++ b/taskcluster/ci/toolchain/fix-stacks.yml @@ -0,0 +1,72 @@ +# 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-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk-toolchain + +macosx64-aarch64-fix-stacks: + treeherder: + symbol: TM(fix-stacks-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-macos-toolchain + - macosx64-sdk-toolchain + +win32-fix-stacks: + treeherder: + symbol: TW32(fix-stacks) + run: + arguments: ['i686-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - vs-toolchain + +win64-fix-stacks: + treeherder: + symbol: TW64(fix-stacks) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - vs-toolchain diff --git a/taskcluster/ci/toolchain/gcc.yml b/taskcluster/ci/toolchain/gcc.yml new file mode 100644 index 0000000000..2a09c37e6c --- /dev/null +++ b/taskcluster/ci/toolchain/gcc.yml @@ -0,0 +1,79 @@ +# 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-8: + description: "GCC 8 toolchain build" + treeherder: + symbol: TL(gcc8) + run: + script: build-gcc-linux.sh + toolchain-alias: + - linux64-gcc + - linux64-gcc-base + 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.5.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 + fetches: + fetch: + - gcc-11.4.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.5.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..252befa3fb --- /dev/null +++ b/taskcluster/ci/toolchain/geckodriver.yml @@ -0,0 +1,137 @@ +# 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-clang-toolchain + - linux64-rust-macos + - macosx64-sdk-toolchain + +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-clang-toolchain + - linux64-rust-macos + - macosx64-sdk-toolchain + +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 + - vs-toolchain + +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 + - vs-toolchain + +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 + - vs-toolchain diff --git a/taskcluster/ci/toolchain/gn.yml b/taskcluster/ci/toolchain/gn.yml new file mode 100644 index 0000000000..d12b0f19c5 --- /dev/null +++ b/taskcluster/ci/toolchain/gn.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: "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-clang-toolchain + - macosx64-sdk-toolchain + +win64-gn: + treeherder: + symbol: TW64(gn) + worker-type: b-win2022 + worker: + max-run-time: 3600 + run: + script: build-gn-win64.sh + fetches: + fetch: + - ninja + toolchain: + - vs-toolchain diff --git a/taskcluster/ci/toolchain/grcov.yml b/taskcluster/ci/toolchain/grcov.yml new file mode 100644 index 0000000000..15fed68732 --- /dev/null +++ b/taskcluster/ci/toolchain/grcov.yml @@ -0,0 +1,48 @@ +# 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 + - macosx64-sdk-toolchain + +win64-grcov: + treeherder: + symbol: TW64(grcov) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - vs-toolchain diff --git a/taskcluster/ci/toolchain/kind.yml b/taskcluster/ci/toolchain/kind.yml new file mode 100644 index 0000000000..d9dd52c980 --- /dev/null +++ b/taskcluster/ci/toolchain/kind.yml @@ -0,0 +1,54 @@ +# 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 + - libunwind.yml + - llvm-symbolizer.yml + - macos-sdk.yml + - mingw.yml + - minidump-stackwalk.yml + - misc.yml + - nasm.yml + - node.yml + - pkgconf.yml + - python.yml + - resourcemonitor.yml + - rust.yml + - rust-size.yml + - sccache.yml + - sysroot.yml + - dist-toolchains.yml diff --git a/taskcluster/ci/toolchain/libunwind.yml b/taskcluster/ci/toolchain/libunwind.yml new file mode 100644 index 0000000000..5a1972f3f6 --- /dev/null +++ b/taskcluster/ci/toolchain/libunwind.yml @@ -0,0 +1,247 @@ +# 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-libunwind.sh + +android-aarch64-libunwind-17: + description: "android aarch64 libunwind for Clang 17 toolchain build" + treeherder: + symbol: TA(aarch64-unwind-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/libunwind-aarch64-linux-android.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - android-aarch64-compiler-rt-17 + - linux64-clang-17-stage1 + - linux64-android-ndk-linux-repack + +android-arm-libunwind-17: + description: "android arm libunwind for Clang 17 toolchain build" + treeherder: + symbol: TA(arm-unwind-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/libunwind-armv7-linux-android.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - android-arm-compiler-rt-17 + - linux64-clang-17-stage1 + - linux64-android-ndk-linux-repack + +android-x86-libunwind-17: + description: "android x86 libunwind for Clang 17 toolchain build" + treeherder: + symbol: TA(x86-unwind-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/libunwind-i686-linux-android.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - android-x86-compiler-rt-17 + - linux64-clang-17-stage1 + - linux64-android-ndk-linux-repack + +android-x64-libunwind-17: + description: "android x64 libunwind for Clang 17 toolchain build" + treeherder: + symbol: TA(x64-unwind-17) + run: + arguments: + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/libunwind-x86_64-linux-android.tar.zst + fetches: + fetch: + - clang-17 + toolchain: + - android-x64-compiler-rt-17 + - linux64-clang-17-stage1 + - linux64-android-ndk-linux-repack + +android-aarch64-libunwind-18: + description: "android aarch64 libunwind for Clang 18 toolchain build" + treeherder: + symbol: TA(aarch64-unwind-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/libunwind-aarch64-linux-android.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - android-aarch64-compiler-rt-18 + - linux64-clang-18-stage1 + - linux64-android-ndk-linux-repack + +android-arm-libunwind-18: + description: "android arm libunwind for Clang 18 toolchain build" + treeherder: + symbol: TA(arm-unwind-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/libunwind-armv7-linux-android.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - android-arm-compiler-rt-18 + - linux64-clang-18-stage1 + - linux64-android-ndk-linux-repack + +android-x86-libunwind-18: + description: "android x86 libunwind for Clang 18 toolchain build" + treeherder: + symbol: TA(x86-unwind-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/libunwind-i686-linux-android.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - android-x86-compiler-rt-18 + - linux64-clang-18-stage1 + - linux64-android-ndk-linux-repack + +android-x64-libunwind-18: + description: "android x64 libunwind for Clang 18 toolchain build" + treeherder: + symbol: TA(x64-unwind-18) + run: + arguments: + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-artifact: public/build/libunwind-x86_64-linux-android.tar.zst + fetches: + fetch: + - clang-18 + toolchain: + - android-x64-compiler-rt-18 + - linux64-clang-18-stage1 + - linux64-android-ndk-linux-repack + +android-aarch64-libunwind-trunk: + description: "android aarch64 libunwind for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TA(aarch64-unwind-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/libunwind-aarch64-linux-android.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - android-aarch64-compiler-rt-trunk + - linux64-clang-trunk-stage1 + - linux64-android-ndk-linux-repack + +android-arm-libunwind-trunk: + description: "android arm libunwind for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TA(arm-unwind-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/libunwind-armv7-linux-android.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - android-arm-compiler-rt-trunk + - linux64-clang-trunk-stage1 + - linux64-android-ndk-linux-repack + +android-x86-libunwind-trunk: + description: "android x86 libunwind for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TA(x86-unwind-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/libunwind-i686-linux-android.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - android-x86-compiler-rt-trunk + - linux64-clang-trunk-stage1 + - linux64-android-ndk-linux-repack + +android-x64-libunwind-trunk: + description: "android x64 libunwind for Clang trunk toolchain build" + attributes: + cached_task: false + treeherder: + symbol: TA(x64-unwind-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/libunwind-x86_64-linux-android.tar.zst + fetches: + fetch: + - clang-trunk + toolchain: + - android-x64-compiler-rt-trunk + - linux64-clang-trunk-stage1 + - linux64-android-ndk-linux-repack diff --git a/taskcluster/ci/toolchain/llvm-symbolizer.yml b/taskcluster/ci/toolchain/llvm-symbolizer.yml new file mode 100644 index 0000000000..8864a81cc1 --- /dev/null +++ b/taskcluster/ci/toolchain/llvm-symbolizer.yml @@ -0,0 +1,331 @@ +# 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-17: + description: "llvm-symbolizer for Linux" + treeherder: + symbol: TL32(llvm-symbolizer) + run: + arguments: + - i686-unknown-linux-gnu + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: null + default: linux32-llvm-symbolizer + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - linux32-toolchain-sysroot + +linux64-llvm-symbolizer-17: + description: "llvm-symbolizer for Linux" + treeherder: + symbol: TL(llvm-symbolizer) + run: + arguments: + - x86_64-unknown-linux-gnu + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: null + default: linux64-llvm-symbolizer + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - linux64-toolchain-sysroot + +macosx64-llvm-symbolizer-17: + description: "llvm-symbolizer for macOS x64" + treeherder: + symbol: TM(llvm-symbolizer) + run: + arguments: + - x86_64-apple-darwin + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: null + default: macosx64-llvm-symbolizer + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - macosx64-sdk-toolchain + +macosx64-aarch64-llvm-symbolizer-17: + description: "llvm-symbolizer for macOS aarch64" + treeherder: + symbol: TM(llvm-symbolizer-aarch64) + run: + arguments: + - aarch64-apple-darwin + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: null + default: macosx64-aarch64-llvm-symbolizer + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - macosx64-sdk-toolchain + +win64-llvm-symbolizer-17: + description: "llvm-symbolizer for Windows" + treeherder: + symbol: TW64(llvm-symbolizer) + run: + arguments: + - x86_64-pc-windows-msvc + - build/build-clang/clang-17.json + resources: + - build/build-clang/clang-17.json + - taskcluster/scripts/misc/build-llvm-common.sh + toolchain-alias: + by-project: + toolchains: null + default: win64-llvm-symbolizer + fetches: + fetch: + - clang-17 + toolchain: + - linux64-clang-17-stage1 + - vs-toolchain + +linux32-llvm-symbolizer-18: + description: "llvm-symbolizer for Linux" + treeherder: + symbol: TL32(llvm-symbolizer-18) + run: + arguments: + - i686-unknown-linux-gnu + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - linux32-toolchain-sysroot + +linux64-llvm-symbolizer-18: + description: "llvm-symbolizer for Linux" + treeherder: + symbol: TL(llvm-symbolizer-18) + run: + arguments: + - x86_64-unknown-linux-gnu + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - linux64-toolchain-sysroot + +macosx64-llvm-symbolizer-18: + description: "llvm-symbolizer for macOS x64" + treeherder: + symbol: TM(llvm-symbolizer-18) + run: + arguments: + - x86_64-apple-darwin + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - macosx64-sdk-toolchain + +macosx64-aarch64-llvm-symbolizer-18: + description: "llvm-symbolizer for macOS aarch64" + treeherder: + symbol: TM(llvm-sym-aarch64-18) + run: + arguments: + - aarch64-apple-darwin + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - macosx64-sdk-toolchain + +win64-llvm-symbolizer-18: + description: "llvm-symbolizer for Windows" + treeherder: + symbol: TW64(llvm-symbolizer-18) + run: + arguments: + - x86_64-pc-windows-msvc + - build/build-clang/clang-18.json + resources: + - build/build-clang/clang-18.json + - taskcluster/scripts/misc/build-llvm-common.sh + fetches: + fetch: + - clang-18 + toolchain: + - linux64-clang-18-stage1 + - vs-toolchain + +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-toolchain + +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-toolchain + +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 + - vs-toolchain diff --git a/taskcluster/ci/toolchain/macos-sdk.yml b/taskcluster/ci/toolchain/macos-sdk.yml new file mode 100644 index 0000000000..d3e2bc6493 --- /dev/null +++ b/taskcluster/ci/toolchain/macos-sdk.yml @@ -0,0 +1,48 @@ +# 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 + worker-type: b-linux-gcp + worker: + max-run-time: 1800 + env: + PATH: "/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin" + run: + script: unpack-sdk.py + resources: + - python/mozbuild/mozpack/macpkg.py + - taskcluster/scripts/misc/unpack-sdk.py + tooltool-downloads: internal + # Expiry similar to that of fetches + expires-after: 1000 years + +macosx64-sdk-13.3: + description: "MacOSX13.3 SDK" + treeherder: + symbol: TM(sdk13.3) + run: + arguments: + - https://swcdn.apple.com/content/downloads/15/62/032-84673-A_7A1TG1RF8Z/xpc8q44ggn2pkn82iwr0fi1zeb9cxi8ath/CLTools_macOSNMOS_SDK.pkg + - 8de3306508dca31040b3b49ff370e96c94f4546bcf22cb4069abbb18e2d6bce8e20d40a6903f00ae75558175b624a979ea0444f54bc6d9d67e841f2000b0d863 + - Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk + toolchain-artifact: project/gecko/mac-sdk/MacOSX13.3.sdk.tar.zst + toolchain-alias: + - MacOSX13.3.sdk + +macosx64-sdk-14.2: + description: "MacOSX14.2 SDK" + treeherder: + symbol: TM(sdk14.2) + run: + arguments: + - https://swcdn.apple.com/content/downloads/35/47/042-23550-A_M34N50O9N3/sua6ev7bjcexvorh4709vsgk64zgvsl42p/CLTools_macOSNMOS_SDK.pkg + - 22ce0acc9ab5c28845218b8c686d0208d6bf66bef64a369d3c0622247ba1258b438c9e44c64bb2bacf5e99eb398a6e7a337f2730cd4a969a7f0d2d5d3107306a + - Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk + toolchain-artifact: project/gecko/mac-sdk/MacOSX14.2.sdk.tar.zst + toolchain-alias: + - macosx64-sdk + - macosx64-sdk-toolchain + - MacOSX14.2.sdk diff --git a/taskcluster/ci/toolchain/mingw.yml b/taskcluster/ci/toolchain/mingw.yml new file mode 100644 index 0000000000..a14413669f --- /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.3.1 + 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..f0f9b3e70c --- /dev/null +++ b/taskcluster/ci/toolchain/minidump-stackwalk.yml @@ -0,0 +1,96 @@ +# 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 + - macosx64-sdk-toolchain + +macosx64-aarch64-minidump-stackwalk: + treeherder: + symbol: TM(stackwalk-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-rust-macos-toolchain + - linux64-clang-toolchain + - macosx64-sdk-toolchain + +win32-minidump-stackwalk: + treeherder: + symbol: TW32(stackwalk) + run: + arguments: ['i686-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - vs-toolchain + +win64-minidump-stackwalk: + treeherder: + symbol: TW64(stackwalk) + run: + arguments: ['x86_64-pc-windows-msvc'] + fetches: + toolchain: + - linux64-clang-toolchain + - linux64-rust-windows-toolchain + - vs-toolchain + +# 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..f19201bc1e --- /dev/null +++ b/taskcluster/ci/toolchain/misc.yml @@ -0,0 +1,605 @@ +# 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-8 + - 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.41 + 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 + +macosx64-xz: + description: "xz development library" + worker-type: b-osx-1015 + treeherder: + symbol: TM(xz) + worker: + max-run-time: 30000 + run: + script: build-xz.sh + toolchain-artifact: public/build/xz.tar.zst + fetches: + fetch: + - xz-5.4.4 + toolchain: + - macosx64-clang-toolchain + - macosx64-sdk-toolchain + +macosx64-custom-car: + description: "Custom chromium-as-release build for mac" + worker-type: b-osx-1015 + attributes: + cached_task: false + treeherder: + symbol: TM(custom-car) + worker: + max-run-time: 35000 + use-system-python: false + run-on-projects: [] + run: + script: build-custom-car.sh + arguments: [ + car_macosx.tar.zst, + blink_symbol_level=0, + chrome_pgo_phase=2, + dcheck_always_on=false, + enable_nacl=false, + enable_resource_allowlist_generation=false, + is_chrome_branded=false, + is_clang=true, + is_component_build=false, + is_debug=false, + is_official_build=true, + symbol_level=0, + target_cpu="x64", + use_v8_context_snapshot=false, + v8_symbol_level=0 + ] + toolchain-artifact: public/build/car_macosx.tar.zst + fetches: + toolchain: + - macosx64-sdk-14.2 + +macosx-arm64-custom-car: + description: "Custom chromium-as-release build for mac (apple silicon)" + worker-type: b-osx-1015 + attributes: + cached_task: false + treeherder: + symbol: TM(custom-car-arm) + tier: 2 + worker: + max-run-time: 50000 + use-system-python: false + run-on-projects: [] + run: + script: build-custom-car.sh + arguments: [ + car_macosx_arm.tar.zst, + blink_symbol_level=0, + chrome_pgo_phase=2, + dcheck_always_on=false, + enable_nacl=false, + enable_resource_allowlist_generation=false, + is_chrome_branded=false, + is_clang=true, + is_component_build=false, + is_debug=false, + is_official_build=true, + symbol_level=0, + target_cpu="arm64", + use_v8_context_snapshot=false, + v8_symbol_level=0 + ] + toolchain-artifact: public/build/car_macosx_arm.tar.zst + fetches: + toolchain: + - macosx64-sdk-14.2 + +android-custom-car: + description: "Custom chromium-as-release build for Android" + attributes: + cached_task: false + treeherder: + symbol: TL(custom-car-android) + worker: + docker-image: {in-tree: custom-car-android} + max-run-time: 20000 + use-system-python: false + run-on-projects: [] + run: + script: build-custom-car.sh + arguments: [ + car_android.tar.zst, + blink_symbol_level=0, + chrome_pgo_phase=2, + dcheck_always_on=false, + enable_nacl=false, + enable_resource_allowlist_generation=false, + is_chrome_branded=false, + is_clang=true, + is_component_build=false, + is_debug=false, + is_official_build=true, + symbol_level=0, + target_cpu="arm64", + target_os="android", + is_android=true, + is_high_end_android=true, + use_v8_context_snapshot=false, + v8_symbol_level=0 + ] + toolchain-artifact: public/build/car_android.tar.zst + +linux64-custom-car: + description: "Custom chromium-as-release build for Linux" + attributes: + cached_task: false + treeherder: + symbol: TL(custom-car) + worker: + docker-image: {in-tree: custom-car-linux} + max-run-time: 16200 + use-system-python: false + run-on-projects: [] + run: + script: build-custom-car.sh + arguments: [ + car_linux.tar.zst, + blink_symbol_level=0, + chrome_pgo_phase=2, + dcheck_always_on=false, + enable_nacl=false, + enable_resource_allowlist_generation=false, + is_chrome_branded=false, + is_clang=true, + is_component_build=false, + is_debug=false, + is_official_build=true, + symbol_level=0, + target_cpu="x64", + use_v8_context_snapshot=false, + v8_symbol_level=0 + ] + toolchain-artifact: public/build/car_linux.tar.zst + +win64-custom-car: + description: "Custom chromium-as-release build for Windows" + attributes: + cached_task: false + treeherder: + symbol: TW64(custom-car) + worker-type: b-win2022 + worker: + max-run-time: 16200 + env: + MSYSTEM: "MINGW64" + use-system-python: false + run-on-projects: [] + run: + script: build-custom-car.sh + arguments: [ + car_win64.tar.zst, + blink_symbol_level=0, + chrome_pgo_phase=2, + dcheck_always_on=false, + enable_nacl=false, + enable_resource_allowlist_generation=false, + is_chrome_branded=false, + is_clang=true, + is_component_build=false, + is_debug=false, + is_official_build=true, + symbol_level=0, + target_cpu=\"x64\", + use_v8_context_snapshot=false, + v8_symbol_level=0 + ] + toolchain-artifact: public/build/car_win64.tar.zst + fetches: + toolchain: + - win64-vs2022 + +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.toml' + - 'gfx/wr/Cargo.lock' + - 'gfx/wr/ci-scripts/install-meson.sh' + toolchain-artifact: public/build/wrench-deps.tar.zst + fetches: + 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 + - vs-toolchain + +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 + - vs-toolchain + +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-vs2019: + description: "VS 2019" + attributes: + local-toolchain: true + treeherder: + symbol: TW64(msvc2019) + worker: + env: + MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system + run: + script: get_vs.py + arguments: + - build/vs/vs2019.yaml + resources: + - build/vs/vs2019.yaml + toolchain-artifact: project/gecko/vs/vs.tar.zst + toolchain-alias: + - vs + - vs-toolchain + +win64-vs2022: + description: "VS 2022" + attributes: + local-toolchain: true + treeherder: + symbol: TW64(msvc2022) + worker: + env: + MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system + run: + script: get_vs.py + arguments: + - build/vs/vs2022.yaml + resources: + - build/vs/vs2022.yaml + toolchain-artifact: project/gecko/vs/vs.tar.zst + +linux64-afl-instrumentation-4.0: + 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-plus-plus-4.0 + toolchain: + - linux64-clang + - linux64-toolchain-sysroot + +linux64-cargo-apk: + description: "cargo-apk toolchain build" + treeherder: + symbol: TL(cargo-apk) + worker: + env: + FETCH: android-ndk-rs/cargo-apk + run: + script: build-rust-based-toolchain.sh + arguments: ['x86_64-unknown-linux-gnu'] + resources: + - taskcluster/scripts/misc/cargo-apk-Cargo.lock + toolchain-artifact: public/build/cargo-apk.tar.zst + fetches: + fetch: + - android-ndk-rs + toolchain: + - linux64-clang-toolchain + - linux64-rust-toolchain + - sysroot-x86_64-linux-gnu + +windows-rs: + # Bootstrap cannot use fetches directly, so we have this task to + # expose the corresponding fetch as a toolchain artifact. + description: Source of the windows rust crate + attributes: + local-toolchain: true + treeherder: + symbol: TW64(windows-rs) + run: + script: dummy.sh + toolchain-artifact: public/build/windows-rs.tar.zst + dependencies: + fetch-windows-rs: fetch-windows-rs + fetches: + fetch-windows-rs: + - artifact: windows-rs.tar.zst + extract: false + dest: ../artifacts diff --git a/taskcluster/ci/toolchain/nasm.yml b/taskcluster/ci/toolchain/nasm.yml new file mode 100644 index 0000000000..866aa5b0f6 --- /dev/null +++ b/taskcluster/ci/toolchain/nasm.yml @@ -0,0 +1,87 @@ +# 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-clang-toolchain + - macosx64-sdk-toolchain + +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-clang-toolchain + - macosx64-sdk-toolchain + +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..c1bc86254d --- /dev/null +++ b/taskcluster/ci/toolchain/node.yml @@ -0,0 +1,114 @@ +# 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 + +linux64-node-18: + # The upstream prebuilt binary requires glibc 2.28, which is too recent for Ubuntu 18.04, + # so we build our own that won't have that requirement. + description: "Node toolchain build" + treeherder: + symbol: TL(node-18) + run: + script: build-nodejs.sh + fetches: + fetch: + - nodejs-18-source + toolchain: + - linux64-gcc-11 + - linux64-toolchain-sysroot + +macosx64-node-16: + treeherder: + symbol: TM(node-16) + run: + toolchain-alias: + - macosx64-node + fetches: + fetch: + - nodejs-16-macosx64 + +macosx64-node-18: + treeherder: + symbol: TM(node-18) + fetches: + fetch: + - nodejs-18-macosx64 + +macosx64-aarch64-node-16: + treeherder: + symbol: TM(node-16-arm64) + run: + toolchain-alias: + - macosx64-aarch64-node + fetches: + fetch: + - nodejs-16-macosx64-arm64 + +macosx64-aarch64-node-18: + treeherder: + symbol: TM(node-18-arm64) + fetches: + fetch: + - nodejs-18-macosx64-arm64 + +win64-node-16: + treeherder: + symbol: TW64(node-16) + run: + toolchain-alias: + - win64-node + fetches: + fetch: + - nodejs-16-win64 + +win64-node-18: + treeherder: + symbol: TW64(node-18) + fetches: + fetch: + - nodejs-18-win64 + +win32-node-16: + treeherder: + symbol: TW32(node-16) + run: + toolchain-alias: + - win32-node + fetches: + fetch: + - nodejs-16-win32 + +win32-node-18: + treeherder: + symbol: TW32(node-18) + fetches: + fetch: + - nodejs-18-win32 diff --git a/taskcluster/ci/toolchain/pkgconf.yml b/taskcluster/ci/toolchain/pkgconf.yml new file mode 100644 index 0000000000..c97ead7acc --- /dev/null +++ b/taskcluster/ci/toolchain/pkgconf.yml @@ -0,0 +1,56 @@ +# 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 + - macosx64-sdk-toolchain + +macosx64-aarch64-pkgconf: + treeherder: + symbol: TM(pkgconf-arm64) + run: + arguments: ['aarch64-apple-darwin'] + fetches: + toolchain: + - linux64-clang-toolchain + - macosx64-sdk-toolchain + +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/python.yml b/taskcluster/ci/toolchain/python.yml new file mode 100644 index 0000000000..e610ee6e4e --- /dev/null +++ b/taskcluster/ci/toolchain/python.yml @@ -0,0 +1,97 @@ +# 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: "python repack" + attributes: + local-toolchain: true + worker-type: b-linux-gcp + worker: + max-run-time: 7200 + run: + script: build-cpython.sh + resources: + - 'build/psutil_requirements.txt' + - 'build/zstandard_requirements.txt' + +linux64-python-3.8: + treeherder: + symbol: TL(python) + run: + toolchain-alias: linux64-python + toolchain-artifact: public/build/python.tar.zst + fetches: + fetch: + - cpython-3.8.10 + worker: + docker-image: {in-tree: ubuntu1804-build-python} + +win64-python-3.8: + description: "cpython 3.8.10" + treeherder: + symbol: TW64(python) + run: + script: pack-cpython.sh + toolchain-alias: win64-python + toolchain-artifact: public/build/python.tar.zst + fetches: + toolchain: + - linux64-wine + fetch: + - cpython-3.8.10.exe + +macosx64-python-3.8: + treeherder: + symbol: TM(python) + worker-type: b-osx-1015 + run: + toolchain-alias: macosx64-python + toolchain-artifact: public/build/python.tar.zst + fetches: + fetch: + - cpython-3.8.10 + toolchain: + - macosx64-clang-toolchain + - macosx64-sdk-toolchain + - macosx64-xz + +### + +linux64-python-3.11: + treeherder: + symbol: TL(python3.11) + run: + toolchain-artifact: public/build/python.tar.zst + fetches: + fetch: + - cpython-3.11.7 + worker: + docker-image: {in-tree: ubuntu1804-build-python} + +win64-python-3.11: + description: "cpython 3.11.7" + treeherder: + symbol: TW64(python3.11) + run: + script: pack-cpython.sh + toolchain-artifact: public/build/python.tar.zst + fetches: + toolchain: + - linux64-wine + fetch: + - cpython-3.11.7.exe + +macosx64-python-3.11: + treeherder: + symbol: TM(python3.11) + worker-type: b-osx-1015 + run: + toolchain-artifact: public/build/python.tar.zst + fetches: + fetch: + - cpython-3.11.7 + toolchain: + - macosx64-clang-toolchain + - macosx64-sdk-toolchain + - macosx64-xz 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..09963589a6 --- /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 + - vs-toolchain diff --git a/taskcluster/ci/toolchain/rust.yml b/taskcluster/ci/toolchain/rust.yml new file mode 100644 index 0000000000..050e581247 --- /dev/null +++ b/taskcluster/ci/toolchain/rust.yml @@ -0,0 +1,219 @@ +# 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.70: + treeherder: + symbol: TL(rust-1.70) + run: + arguments: [ + '--channel', '1.70.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.76: + treeherder: + symbol: TL(rust) + run: + arguments: [ + '--channel', '1.76.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', + ] + toolchain-alias: linux64-rust + +# 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', + '--channel', 'dev', + '--host', 'x86_64-unknown-linux-gnu', + '--target', 'x86_64-unknown-linux-gnu', + ] + fetches: + fetch: + - rust-1.76.0 + toolchain: + - linux64-clang-toolchain + - linux64-toolchain-sysroot + +linux64-rust-cross-1.76: + description: "rust repack with macos and windows cross support" + treeherder: + symbol: TL(rust-cross) + run: + arguments: [ + '--channel', '1.76.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-static-1.76: + description: "rust repack with static linking support" + treeherder: + symbol: TL(rust-static) + run: + arguments: [ + '--channel', '1.76.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.70: + description: "rust repack with macos-cross support" + treeherder: + symbol: TL(rust-macos-1.70) + run: + arguments: [ + '--channel', '1.70.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.76: + description: "rust repack with macos-cross support" + treeherder: + symbol: TL(rust-macos) + run: + arguments: [ + '--channel', '1.76.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.76: + description: "rust repack with android-cross support" + treeherder: + symbol: TL(rust-android) + run: + arguments: [ + '--channel', '1.76.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', + ] + toolchain-alias: linux64-rust-android + +linux64-rust-windows-1.70: + description: "rust repack with windows-cross support" + treeherder: + symbol: TL(rust-win-1.70) + run: + arguments: [ + '--channel', '1.70.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.76: + description: "rust repack with windows-cross support" + treeherder: + symbol: TL(rust-win) + run: + arguments: [ + '--channel', '1.76.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.76: + treeherder: + symbol: TW64(rust) + run: + arguments: [ + '--channel', '1.76.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.76: + treeherder: + symbol: TM(rust) + run: + arguments: [ + '--channel', '1.76.0', + '--host', 'x86_64-apple-darwin', + '--target', 'x86_64-apple-darwin', + ] + toolchain-alias: macosx64-rust + +mingw32-rust-1.76: + treeherder: + symbol: TMW(rust) + run: + arguments: [ + '--channel', '1.76.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..6fa9ab46a5 --- /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 + - s3 + - gcs + - azure + - 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 + - macosx64-sdk-toolchain + +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 + - macosx64-sdk-toolchain + +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 + - vs-toolchain diff --git a/taskcluster/ci/toolchain/sysroot.yml b/taskcluster/ci/toolchain/sysroot.yml new file mode 100644 index 0000000000..e4479d16e0 --- /dev/null +++ b/taskcluster/ci/toolchain/sysroot.yml @@ -0,0 +1,206 @@ +# 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-8>'} + treeherder: + symbol: TL(sysroot32) + dependencies: + gcc-8: packages-deb8-32-gcc-8 + 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-8>'} + treeherder: + symbol: TL(sysroot64) + dependencies: + gcc-8: packages-deb8-gcc-8 + 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-8> <gtk3>'} + treeherder: + symbol: TL(sysroot64-x11) + dependencies: + gcc-8: packages-deb8-gcc-8 + gtk3: packages-deb8-gtk3 + run: + toolchain-artifact: public/build/sysroot-x86_64-linux-gnu.tar.zst + arguments: + - amd64 + +sysroot-wasm32-wasi-clang-8.0: + description: "Sysroot for wasi" + attributes: + local-toolchain: true + treeherder: + symbol: TL(sysroot-wasi-8) + run: + script: build-sysroot-wasi.sh + toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst + fetches: + fetch: + - clang-8.0 + - wasi-sdk-11 + toolchain: + - linux64-clang-8.0 + - wasm32-wasi-compiler-rt-8.0 + +sysroot-wasm32-wasi-clang-17: + description: "Sysroot for wasi" + attributes: + local-toolchain: true + treeherder: + symbol: TL(sysroot-wasi-17) + run: + script: build-sysroot-wasi.sh + arguments: + - wasi-sdk.patch + resources: + - taskcluster/scripts/misc/wasi-sdk.patch + toolchain-alias: + by-project: + toolchains: null + default: sysroot-wasm32-wasi + toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst + fetches: + fetch: + - clang-17 + - wasi-sdk + toolchain: + - linux64-clang-17-stage1 + - wasm32-wasi-compiler-rt-17 + +sysroot-wasm32-wasi-clang-18: + description: "Sysroot for wasi" + attributes: + local-toolchain: true + treeherder: + symbol: TL(sysroot-wasi-18) + run: + script: build-sysroot-wasi.sh + arguments: + - wasi-sdk.patch + resources: + - taskcluster/scripts/misc/wasi-sdk.patch + toolchain-artifact: public/build/sysroot-wasm32-wasi.tar.zst + fetches: + fetch: + - clang-18 + - wasi-sdk + toolchain: + - linux64-clang-18-stage1 + - wasm32-wasi-compiler-rt-18 + +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 + arguments: + - wasi-sdk.patch + resources: + - taskcluster/scripts/misc/wasi-sdk.patch + 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-8>'} + treeherder: + symbol: TL(sysroot32-toolchain) + dependencies: + gcc-8: packages-deb8-32-gcc-8 + 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-8>'} + treeherder: + symbol: TL(sysroot64-toolchain) + dependencies: + gcc-8: packages-deb8-gcc-8 + run: + arguments: + - amd64 + # For clang + - binutils-dev + - gcc-multilib + - lib32stdc++-8-dev + - libxml2-dev + # For minidump-stackwalk + - libcurl4-openssl-dev + - libssl-dev + - libbz2-dev + # For msix-package + - libicu-dev |