2018-09-16 21:58:57 +08:00
|
|
|
---
|
2018-06-24 20:41:26 +08:00
|
|
|
version: 2
|
|
|
|
|
|
|
|
workflows:
|
|
|
|
version: 2
|
2021-12-07 02:41:27 +08:00
|
|
|
program-analysis:
|
2018-06-24 20:41:26 +08:00
|
|
|
jobs:
|
2021-12-07 02:41:27 +08:00
|
|
|
# Dynamic analysis
|
2018-09-16 21:58:57 +08:00
|
|
|
- asan
|
|
|
|
- tsan
|
2021-12-07 02:41:27 +08:00
|
|
|
# Static analysis
|
|
|
|
- static-analysis
|
|
|
|
- infer
|
2018-06-24 20:41:26 +08:00
|
|
|
|
|
|
|
jobs:
|
2018-08-19 19:02:16 +08:00
|
|
|
asan:
|
2018-06-24 20:41:26 +08:00
|
|
|
working_directory: ~/work
|
|
|
|
docker:
|
2018-09-16 21:58:57 +08:00
|
|
|
- image: ubuntu
|
2018-06-24 20:41:26 +08:00
|
|
|
|
|
|
|
steps:
|
2018-09-16 21:58:57 +08:00
|
|
|
- checkout
|
|
|
|
- run: &apt_install
|
2020-04-24 22:18:00 +08:00
|
|
|
apt-get update &&
|
|
|
|
DEBIAN_FRONTEND=noninteractive
|
|
|
|
apt-get install -y --no-install-recommends
|
2018-09-16 21:58:57 +08:00
|
|
|
clang
|
|
|
|
cmake
|
|
|
|
libconfig-dev
|
|
|
|
libgtest-dev
|
|
|
|
libopus-dev
|
|
|
|
libsodium-dev
|
|
|
|
libvpx-dev
|
2020-04-05 01:49:03 +08:00
|
|
|
llvm-dev
|
2018-09-16 21:58:57 +08:00
|
|
|
ninja-build
|
|
|
|
pkg-config
|
|
|
|
- run: CC=clang .circleci/cmake-asan
|
2018-08-19 19:02:16 +08:00
|
|
|
|
|
|
|
tsan:
|
|
|
|
working_directory: ~/work
|
|
|
|
docker:
|
2018-09-16 21:58:57 +08:00
|
|
|
- image: ubuntu
|
2018-08-19 19:02:16 +08:00
|
|
|
|
|
|
|
steps:
|
2018-09-16 21:58:57 +08:00
|
|
|
- checkout
|
|
|
|
- run: *apt_install
|
|
|
|
- run: CC=clang .circleci/cmake-tsan
|
2021-12-07 02:41:27 +08:00
|
|
|
|
|
|
|
infer:
|
|
|
|
working_directory: ~/work
|
|
|
|
docker:
|
|
|
|
- image: toxchat/infer
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- run:
|
|
|
|
apt-get update &&
|
|
|
|
DEBIAN_FRONTEND=noninteractive
|
|
|
|
apt-get install -y --no-install-recommends
|
|
|
|
git
|
|
|
|
libopus-dev
|
|
|
|
libsodium-dev
|
|
|
|
libvpx-dev
|
|
|
|
pkg-config
|
|
|
|
- checkout
|
|
|
|
- run: infer --no-progress-bar -- cc toxav/*.c toxcore/*.c $(pkg-config --cflags opus vpx)
|
|
|
|
|
|
|
|
static-analysis:
|
|
|
|
working_directory: ~/work
|
|
|
|
docker:
|
|
|
|
- image: ubuntu
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
apt-get update &&
|
|
|
|
DEBIAN_FRONTEND=noninteractive
|
|
|
|
apt-get install -y --no-install-recommends
|
|
|
|
clang
|
|
|
|
cppcheck
|
|
|
|
g++
|
|
|
|
libconfig-dev
|
|
|
|
libopus-dev
|
|
|
|
libsodium-dev
|
|
|
|
libvpx-dev
|
|
|
|
llvm
|
|
|
|
- run: other/analysis/check_logger_levels
|
|
|
|
- run: other/analysis/run-check-recursion
|
|
|
|
- run: other/analysis/run-clang
|
|
|
|
- run: other/analysis/run-clang-analyze
|
|
|
|
- run: other/analysis/run-cppcheck
|
|
|
|
- run: other/analysis/run-gcc
|