speeduino/.travis.yml

95 lines
4.2 KiB
YAML

# Continuous Integration (CI) is the practice, in software
# engineering, of merging all developer working copies with a shared mainline
# several times a day < http://docs.platformio.org/page/ci/index.html >
#
# Documentation:
#
# * Travis CI Embedded Builds with PlatformIO
# < https://docs.travis-ci.com/user/integration/platformio/ >
#
# * PlatformIO integration with Travis CI
# < http://docs.platformio.org/page/ci/travis.html >
#
# * User Guide for `platformio ci` command
# < http://docs.platformio.org/page/userguide/cmd_ci.html >
#
#
# Please choice one of the following templates (proposed below) and uncomment
# it (remove "# " before each line) or use own configuration according to the
# Travis CI documentation (see above).
#
#
# Template #1: General project. Test it using existing `platformio.ini`.
#
language: python
python:
- "2.7"
dist: trusty
sudo: required
cache:
directories:
- "~/.platformio"
#addons:
# apt:
# sources:
# - sourceline: 'deb http://ports.ubuntu.com/ubuntu-ports trusty-backports main restricted universe multiverse'
# packages:
# - cppcheck/trusty-backports
before_install:
- sudo apt-get update -qq
# - sudo apt-get install -t trusty-backports cppcheck
- sudo apt-get build-dep -qq cppcheck
# - wget https://github.com/danmar/cppcheck/archive/1.79.zip
# - unzip 1.79.zip
# - cd cppcheck-1.79
# - git clone --depth=10 https://github.com/noisymime/cppcheck.git
# - cd cppcheck
# - sudo make install CFGDIR=/usr/share/cppcheck/ HAVE_RULES=yes
# Requirements for doxygen
- sudo apt-get install doxygen graphviz
install:
- pip install -U platformio
script:
- cd /home/travis/build
- git clone --depth=10 https://github.com/noisymime/cppcheck.git noisymime/cppcheck_github
- cd noisymime/cppcheck_github
- make
- cd ../speeduino
- platformio update
# Run the builds
- platformio run -e megaatmega2560 -e teensy35
# Upload ini and hex files to speeduino.com server
- curl --user "speeduino_firmware@speeduino.com:$WEB_PWD" --basic -T "./.pioenvs/megaatmega2560/firmware.hex" "https://speeduino.com:2078/bin/master.hex"
- curl --user "speeduino_firmware@speeduino.com:$WEB_PWD" --basic -T "./reference/speeduino.ini" "https://speeduino.com:2078/master.ini"
# Begin MISRA scan
- cd ..
- chmod +x speeduino/misra/check_misra_github.sh
- speeduino/misra/check_misra_github.sh
# Do doxygen run and upload to gh-pages server.
- cd speeduino
- doxygen
- cd ..
- git clone https://github.com/speeduino/speeduino-doxygen
- cp -r speeduino/reference/doxygen/html/* speeduino-doxygen
- cd speeduino-doxygen
- git add --all
- git commit -m "Deploy code docs to GitHub Pages. Travis build ${TRAVIS_BUILD_NUMBER}" -m "Commit ${TRAVIS_COMMIT}"
- git push --force "https://${GH_DOXYGEN}@github.com/speeduino/speeduino-doxygen" > /dev/null 2>&1
notifications:
slack: speeduino:Y8Bhhviu4r7HFF3abMYDnH3p
env:
global:
- secure: "L6pyVQKCkOJNPBEbx6pEln+QnGyntouZW1tGSqOysgRFmUOdXH8l+DKq0YwW+civ0yWrF91G5YkWmyAE1jkoDLy7TBOt8Iqq/xAmf+BHIqDl/+uNsVxgvZ6+gqwMeoWBfmo0vmRj3/wY7ZmepNe2jKop/DX2olhBgmRdCKp8nA+SX8/pc2tO7DZeSsbCP0+JozvVhFtQMNwzkVp4llmER2yGr+u5pTTOz4eXCEkEKUCZMZ6JhvPKCDm+7tUQSS4NvShizj7QZIjqxvINQPi9i1TGJRoPTlQqYNGfTHufU3/W7nsUWFdtrZRapLZuKN/ktOr5T0ydQriNlDpBoIWXJvHzZrBjyT2arzz7jw57QZ8Yhyhetdw+zIfBepLEp7nKZGjR3eeWGtRzj8RRIgw19MT+8g2l7a1gKte+L01o4y8RKfQCqt/2PcVelIUv3X08JVOE6q7PumBEUSAkk1ITE80Y8SYoQda62gehH06xloSWJvU79tIC0drWMO+hGvj4LTpoe9ujMYTxkwGjiIfx9I9jButAN0vI2MtcDyVR+9XuKwZc9nFf4z4HR8xav1NmrzEAy0OVsOdjpM3OxAnVzTUo4M0c11dt9sDP7xR3TgwgSs2ptNOamujRFqrONHnn6VglOnWuypfvJfBxfovuRP1+UZoHIH7sbiMXmX/3nyA="
- secure: "LKvIikE69mmD2yroQ84KFfrCw9sCU6o4zDqdGQM3mFKVi/Tuiyskvk3KMbf5Rxwt6Fy2OhdvitxG1ckbpccdTNlEbef7DtBdjNd5Oh72GseBCwToNTinFCVpJbj2AWceDykSDsaxzZMg3ienXwZ5XB3ClyUi6N+8MLwpsX4kJuGNfOY3z6yC+JQSvuVhIb1zDRYDKAHDuabzo38sk8q/WhBEVvL95lzPHoxMEpaQfwyjZ4lLhDbqe9/y7s7M9bjz1K9AXHS6h5fIWGVKVzL8YKoOVi6Na6vcnS8w7YNr71AMr0d7H0nM9gG6Fy4DDyUsfa9SBhLVxMWbEPe9+eJNZ0MkuwI/6eaxiqnqAcMfFyvw1bwBGCi4+x0+9riwpOYE21q3Mq/XbTKdvI7YG4RPfd2X4Xe6hOVPW/5iEICZdxrpLdyDN7suZX7Y8POcBeJgi6HkdKXfDO6NlCV+Fnmwx/FltHILX2GNASob/o2/dVkPNh3NjxVqgwN9OxyzNQefWC3z1W3YgBwTWc3VkuiuE0eTEkBX5aSGTGZWqysz4U42/7M+MiSC80VpMbsFNd1FEGZR75Y644q+aUHLGNWIK01dslxZUiUEh5CkdOHTqpeHVszJyCblTtIBAXyBhZfnbdOBxpPsZGg2U+iSUSOzXW2W11e52ARhpi0QlnvhdkI="