New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 633856 link

Starred by 9 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocked on:
issue 633865



Sign in to add a comment

Implement a Tricium ClangTidy Analyzer

Project Member Reported by emso@chromium.org, Aug 3 2016

Issue description

Provide a Tricium ClangTidy analyzer.

This includes support for extraction of clang compilation details, availability of ClangTidy on swarming bots, and integration of ClangTidy into Tricium (configuration and recipe integration).
 

Comment 1 by emso@chromium.org, Aug 3 2016

Labels: -Type-Bug Type-Feature

Comment 2 by emso@chromium.org, Aug 3 2016

Components: Infra>CodeAnalysis
Labels: -Pri-3 Pri-2

Comment 3 by emso@chromium.org, Aug 3 2016

Blockedon: 633865

Comment 4 by emso@chromium.org, Aug 3 2016

We need to include generated files among the files provided to ClangTidy to replay the compilation of patched files in a patch set. To get those files we would ideally run just those targets generating files needed by the files in the patch set.

Further investigation and comments in issue 633865.

Cc: shinyak@chromium.org

Comment 6 by emso@chromium.org, Jan 16 2017

Labels: -Pri-2 Milestone-ClangTidy Tricium Pri-3
Making this the 'Milestone ClangTidy' where Tricium produces results for C++ files. 

* Clang isolator. Isolation of generated files.
* Access to ClangTidy wrapper binary on bots.
* Multi-platform analyzer implementation.
* Merging of multi-platform analyzer results.
* When done: Consumer dogfooding opportunity!

Comment 7 by emso@chromium.org, Jan 4 2018

Owner: ----
Status: Available (was: Assigned)
Blocking: -625781
Summary: Implement a Tricium ClangTidy Analyzer (was: Tricium ClangTidy Analyzer)
Components: Infra>Platform>Tricium
Components: -Infra>CodeAnalysis
Labels: -Tricium
Project Member

Comment 11 by bugdroid1@chromium.org, Oct 1

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infradata/config/+/4e60862b1b82649c80f853d92fe3ae027189c3b3

commit 4e60862b1b82649c80f853d92fe3ae027189c3b3
Author: Julie Hockett <juliehockett@google.com>
Date: Mon Oct 01 22:49:39 2018

Cc: maruel@google.com dpranke@google.com qyears...@chromium.org
 Issue 892593  has been merged into this issue.
keyword clang-tidy
Labels: -Milestone-ClangTidy
Thanks thakis@ :-)

A couple notes copied from  issue 892593 :

> (Docs for running clang-tidy locally: https://chromium.googlesource.com/chromium/src/+/master/docs/clang_tidy.md

> cxx@ thread on clang-tidy checks: https://groups.google.com/a/chromium.org/forum/#!topic/cxx/RkOHzIK6Tq8)


So, there are some drafty docs from previous discussions about this (currently only accessible to @google.com) in go/tricium-folder -> Analyzers -> clang-tidy.

The design that Emma had in mind, I believe, was to implement an Tricium isolator which outputs "ClangDetails" (https://cs.chromium.org/chromium/infra/go/src/infra/tricium/api/v1/data.proto?l=84), which is a compilation database file (compile_commands.json) and a list of dependency paths required to compile; then there could be multiple clang-tidy analyzers which take ClangDetails as input and produce different warnings; different teams might be interested in maintaining separate analyzers that produce different clang-tidy warnings.

Julie Hockett has made a clang-tidy analyzer in fuchsia which takes a bit of a different approach; it is a recipe-based analyzer which checks out the whole repo and does all clang-tidy checks in one analyzer. I think that this is a good approach as long as it's okay to have one analyzer that produces all clang-tidy warnings.
Cc: thakis@chromium.org
Components: Infra>Platform>Tricium>Analyzer
Components: -Infra>Platform>Tricium
Cc: jdoerrie@chromium.org

Sign in to add a comment