forked from cleanflight/cleanflight
-
Notifications
You must be signed in to change notification settings - Fork 5
/
.travis.yml
94 lines (81 loc) · 3.62 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
86
87
88
89
90
91
92
93
94
os:
- linux
sudo: false
dist: bionic
git:
depth: 5
# We use cpp for unit tests, and c for the main project.
language: cpp
compiler: clang
env:
# - PUBLISHMETA=True
# - PUBLISHDOCS=True
# Specify the main Mafile supported goals.
- GOAL=test-all
- GOAL=targets-group-1
- GOAL=targets-group-2
- GOAL=targets-group-rest
# - GOAL=unsupported
# - GOAL=all
# - GOAL=AFROMINI
# - GOAL=AIORACERF3
# - GOAL=...
# Or specify targets to run.
# - TARGET=AFROMINI
# - TARGET=AIORACERF3
# - TARGET=...
before_install:
- sudo apt-get update
- sudo apt-get install -y lcov libc6-i386 libblocksruntime-dev
- |
echo "Target branch: $TRAVIS_BRANCH"
echo "Commit range: $TRAVIS_COMMIT_RANGE"
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
COMMIT_RANGE="$TRAVIS_BRANCH"
else
COMMIT_RANGE="$TRAVIS_COMMIT_RANGE"
fi
FILE_LIST=$(git diff --name-only $COMMIT_RANGE)
echo $FILE_LIST | grep -qvE '(\.md$)|(^(docs|support))/' || {
echo "Only files not used in the build process were updated, aborting."
exit
}
- pip install --user cpp-coveralls
- gem install coveralls-lcov
install:
- make arm_sdk_install
before_script:
- make arm_sdk_version
- clang --version
- clang++ --version
- gcc --version
script: ./.travis.sh
after_success:
- cd ${TRAVIS_BUILD_DIR}
- lcov --directory . -b src/test --capture --output-file coverage.info # capture coverage info
- lcov --remove coverage.info 'lib/test/*' 'src/test/*' '/usr/*' --output-file coverage.info # filter out system and test code
- lcov --list coverage.info # debug before upload
- coveralls-lcov coverage.info # uploads to coveralls
cache:
timeout: 1000
directories:
- downloads
- tools
# Notifications are encrypted to cleanflight/cleanflight to avoid spam from forks
# Command: `travis encrypt "<secret>" -r cleanflight/cleanflight --com`
# TODO - Update tokens for CF.
notifications:
irc:
channels:
- "chat.freenode.net#cleanflight"
use_notice: true
skip_join: true
slack:
rooms:
- secure: URtjwXnjpAKXxt2GTLef/IS7ytm4wZd6Qv3Nb0mi2sS6a/8XSEjyPZLbo2yPA1nQf1ZDJUB3+ajk75LmUAcTGkzdehNVUshiLPB7qFMnFaKzIymgdoctb42IJowG+U5Lz6GJTPQt877ZRKjfm2JfuIfd8nX3qN6/UxmRI1uDLyvIauH8fstrQFq1VtfVXntds/Uh13sLHBqbbVohAz/ALfHmiQp/KN6Aao3aVR2gL0zU7Oq6KuZXdMqObluHwpUsxbFumhRpe1TsZ/KjpaGnBYfZrcVF5LzmqhAyPg+axi2ahQmEEluhgSRAwXl1EBtCoQMt9yOxKhKTDInyfwDnThGHuRxKyQ99B3wmBwUSdHqZGAwH9uKWndqHyUjH/nRssJG5TPvCWuuqfx25/DWYyWWJrjFJn9NT0qZkAbl4hIOSTj6riLZPqzFlUUurkxjFBcE3r7nbwEL9Mfw5MNjMmlFcwsSWx9GG4rDcg6/g3Xo9b4Qigi55YbmPCHa99aPagWHZ5crW6hbGRbs+19upUYwT2F2YjxMwXwqCm1pWSIOBAI/XGOCJby/nXjnyIJKx8/gUtXKEMtl7+wsXo0XZ6RF+c9dOY98m5XHNaUtkbu/20OYuNLKetD3cFtjMbvrnb64pmQcXXBqKqOdwEwwgZd26YY6NMNPP1nOJ4lWMZ9E=
webhooks:
urls:
- secure: OsjxvF0m4qHl15zqLYh0SK/y6wPWvjB/BsLmmn8B93vN/Meq3QYhrDP5lL2JrZfb/nSgMsZ6+c7ML47qvasOkwm4bA5Ft1kn7JRP13LCctbyNw4n0zbv2F+2VmXz5i66FY1fx1Gzp3E0a5gCirL5vq8+DtwSVKqAoBUMpRn/NlAINFGhkm4V1wpLoAOvr5JxH9xx18m2/zbuKPHGygsqoc4HSc9l5e2wj0y7ttSSf5qX5NtILQpJAcUA5sK9Q9UwBcVkjqcQtGgl1Kh3rrJF4tWi1uzOanJBGCykRcPfGiFSeRJRP0QoJkZTXWIYjWGp3jPePs1mgB3dkI+3eMiUG8X6f92l9kK2GPq4+7jeGcgIkupBwM+IDu4jj6OX3L+tSmNCPpe2mZMaC3ZgLl7OafKYWELc7qHW6aGrWx7r8EqnE+0i3fCs0PwvnC5cVQCkrd3fO82yEwxv3WO3pRgPON2+T+YIlW7tpoFqcAsAZcaVOiCEd3zlht1fccHB4VX7D/+2r6Socl+jJ0CWtLWCXMJqsrLgb4x9MIgB/PLe37/FGalE0dtYvtQtc9FydWfrBzjT2lbSiwbxCVcq12z4ysYr9qzKZCtBq1BMKXMIu2IgA39I2voZFygTYdJIeN5uWJWV3NwFsfBOoNoo7uEVLMy7GKFbMIjB2zz9tlq6I3g=
on_success: always # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: always # options: [always|never|change] default: always