toxcore/.circleci/config.yml

148 lines
3.3 KiB
YAML
Raw Normal View History

---
version: 2
workflows:
version: 2
program-analysis:
jobs:
# Dynamic analysis
- asan
- tsan
- msan
- ubsan
# Static analysis
- clang-analyze
- clang-tidy
2022-01-18 01:12:05 +08:00
- cpplint
- infer
- static-analysis
jobs:
2018-08-19 19:02:16 +08:00
asan:
working_directory: ~/work
docker:
- image: ubuntu
steps:
- run: &apt_install
2020-04-24 22:18:00 +08:00
apt-get update &&
DEBIAN_FRONTEND=noninteractive
apt-get install -y --no-install-recommends
clang
cmake
git
libconfig-dev
libgtest-dev
libmsgpack-dev
libopus-dev
libsodium-dev
libvpx-dev
llvm-dev
ninja-build
pkg-config
- checkout
- run: CC=clang .circleci/cmake-asan
2018-08-19 19:02:16 +08:00
tsan:
working_directory: ~/work
docker:
- image: ubuntu
2018-08-19 19:02:16 +08:00
steps:
- run: *apt_install
- checkout
- run: CC=clang .circleci/cmake-tsan
ubsan:
working_directory: ~/work
docker:
- image: ubuntu
steps:
- run: *apt_install
- checkout
- run: CC=clang .circleci/cmake-ubsan
msan:
working_directory: ~/work
docker:
2022-02-01 03:32:50 +08:00
- image: toxchat/toktok-stack:latest-msan
steps:
- checkout
- run: rm -rf /src/workspace/c-toxcore/* && mv * /src/workspace/c-toxcore/
# TODO(iphydf): Remove "|| true" once this works.
- run: cd /src/workspace && bazel test //c-toxcore/auto_tests:lossless_packet_test || true
infer:
working_directory: ~/work
docker:
- image: toxchat/infer
steps:
- run: *apt_install
- checkout
- run: infer --no-progress-bar -- cc
2022-01-26 03:25:36 +08:00
auto_tests/auto_test_support.c
auto_tests/lossless_packet_test.c
testing/misc_tools.c
toxav/*.c
toxcore/*.c
toxcore/*/*.c
toxencryptsave/*.c
-lpthread
$(pkg-config --cflags --libs libsodium msgpack opus vpx)
static-analysis:
working_directory: ~/work
docker:
- image: ubuntu
steps:
- run: *apt_install
- run: apt-get install -y --no-install-recommends cppcheck g++ llvm-dev
- checkout
- run: other/analysis/check_includes
- run: other/analysis/check_logger_levels
- run: other/analysis/run-check-recursion
- 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: 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 clang-tidy-12
- checkout
- 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
2022-01-18 01:12:05 +08:00
cpplint:
working_directory: ~/work
docker:
- image: ubuntu
steps:
- run: *apt_install
- run: apt-get install -y --no-install-recommends python3-pip
- checkout
- run: pip install cpplint
- run: other/analysis/run-cpplint