- configured sccache on buildkite windows machines
- final result is sent to phabricator from "summary.py" that waits for both builds to complete
- extracted "add_url_artifact" to a runnable script
- reorganized code and fixed some of TODOs
- add links to join beta and report issue
- add link "not useful" to clang-tidy warning
- clang-tidy comment in report now tells how many inline comments were
added
Now clang-format report will skip files matching `clang-format.ignore`.
For now it's empty.
clang-tidy will not receive diffs for `clang-tidy.ignore` (it still can
produce warnings for these files).
In addition build bot will not will not post comments for files
that are matched by `clang-tidy-comments.ignore`. Now project/file should
be whitelisted to receive inline comments from clang-tidy.
Added all /test directories to `clang-tidy.ignore`.
Other alternatives considered:
- using 'compile_commands.json': does not contain header files.
- specifying -regex option to 'clang-tidy-diff': probably not the best
experience of providing multiple rules and maintaining a single regex.
+ don't assume that clang-format has passed if there is no file.
If linters didn't run at all file will be missing.
+ add "gray" icon for the result if it's unknown.
+ assume whole build is failed if clang-format or clang-tidy found something.
+ combine multiple lint messages per line.
Now report is constructed by adding more data from several stages and
represents internal structure rather what API expects.
+ Made all function that don't interact with phabricator free standing
+ Now links list all files in results directory
+ Status icons
Example comment: https://reviews.llvm.org/D71197#1779176 (links don't work).
E.g.: https://reviews.llvm.org/D71197?id=233029
Will add a link to file and code to apply the patch in the next PR.
+ don't create TARGET_DIR in scripts;
+ updated section about local build;
+ partially specified inputs / outputs of scripts so it's more transparent what are the results;
+ added symlink to compile_command.json (clang-tidy will need it);
+ add IDEA files to .gitignore.