forked from qedalab/vcd_assert
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
85 lines (76 loc) · 5.3 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
sudo: required
language: generic
services:
- docker
before_script:
- docker run --name runner -t -d pleroux0/centos7-devel
- docker exec runner yum -y install iverilog
- docker exec runner git clone -b "${TRAVIS_BRANCH}" --recurse-submodules --depth=1 "https://github.com/${TRAVIS_REPO_SLUG}.git" "repo"
- docker exec runner mkdir "repo/travis-build"
- docker exec runner conan remote add pleroux0 "https://api.bintray.com/conan/pleroux0/pleroux0"
matrix:
include:
# CentOS Release build
- env:
- TEST_NAME="Centos Release"
script:
- docker exec runner scl enable devtoolset-7 -- bash -c "cd repo/travis-build && conan install .. --build=missing -s build_type=Release"
- docker exec runner scl enable devtoolset-7 -- bash -c "cd repo/travis-build && conan build .."
# Coverage report
- env:
- TEST_NAME="Coverage report"
script:
- docker exec runner scl enable devtoolset-7 -- bash -c "cd repo/travis-build && conan install .. --build=missing -s build_type=Debug -e CXXFLAGS=--coverage"
- docker exec runner scl enable devtoolset-7 -- bash -c "cd repo/travis-build && conan build .."
- docker exec runner scl enable devtoolset-7 -- bash -c "cd repo/travis-build && lcov --directory . --capture --output-file coverage.info"
- docker exec runner scl enable devtoolset-7 -- bash -c "cd repo/travis-build && lcov --extract coverage.info \"*repo*\" --output-file coverage.info"
- docker exec runner scl enable devtoolset-7 -- bash -c "cd repo/travis-build && bash <(curl -s https://codecov.io/bash) -t ${CODECOV_TOKEN}"
# Valgrind
- env:
- TEST_NAME="Valgrind"
script:
- docker exec runner scl enable devtoolset-7 -- bash -c "cd repo/travis-build && conan install .. --build=missing -s build_type=Debug"
- docker exec runner scl enable devtoolset-7 -- bash -c "cd repo/travis-build && conan build .."
- docker exec runner scl enable devtoolset-7 -- bash -c "cd repo/travis-build && ctest -T memcheck"
- docker exec runner bash -c "cat repo/travis-build/Testing/Temporary/MemoryChecker.*.log"
- docker exec runner bash -c "if [ -s repo/travis-build/Testing/Temporary/MemoryChecker.0.log ]; then false; fi"
- docker exec runner bash -c "if [ -s repo/travis-build/Testing/Temporary/MemoryChecker.1.log ]; then false; fi"
- docker exec runner bash -c "if [ -s repo/travis-build/Testing/Temporary/MemoryChecker.2.log ]; then false; fi"
- docker exec runner bash -c "if [ -s repo/travis-build/Testing/Temporary/MemoryChecker.3.log ]; then false; fi"
# Clang based tests
- env:
- TEST_NAME="Clang sanitize undefined'
before_script:
- docker run --name runner -t -d pleroux0/ubuntu-clang6-devel
- docker exec runner apt-get install -y iverilog
- docker exec runner git clone -b "${TRAVIS_BRANCH}" --recurse-submodules --depth=1 "https://github.com/${TRAVIS_REPO_SLUG}.git" "repo"
- docker exec runner mkdir "repo/travis-build"
- docker exec runner conan remote add pleroux0 "https://api.bintray.com/conan/pleroux0/pleroux0"
script:
- docker exec runner bash -c "cd repo/travis-build && conan install .. --build=missing -s build_type=Debug -s compiler=clang -s compiler.libcxx=libc++ -s compiler.version=6.0 -e CXXFLAGS='-fsanitize=undefined -stdlib=libc++' -e CC=clang -e CXX=clang++"
- docker exec runner bash -c "cd repo/travis-build && conan build .."
- env:
- TEST_NAME="Clang sanitize address'
before_script:
- docker run --name runner -t -d pleroux0/ubuntu-clang6-devel
- docker exec runner apt-get install -y iverilog
- docker exec runner git clone -b "${TRAVIS_BRANCH}" --recurse-submodules --depth=1 "https://github.com/${TRAVIS_REPO_SLUG}.git" "repo"
- docker exec runner mkdir "repo/travis-build"
- docker exec runner conan remote add pleroux0 "https://api.bintray.com/conan/pleroux0/pleroux0"
script:
- docker exec runner bash -c "cd repo/travis-build && conan install .. --build=missing -s build_type=Debug -s compiler=clang -s compiler.libcxx=libc++ -s compiler.version=6.0 -e CXXFLAGS='-fsanitize=address -stdlib=libc++' -e CC=clang -e CXX=clang++"
- docker exec runner bash -c "cd repo/travis-build && conan build .."
- env:
- TEST_NAME="Clang Tidy'
before_script:
- docker run --name runner -t -d pleroux0/ubuntu-clang6-devel
- docker exec runner apt-get install -y iverilog
- docker exec runner git clone -b "${TRAVIS_BRANCH}" --recurse-submodules --depth=1 "https://github.com/${TRAVIS_REPO_SLUG}.git" "repo"
- docker exec runner mkdir "repo/travis-build"
- docker exec runner conan remote add pleroux0 "https://api.bintray.com/conan/pleroux0/pleroux0"
script:
- docker exec runner bash -c "cd repo/travis-build && conan install .. --build=missing -s build_type=Debug -s compiler=clang -s compiler.libcxx=libc++ -s compiler.version=6.0 -e CC=clang -e CXX=clang++ -e CXXFLAGS='-stdlib=libc++'"
- docker exec runner bash -c "cd repo/travis-build && conan build .."
- docker exec runner bash -c "cd repo/travis-build && cmake --build . --target clean"
- docker exec runner bash -c "cd repo/travis-build && cmake .. -DCMAKE_CXX_CLANG_TIDY:FILEPATH=clang-tidy"
- docker exec runner bash -c "cd repo/travis-build && cmake --build ."