### Goal
Idea is to reduce the annoyances and research which clang-tidy rules make sense and actually have benefits in our project.
Also considering immediately resolving most if not all tidy warnings.
### Current Changes
- `.clang-tidy` has changes to follow the guidelines we have been following silently. Some rules were different from how we program.
- Note that naming is completely removed and won't be checked. In a future PR (where we go over the code to fix linting issues), we can reintroduce them and make sure they fit our codebase consistently.
- tidy rules are not considered errors anymore (stopped compile).
- CI/CD addition to build check and clang-tidy check. Tried to get clang-tidy check to show when failed, but that causes complications in its checks; so now it is simply silent when failing.
- Dockerfile that creates an arch container as cache for the CI/CD, prevents redownload of dependencies each run. Instead, it runs weekly (or optionally a different interval).
### Current complications
- To push the docker container build, it would require this webserver to allow larger filesize pushes (need ~2GB). Current workaround is arguably better where docker build is pushed to runner server.
- Figuring out which clang-tidy rules make sense.
Reviewed-on: #130
Co-authored-by: AramJonghu <aramjonghu@tutamail.com>
Co-committed-by: AramJonghu <aramjonghu@tutamail.com>
23 lines
558 B
YAML
23 lines
558 B
YAML
---
|
|
Checks: >
|
|
-*,
|
|
bugprone-*,
|
|
-bugprone-easily-swappable-parameters,
|
|
-bugprone-narrowing-conversions,
|
|
-bugprone-implicit-widening-of-multiplication-result,
|
|
clang-analyzer-*,
|
|
cppcoreguidelines-init-variables,
|
|
misc-no-recursion,
|
|
concurrency-mt-unsafe,
|
|
readability-else-after-return,
|
|
readability-make-member-function-const,
|
|
readability-redundant-*,
|
|
readability-simplify-*,
|
|
modernize-use-override,
|
|
modernize-use-nullptr,
|
|
modernize-deprecated-headers,
|
|
HeaderFilterRegex: ".*"
|
|
FormatStyle: file
|
|
|
|
...
|