Summary:
Accelerate CI: ccache integration, replace scan-build, upgrade runners
1. ccache integration via reusable composite action (setup-ccache)
- Created .github/actions/setup-ccache/action.yml
- Applied to 13+ Linux compilation jobs in pr-jobs.yml
- PORTABLE=1 by default to avoid illegal instruction errors on
heterogeneous runners; disabled for jobs linking pre-built Folly
- On cache hit, reducing compilation from 20+ min to ~2-5 min per job
- ccache placed before Folly build so Folly compilation also
benefits from cache on Folly cache misses
2. Replace scan-build with clang-tidy (30+ min -> seconds)
- Removed build-linux-clang18-clang-analyze job from pr-jobs.yml
- Expanded .clang-tidy to enable all clang-analyzer-* checks,
matching scan-build's full coverage
- Existing clang-tidy-comment.yml workflow now handles both
clang-tidy and clang-analyzer checks on changed files only
3. Upgrade Folly job runners for faster builds and tests
- build-linux-make-with-folly: 16-core -> 32-core, -j32 -> -j64
- build-linux-cmake-with-folly-coroutines: 16-core -> 32-core,
-j20 -> -j64 (both make and ctest)
Pull Request resolved: https://github.com/facebook/rocksdb/pull/14368
Reviewed By: joshkang97
Differential Revision: D94166095
Pulled By: xingbowang
fbshipit-source-id: 3dfbd71aace3ba9cb2e790873bdbedba20215657
86 lines
2.9 KiB
YAML
86 lines
2.9 KiB
YAML
# When making changes, verify the output of:
|
|
# clang-tidy -list-checks
|
|
---
|
|
Checks: "-*,\
|
|
bugprone-argument-comment,\
|
|
bugprone-dangling-handle,\
|
|
bugprone-fold-init-type,\
|
|
bugprone-forward-declaration-namespace,\
|
|
bugprone-forwarding-reference-overload,\
|
|
bugprone-shadow,\
|
|
bugprone-sizeof-*,\
|
|
bugprone-string-constructor,\
|
|
bugprone-undefined-memory-manipulation,\
|
|
bugprone-unused-return-value,\
|
|
bugprone-use-after-move,\
|
|
cert-env33-c,\
|
|
cert-err58-cpp,\
|
|
cert-msc30-c,\
|
|
cert-msc50-cpp,\
|
|
clang-analyzer-*,\
|
|
clang-diagnostic-*,\
|
|
-clang-diagnostic-missing-designated-field-initializers,\
|
|
concurrency-mt-unsafe,\
|
|
cppcoreguidelines-avoid-non-const-global-variables,\
|
|
cppcoreguidelines-missing-std-forward,\
|
|
cppcoreguidelines-pro-type-member-init,\
|
|
cppcoreguidelines-special-member-functions,\
|
|
cppcoreguidelines-virtual-class-destructor,\
|
|
google-build-using-namespace,\
|
|
google-explicit-constructor,\
|
|
google-readability-avoid-underscore-in-googletest-name,\
|
|
misc-definitions-in-headers,\
|
|
misc-redundant-expression,\
|
|
modernize-make-shared,\
|
|
modernize-use-emplace,\
|
|
modernize-use-noexcept,\
|
|
modernize-use-override,\
|
|
modernize-use-using,\
|
|
performance-faster-string-find,\
|
|
performance-for-range-copy,\
|
|
performance-implicit-conversion-in-loop,\
|
|
performance-inefficient-algorithm,\
|
|
performance-inefficient-string-concatenation,\
|
|
performance-inefficient-vector-operation,\
|
|
performance-move-const-arg,\
|
|
performance-move-constructor-init,\
|
|
performance-no-automatic-move,\
|
|
performance-no-int-to-ptr,\
|
|
performance-noexcept-move-constructor,\
|
|
performance-noexcept-swap,\
|
|
performance-trivially-destructible,\
|
|
performance-type-promotion-in-math-fn,\
|
|
performance-unnecessary-copy-initialization,\
|
|
performance-unnecessary-value-param,\
|
|
readability-braces-around-statements,\
|
|
readability-duplicate-include,\
|
|
readability-isolate-declaration,\
|
|
readability-operators-representation,\
|
|
readability-redundant-string-init"
|
|
|
|
WarningsAsErrors: "bugprone-use-after-move"
|
|
|
|
CheckOptions:
|
|
- key: bugprone-easily-swappable-parameters.MinimumLength
|
|
value: 4
|
|
- key: cppcoreguidelines-avoid-non-const-global-variables.AllowThreadLocal
|
|
value: true
|
|
- key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
|
|
value: true
|
|
- key: cppcoreguidelines-special-member-functions.AllowImplicitlyDeletedCopyOrMove
|
|
value: true
|
|
- key: modernize-use-using.IgnoreExternC
|
|
value: true
|
|
- key: performance-move-const-arg.CheckTriviallyCopyableMove
|
|
value: false
|
|
- key: performance-unnecessary-value-param.AllowedTypes
|
|
value: '[Pp]ointer$;[Pp]tr$;[Rr]ef(erence)?$'
|
|
- key: performance-unnecessary-copy-initialization.AllowedTypes
|
|
value: '[Pp]ointer$;[Pp]tr$;[Rr]ef(erence)?$'
|
|
- key: readability-operators-representation.BinaryOperators
|
|
value: '&&;&=;&;|;~;!;!=;||;|=;^;^='
|
|
- key: readability-redundant-string-init.StringNames
|
|
value: '::std::basic_string'
|
|
- key: readability-named-parameter.InsertPlainNamesInForwardDecls
|
|
value: true
|
|
...
|