diff options
Diffstat (limited to 'taskcluster/ci/source-test/clang.yml')
-rw-r--r-- | taskcluster/ci/source-test/clang.yml | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/taskcluster/ci/source-test/clang.yml b/taskcluster/ci/source-test/clang.yml new file mode 100644 index 0000000000..f513ec8dc0 --- /dev/null +++ b/taskcluster/ci/source-test/clang.yml @@ -0,0 +1,116 @@ +# 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: + # Run only on try and code-review tasks + # to avoid running clang tools on the whole codebase + run-on-projects: [] + platform: linux64/debug + worker-type: t-linux-xlarge-source + attributes: + code-review: true + worker: + docker-image: {in-tree: static-analysis-build} + max-run-time: 5400 + treeherder: + kind: other + tier: 2 + run: + using: run-task + tooltool-downloads: public + fetches: + toolchain: + - linux64-cbindgen + - linux64-nasm + - linux64-node + when: + files-changed: + - '**/*.c' + - '**/*.cpp' + - '**/*.cc' + - '**/*.cxx' + - '**/*.m' + - '**/*.mm' + +tidy: + description: Run static-analysis (clang-tidy) on C/C++ patches + treeherder: + symbol: cpp(clang-tidy) + run: + cwd: '{checkout}' + command: >- + source taskcluster/scripts/misc/source-test-clang-setup.sh && + ./mach --log-no-times static-analysis check --outgoing --output $HOME/clang-tidy.json --format json + fetches: + toolchain: + - linux64-clang + - linux64-clang-tidy + - linux64-rust + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + worker: + artifacts: + - type: file + name: public/code-review/clang-tidy.json + path: /builds/worker/clang-tidy.json + +format: + description: Run clang-format on C/C++ patches + treeherder: + symbol: cpp(clang-format) + run: + cwd: '{checkout}' + command: >- + source taskcluster/scripts/misc/source-test-clang-setup.sh && + ./mach --log-no-times clang-format --outgoing --output $HOME/clang-format.json --format json && + ./mach --log-no-times clang-format --outgoing --output $HOME/clang-format.diff --format diff + fetches: + toolchain: + - linux64-clang + - linux64-clang-tidy + - linux64-rust + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + when: + files-changed: + - '**/*.c' + - '**/*.cpp' + - '**/*.cc' + - '**/*.cxx' + - '**/*.m' + - '**/*.mm' + - '**/*.h' + - '**/*.hh' + - '**/*.hpp' + - '**/*.hxx' + worker: + artifacts: + - type: file + name: public/code-review/clang-format.json + path: /builds/worker/clang-format.json + - type: file + name: public/code-review/clang-format.diff + path: /builds/worker/clang-format.diff + +external: + description: Run static-analysis (clang-tidy) on C/C++ patches with external checks + treeherder: + symbol: cpp(clang-tidy-external) + run: + cwd: '{checkout}' + command: >- + source taskcluster/scripts/misc/source-test-clang-setup.sh && + ./mach --log-no-times static-analysis check --checks="-*,mozilla-civet-*" --outgoing --output $HOME/clang-tidy.json --format json + fetches: + toolchain: + - linux64-clang + - linux64-clang-tidy-external + - linux64-rust + - sysroot-x86_64-linux-gnu + - sysroot-wasm32-wasi + worker: + artifacts: + - type: file + name: public/code-review/clang-tidy.json + path: /builds/worker/clang-tidy.json |