2023-07-25 11:53:09 +02:00
|
|
|
---
|
|
|
|
version: 2
|
|
|
|
|
|
|
|
workflows:
|
|
|
|
version: 2
|
|
|
|
program-analysis:
|
|
|
|
jobs:
|
2023-10-10 19:37:39 +02:00
|
|
|
# Dynamic analysis in the Bazel build
|
|
|
|
- bazel-asan
|
2023-11-13 14:02:43 +01:00
|
|
|
- bazel-msan
|
2023-10-10 19:37:39 +02:00
|
|
|
- bazel-tsan
|
|
|
|
# Dynamic analysis with CMake
|
2023-07-25 11:53:09 +02:00
|
|
|
- asan
|
|
|
|
- tsan
|
|
|
|
- ubsan
|
|
|
|
# Static analysis
|
|
|
|
- clang-analyze
|
|
|
|
- cpplint
|
|
|
|
- static-analysis
|
|
|
|
|
|
|
|
jobs:
|
2023-10-10 19:37:39 +02:00
|
|
|
bazel-asan:
|
|
|
|
working_directory: /tmp/cirrus-ci-build
|
|
|
|
docker:
|
|
|
|
- image: toxchat/toktok-stack:latest-asan
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run: .circleci/bazel-test
|
2023-11-13 14:02:43 +01:00
|
|
|
//c-toxcore/...
|
2023-10-10 19:37:39 +02:00
|
|
|
|
|
|
|
bazel-tsan:
|
|
|
|
working_directory: /tmp/cirrus-ci-build
|
|
|
|
docker:
|
|
|
|
- image: toxchat/toktok-stack:latest-tsan
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run: .circleci/bazel-test
|
2023-11-13 14:02:43 +01:00
|
|
|
//c-toxcore/...
|
2023-10-10 19:37:39 +02:00
|
|
|
-//c-toxcore/auto_tests:conference_av_test
|
|
|
|
-//c-toxcore/auto_tests:conference_test
|
|
|
|
-//c-toxcore/auto_tests:onion_test
|
|
|
|
-//c-toxcore/auto_tests:tox_many_test
|
|
|
|
|
2023-11-13 14:02:43 +01:00
|
|
|
bazel-msan:
|
|
|
|
working_directory: /tmp/cirrus-ci-build
|
|
|
|
docker:
|
|
|
|
- image: toxchat/toktok-stack:latest-msan
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run: .circleci/bazel-test
|
|
|
|
//c-toxcore/auto_tests:lossless_packet_test
|
|
|
|
|
2023-07-25 11:53:09 +02:00
|
|
|
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
|
2024-01-12 21:30:48 +01:00
|
|
|
libgmock-dev
|
2023-07-25 11:53:09 +02:00
|
|
|
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
|
|
|
|
|
|
|
|
static-analysis:
|
|
|
|
working_directory: ~/work
|
|
|
|
docker:
|
|
|
|
- image: ubuntu
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- run: *apt_install
|
|
|
|
- run:
|
|
|
|
apt-get install -y --no-install-recommends
|
|
|
|
ca-certificates
|
|
|
|
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-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
|
|
|
|
|
|
|
|
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
|