Fixed problems with bitbanged Dshot and lazily allocated timers.
[betaflight.git] / .travis.yml
blobc38a0891e6b592b52690fe2f2dd2084b9878820c
1 os:
2   - linux
4 sudo: false
6 dist: bionic
8 git:
9   depth: 5
11 # We use cpp for unit tests, and c for the main project.
12 language: cpp
13 compiler: clang
15 env:
16 #  - PUBLISHMETA=True
17 #  - PUBLISHDOCS=True
18 # Specify the main Mafile supported goals.
19   - GOAL=test-all
20   - GOAL=targets-group-1
21   - GOAL=targets-group-2
22   - GOAL=targets-group-3
23   - GOAL=targets-group-4
24   - GOAL=targets-group-rest
25 #  - GOAL=all
26 #  - GOAL=AFROMINI
27 #  - GOAL=AIORACERF3
28 #  - GOAL=...
29 # Or specify targets to run.
30 #  - TARGET=AFROMINI
31 #  - TARGET=AIORACERF3
32 #  - TARGET=...
34 before_install:
35   - sudo apt-get update
36   - sudo apt-get install -y lcov libc6-i386 libblocksruntime-dev
37   - |
38     echo "Target branch: $TRAVIS_BRANCH"
39     echo "Commit range: $TRAVIS_COMMIT_RANGE"
40     if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
41       COMMIT_RANGE="$TRAVIS_BRANCH"
42     else
43       COMMIT_RANGE="$TRAVIS_COMMIT_RANGE"
44     fi
45     git diff --name-only $COMMIT_RANGE | grep -qvE '(\.md$)|(^(docs|support))/' || {
46       echo "Only files not used in the build process were updated, aborting."
47       exit
48     }
49   - pip install --user cpp-coveralls
50   - gem install coveralls-lcov
52 install:
53   - make arm_sdk_install
55 before_script:
56   - make arm_sdk_version
57   - clang --version
58   - clang++ --version
59   - gcc --version
61 script: ./.travis.sh
63 cache:
64   timeout: 1000
65   directories:
66   - downloads
67   - tools
69 # Notifications are encrypted to betaflight/betaflight to avoid spam from forks
70 # Command: `travis encrypt "<secret>" -r betaflight/betaflight --com`
71 notifications:
72   slack:
73     rooms:
74       - secure: URtjwXnjpAKXxt2GTLef/IS7ytm4wZd6Qv3Nb0mi2sS6a/8XSEjyPZLbo2yPA1nQf1ZDJUB3+ajk75LmUAcTGkzdehNVUshiLPB7qFMnFaKzIymgdoctb42IJowG+U5Lz6GJTPQt877ZRKjfm2JfuIfd8nX3qN6/UxmRI1uDLyvIauH8fstrQFq1VtfVXntds/Uh13sLHBqbbVohAz/ALfHmiQp/KN6Aao3aVR2gL0zU7Oq6KuZXdMqObluHwpUsxbFumhRpe1TsZ/KjpaGnBYfZrcVF5LzmqhAyPg+axi2ahQmEEluhgSRAwXl1EBtCoQMt9yOxKhKTDInyfwDnThGHuRxKyQ99B3wmBwUSdHqZGAwH9uKWndqHyUjH/nRssJG5TPvCWuuqfx25/DWYyWWJrjFJn9NT0qZkAbl4hIOSTj6riLZPqzFlUUurkxjFBcE3r7nbwEL9Mfw5MNjMmlFcwsSWx9GG4rDcg6/g3Xo9b4Qigi55YbmPCHa99aPagWHZ5crW6hbGRbs+19upUYwT2F2YjxMwXwqCm1pWSIOBAI/XGOCJby/nXjnyIJKx8/gUtXKEMtl7+wsXo0XZ6RF+c9dOY98m5XHNaUtkbu/20OYuNLKetD3cFtjMbvrnb64pmQcXXBqKqOdwEwwgZd26YY6NMNPP1nOJ4lWMZ9E=
75   webhooks:
76     urls:
77       - secure: OsjxvF0m4qHl15zqLYh0SK/y6wPWvjB/BsLmmn8B93vN/Meq3QYhrDP5lL2JrZfb/nSgMsZ6+c7ML47qvasOkwm4bA5Ft1kn7JRP13LCctbyNw4n0zbv2F+2VmXz5i66FY1fx1Gzp3E0a5gCirL5vq8+DtwSVKqAoBUMpRn/NlAINFGhkm4V1wpLoAOvr5JxH9xx18m2/zbuKPHGygsqoc4HSc9l5e2wj0y7ttSSf5qX5NtILQpJAcUA5sK9Q9UwBcVkjqcQtGgl1Kh3rrJF4tWi1uzOanJBGCykRcPfGiFSeRJRP0QoJkZTXWIYjWGp3jPePs1mgB3dkI+3eMiUG8X6f92l9kK2GPq4+7jeGcgIkupBwM+IDu4jj6OX3L+tSmNCPpe2mZMaC3ZgLl7OafKYWELc7qHW6aGrWx7r8EqnE+0i3fCs0PwvnC5cVQCkrd3fO82yEwxv3WO3pRgPON2+T+YIlW7tpoFqcAsAZcaVOiCEd3zlht1fccHB4VX7D/+2r6Socl+jJ0CWtLWCXMJqsrLgb4x9MIgB/PLe37/FGalE0dtYvtQtc9FydWfrBzjT2lbSiwbxCVcq12z4ysYr9qzKZCtBq1BMKXMIu2IgA39I2voZFygTYdJIeN5uWJWV3NwFsfBOoNoo7uEVLMy7GKFbMIjB2zz9tlq6I3g=
78     on_success: always  # options: [always|never|change] default: always
79     on_failure: always  # options: [always|never|change] default: always
80     on_start: always     # options: [always|never|change] default: always