.travis.yml 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # Build and autotest script for PX4 Firmware
  2. # http://travis-ci.org
  3. language: cpp
  4. before_script:
  5. - sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test
  6. - sudo apt-get update -qq
  7. - if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.8 gcc-4.8 libstdc++-4.8-dev; fi
  8. - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
  9. # Travis specific tools
  10. - sudo apt-get install -qq s3cmd grep zip
  11. # General toolchain dependencies
  12. - sudo apt-get install -qq libc6-i386 gcc-4.7-base:i386 python-serial python-argparse python-empy
  13. - sudo apt-get install -qq flex bison libncurses5-dev autoconf texinfo build-essential libtool zlib1g-dev genromfs git wget cmake
  14. - pushd .
  15. - cd ~
  16. - wget https://launchpadlibrarian.net/186124160/gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2
  17. - tar -jxf gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2
  18. - exportline="export PATH=$HOME/gcc-arm-none-eabi-4_8-2014q3/bin:\$PATH"
  19. - if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi
  20. - . ~/.profile
  21. - popd
  22. # Astyle
  23. - pushd .
  24. - cd ~
  25. - wget https://sourceforge.net/projects/astyle/files/astyle/astyle%202.06/astyle_2.06_linux.tar.gz
  26. - tar -xf astyle_2.06_linux.tar.gz
  27. - cd astyle/build/gcc
  28. - make
  29. - exportline="export PATH=$HOME/astyle/build/gcc/bin:\$PATH"
  30. - if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi
  31. - . ~/.profile
  32. - popd
  33. git:
  34. depth: 500
  35. env:
  36. global:
  37. # AWS KEY: $PX4_AWS_KEY
  38. - secure: "XknnZHWBbpHbN4f3fuAVwUztdLIu8ej4keC3aQSDofo3uw8AFEzojfsQsN9u77ShWSIV4iYJWh9C9ALkCx7TocJ+xYjiboo10YhM9lH/8u+EXjYWG6GHS8ua0wkir+cViSxoLNaMtmcb/rPTicJecAGANxLsIHyBAgTL3fkbLSA="
  39. # AWS SECRET: $PX4_AWS_SECRET
  40. - secure: "h6oajlW68dWIr+wZhO58Dv6e68dZHrBLVA6lPXZmheFQBW6Xam1HuLGA0LOW6cL9TnrAsOZ8g4goB58eMQnMEijFZKi3mhRwZhd/Xjq/ZGJOWBUrLoQHZUw2dQk5ja5vmUlKEoQnFZjDuMjx8KfX5ZMNy8A3yssWZtJYHD8c+bk="
  41. - PX4_AWS_BUCKET=px4-travis-bootloader
  42. - PX4_EMAIL_SUBJECT="Travis CI result"
  43. script:
  44. - set -e
  45. - arm-none-eabi-gcc --version
  46. - echo 'Building libopencm3..' && echo -en 'travis_fold:start:script.2\\r'
  47. - make libopencm3
  48. - echo -en 'travis_fold:end:script.2\\r'
  49. - echo 'Building Bootloader..' && echo -en 'travis_fold:start:script.3\\r'
  50. - make
  51. - echo -en 'travis_fold:end:script.3\\r'
  52. - echo 'Style check..' && echo -en 'travis_fold:start:script.4\\r'
  53. - make check_format
  54. - echo -en 'travis_fold:end:script.4\\r'
  55. - echo 'Packaging Bootloader for deployment..' && echo -en 'travis_fold:start:script.5\\r'
  56. - make deploy
  57. - echo -en 'travis_fold:end:script.5\\r'
  58. - set +e
  59. deploy:
  60. provider: releases
  61. api_key:
  62. secure: XwjN2RtyFHyrDtaYromJ5iG/KaXys2thXjo6soKSWkvhmTPd0j3FbU97uro5S7p2vymCKngxwsxGGx8pOjO8oYaMWAu2r8VyLKhq5JPMuRNuNU1417YrEtvUySr/MPGmmGFT5fo/STXPN+Kak+yccDKgyjxm0ATY0bt4NR+n61o=
  63. file: "Bootloader.zip"
  64. skip_cleanup: true
  65. on:
  66. tags: true
  67. all_branches: true
  68. repo: PX4/Bootloader
  69. addons:
  70. artifacts:
  71. paths:
  72. - "Bootloader.zip"
  73. key:
  74. secure: U3F80mRhnoPgb0JJZwQqG955GpE5ld0NQfBMyuVs0bPQd5xPe0La69L+auPbPpRr8pW/ivTpLFhzYmhqRWz/Xd86WPqWwbgy10aYf9KDxcIzZSiFeCHx5Jm8D2Tfz3FkDcdo0GAgQIVQJp92bZsnvYxKGc2jkt7Ir8AH7hyPBH4=
  75. secret:
  76. secure: ZPkZzURNVyZNPGU0HmG7+DYYJmnkcxnOm1zL1PvlIhMIpeCbDgKSYX9DInNEevoVnLGsQT2gRhC+dNky/HBGR7BpKRTDEb2+1g6KDdF3ojiZpzaHASQzfwl1W9MuOZvjui36D58wE6Mmwlg39VQ7uj7ETessL133Ck6Q4wb/2Xs=
  77. bucket: px4-travis
  78. region: us-east-1
  79. endpoint: s3-website-us-east-1.amazonaws.com