summaryrefslogtreecommitdiffstats
path: root/taskcluster/ci/source-test/clang.yml
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/ci/source-test/clang.yml')
-rw-r--r--taskcluster/ci/source-test/clang.yml118
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