.travis.yml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. sudo: false
  2. language: cpp
  3. git:
  4. submodules: false
  5. addons:
  6. apt:
  7. packages:
  8. - python
  9. - python-pip
  10. - git
  11. - wget
  12. - make
  13. - cmake
  14. - libncurses-dev
  15. - flex
  16. - bison
  17. - gperf
  18. - aria2
  19. cache:
  20. - pip
  21. - directories:
  22. - cache
  23. before_install:
  24. - export TOOLCHAIN_URL=https://github.com/kendryte/kendryte-gnu-toolchain/releases/download/v8.2.0-20190213/kendryte-toolchain-ubuntu-amd64-8.2.0-20190213.tar.gz
  25. - export TOOLCHAIN=${TOOLCHAIN_URL##*/}
  26. - |
  27. if [ ! -f $TRAVIS_BUILD_DIR/cache/$TOOLCHAIN ]; then
  28. echo "Download toolchain ..."
  29. aria2c $TOOLCHAIN_URL -d $TRAVIS_BUILD_DIR/cache -o $TOOLCHAIN
  30. else
  31. echo "Toolchain is ready download in cache"
  32. fi
  33. - |
  34. if [ ! -d $TRAVIS_BUILD_DIR/cache/kendryte-toolchain ]; then
  35. echo "Extract toolchain ..."
  36. tar -C $TRAVIS_BUILD_DIR/cache -zxvf $TRAVIS_BUILD_DIR/cache/$TOOLCHAIN
  37. else
  38. echo "Toolchain is ready extract in cache"
  39. fi
  40. install:
  41. - export PATH=$TRAVIS_BUILD_DIR/cache/kendryte-toolchain/bin:$PATH
  42. - export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/cache/kendryte-toolchain/bin:$LD_LIBRARY_PATH
  43. - |
  44. cd $TRAVIS_BUILD_DIR
  45. export BRANCH=$(if [ "$TRAVIS_BRANCH" == "master" ]; then echo $TRAVIS_BRANCH; else echo "develop"; fi)
  46. git clone --single-branch --branch $BRANCH https://github.com/kendryte/kendryte-standalone-demo.git
  47. echo "Build branch $BRANCH"
  48. script:
  49. - export BUILD_DATE=$(date +%Y%m%d)
  50. ## Copy all example code
  51. - |
  52. cd $TRAVIS_BUILD_DIR/src
  53. cp -rf $TRAVIS_BUILD_DIR/kendryte-standalone-demo/* .
  54. mv $TRAVIS_BUILD_DIR/kendryte-standalone-demo ~/demo
  55. ## Check example code
  56. - |
  57. for DIR in $(ls $TRAVIS_BUILD_DIR/src)
  58. do
  59. echo "[MAKE]" $TRAVIS_BUILD_DIR/src/$DIR
  60. cd $TRAVIS_BUILD_DIR/src/$DIR
  61. if [ ! -f "Makefile" ]; then
  62. COUNT=$(expr $(ls -1 *.c 2>/dev/null | wc -l) + $(ls -1 *.cpp 2>/dev/null | wc -l) + $(ls -1 *.S 2>/dev/null | wc -l))
  63. if [ $COUNT -gt 0 ]; then
  64. mkdir build && cd build
  65. cmake -DPROJ=$DIR -DTOOLCHAIN=$TRAVIS_BUILD_DIR/cache/kendryte-toolchain/bin ../../../ || exit -1
  66. make || exit -1
  67. else
  68. echo "[IGNORE]" $TRAVIS_BUILD_DIR/src/$DIR
  69. fi
  70. else
  71. make || exit -1
  72. fi
  73. done