ci: Rename clang-tidy-smart-scan to clang-tidy-diff-scan and improve rules
In !2666 (merged), the clang-tidy CI/CD job was split into two jobs: clang-tidy-smart-scan and clang-tidy-full-scan. The clang-tidy-smart-scan served two purposes: 1) check the files changed by the MR, or 2) check all files when the clang-tidy configurations were changed.
This MR replaces that logic with GitLab CI/CD rules. Now, when clang-tidy configurations are changed, the clang-tidy-full-scan will be triggered instead of the clang-tidy-smart-scan. Therefore, the clang-tidy-smart-scan is renamed clang-tidy-diff-scan, to reflect its nature.
In summary, the new job rules are as follows:
- MRs that change clang-tidy or CI/CD configurations run clang-tidy-full-scan.
- Otherwise, MRs run clang-tidy-diff-scan on the changed files.
- New branches without an active MR run the clang-tidy-diff-scan job, and the clang-tidy-full-scan job is marked as optional.
Additionally, this MR contains a commit to format the list of files checked by clang-tidy in multiple lines, rather than a long line of filenames separated by spaces.