diff options
Diffstat (limited to 'taskcluster/ci/source-test/clang.yml')
-rw-r--r-- | taskcluster/ci/source-test/clang.yml | 118 |
1 files changed, 118 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..f390bc472e --- /dev/null +++ b/taskcluster/ci/source-test/clang.yml @@ -0,0 +1,118 @@ +# 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/opt + attributes: + code-review: true + worker-type: + by-platform: + linux64.*: t-linux-xlarge-source + 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-clang + - linux64-rust + - linux64-cbindgen + - linux64-nasm + - linux64-node + when: + # Extension list from https://hg.mozilla.org/mozilla-central/file/default/python/mozbuild/mozbuild/mach_commands.py#l1664 + files-changed: + - '**/*.c' + - '**/*.cpp' + - '**/*.cc' + - '**/*.cxx' + - '**/*.m' + - '**/*.mm' + - '**/*.h' + - '**/*.hh' + - '**/*.hpp' + - '**/*.hxx' + +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-tidy + 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-tidy + 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-tidy-external + worker: + artifacts: + - type: file + name: public/code-review/clang-tidy.json + path: /builds/worker/clang-tidy.json + +non-unified: + description: Run syntax test for non-unified build on C/C++ files. + treeherder: + symbol: cpp(non-unified) + tier: 1 + attributes: + code-review: false + run-on-projects: ['integration'] + run: + cwd: '{checkout}' + command: >- + source taskcluster/scripts/misc/source-test-clang-setup.sh && + taskcluster/scripts/misc/source-test-clang-non-unified.sh + fetches: + toolchain: + - linux64-clang-tidy |