mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
7205db72e4
And tokstyle is better at it, covering not just direct recursion, but also (most possible instances of) recursion through function pointers.
171 lines
3.9 KiB
YAML
171 lines
3.9 KiB
YAML
---
|
|
version: 2
|
|
|
|
workflows:
|
|
version: 2
|
|
program-analysis:
|
|
jobs:
|
|
# Dynamic analysis
|
|
- asan
|
|
- tsan
|
|
- msan
|
|
- ubsan
|
|
# Static analysis
|
|
- clang-analyze
|
|
- clang-tidy
|
|
- cpplint
|
|
- infer
|
|
- static-analysis
|
|
|
|
jobs:
|
|
asan:
|
|
working_directory: ~/work
|
|
docker:
|
|
- image: ubuntu
|
|
|
|
steps:
|
|
- run: &apt_install
|
|
apt-get update &&
|
|
DEBIAN_FRONTEND=noninteractive
|
|
apt-get install -y --no-install-recommends
|
|
ca-certificates
|
|
clang
|
|
cmake
|
|
git
|
|
libconfig-dev
|
|
libgtest-dev
|
|
libopus-dev
|
|
libsodium-dev
|
|
libvpx-dev
|
|
llvm-dev
|
|
ninja-build
|
|
pkg-config
|
|
- checkout
|
|
- run: git submodule update --init --recursive
|
|
- run: CC=clang .circleci/cmake-asan
|
|
|
|
tsan:
|
|
working_directory: ~/work
|
|
docker:
|
|
- image: ubuntu
|
|
|
|
steps:
|
|
- run: *apt_install
|
|
- checkout
|
|
- run: git submodule update --init --recursive
|
|
- run: CC=clang .circleci/cmake-tsan
|
|
|
|
ubsan:
|
|
working_directory: ~/work
|
|
docker:
|
|
- image: ubuntu
|
|
|
|
steps:
|
|
- run: *apt_install
|
|
- checkout
|
|
- run: git submodule update --init --recursive
|
|
- run: CC=clang .circleci/cmake-ubsan
|
|
|
|
msan:
|
|
working_directory: ~/work
|
|
docker:
|
|
- image: toxchat/toktok-stack:latest-msan
|
|
|
|
steps:
|
|
- checkout
|
|
- run: git submodule update --init --recursive
|
|
- run: rm -rf /src/workspace/c-toxcore/* && mv * /src/workspace/c-toxcore/
|
|
- run:
|
|
cd /src/workspace && bazel test
|
|
//c-toxcore/auto_tests:lossless_packet_test
|
|
//c-toxcore/toxav/...
|
|
//c-toxcore/toxcore/...
|
|
|
|
infer:
|
|
working_directory: ~/work
|
|
docker:
|
|
- image: toxchat/infer
|
|
|
|
steps:
|
|
- run: *apt_install
|
|
- checkout
|
|
- run: git submodule update --init --recursive
|
|
- run: infer --no-progress-bar -- cc
|
|
auto_tests/auto_test_support.c
|
|
auto_tests/lossless_packet_test.c
|
|
testing/misc_tools.c
|
|
toxav/*.c
|
|
toxcore/*.c
|
|
toxcore/*/*.c
|
|
toxencryptsave/*.c
|
|
third_party/cmp/*.c
|
|
-lpthread
|
|
$(pkg-config --cflags --libs libsodium opus vpx)
|
|
|
|
static-analysis:
|
|
working_directory: ~/work
|
|
docker:
|
|
- image: ubuntu
|
|
|
|
steps:
|
|
- run: *apt_install
|
|
- run:
|
|
apt-get install -y --no-install-recommends
|
|
ca-certificates
|
|
cppcheck
|
|
g++
|
|
llvm-dev
|
|
- checkout
|
|
- run: git submodule update --init --recursive
|
|
- run: other/analysis/check_includes
|
|
- run: other/analysis/check_logger_levels
|
|
- run: other/analysis/run-clang
|
|
- run: other/analysis/run-cppcheck
|
|
- run: other/analysis/run-gcc
|
|
|
|
clang-analyze:
|
|
working_directory: ~/work
|
|
docker:
|
|
- image: ubuntu
|
|
|
|
steps:
|
|
- run: *apt_install
|
|
- checkout
|
|
- run: git submodule update --init --recursive
|
|
- run: other/analysis/run-clang-analyze
|
|
|
|
clang-tidy:
|
|
working_directory: ~/work
|
|
docker:
|
|
- image: ubuntu
|
|
|
|
steps:
|
|
- run: *apt_install
|
|
- run:
|
|
apt-get install -y --no-install-recommends
|
|
ca-certificates
|
|
clang-tidy-12
|
|
- checkout
|
|
- run: git submodule update --init --recursive
|
|
- run: cmake . -B_build -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
|
- run:
|
|
other/analysis/run-clang-tidy ||
|
|
other/analysis/run-clang-tidy ||
|
|
other/analysis/run-clang-tidy
|
|
|
|
cpplint:
|
|
working_directory: ~/work
|
|
docker:
|
|
- image: ubuntu
|
|
|
|
steps:
|
|
- run: *apt_install
|
|
- run:
|
|
apt-get install -y --no-install-recommends
|
|
ca-certificates
|
|
python3-pip
|
|
- checkout
|
|
- run: git submodule update --init --recursive
|
|
- run: pip install cpplint
|
|
- run: other/analysis/run-cpplint
|