mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
b7f9367f6f
Also started teaching it about toxcore's alloc/dealloc functions in hopes of it catching some errors (it doesn't seem to be very good at this, but maybe better than nothing?).
190 lines
4.3 KiB
YAML
190 lines
4.3 KiB
YAML
---
|
|
version: 2
|
|
|
|
workflows:
|
|
version: 2
|
|
program-analysis:
|
|
jobs:
|
|
# Dynamic analysis in the Bazel build
|
|
- bazel-asan
|
|
- bazel-msan
|
|
- bazel-tsan
|
|
# Dynamic analysis with CMake
|
|
- asan
|
|
- tsan
|
|
- ubsan
|
|
# Static analysis
|
|
- clang-analyze
|
|
- clang-tidy
|
|
- cpplint
|
|
- infer
|
|
- static-analysis
|
|
|
|
jobs:
|
|
bazel-asan:
|
|
working_directory: /tmp/cirrus-ci-build
|
|
docker:
|
|
- image: toxchat/toktok-stack:latest-asan
|
|
|
|
steps:
|
|
- checkout
|
|
- run: .circleci/bazel-test
|
|
//c-toxcore/...
|
|
|
|
bazel-tsan:
|
|
working_directory: /tmp/cirrus-ci-build
|
|
docker:
|
|
- image: toxchat/toktok-stack:latest-tsan
|
|
|
|
steps:
|
|
- checkout
|
|
- run: .circleci/bazel-test
|
|
//c-toxcore/...
|
|
-//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
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
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
|
|
|
|
clang-tidy:
|
|
working_directory: ~/work
|
|
docker:
|
|
- image: ubuntu
|
|
|
|
steps:
|
|
- run: *apt_install
|
|
- run:
|
|
apt-get install -y --no-install-recommends
|
|
ca-certificates
|
|
clang-tidy-14
|
|
- checkout
|
|
- run: git submodule update --init --recursive
|
|
- 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
|