.travis.yml 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. language: c
  2. env:
  3. - BD=esp8266:esp8266:nodemcuv2:CpuFrequency=80,FlashSize=4M3M
  4. - BD=esp8266:esp8266:d1_mini:CpuFrequency=80,FlashSize=4M3M
  5. before_install:
  6. - "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16"
  7. - sleep 3
  8. - export DISPLAY=:1.0
  9. - wget http://downloads.arduino.cc/arduino-1.8.2-linux64.tar.xz
  10. - tar xf arduino-1.8.2-linux64.tar.xz
  11. - sudo mv arduino-1.8.2 /usr/local/share/arduino
  12. - sudo ln -s /usr/local/share/arduino/arduino /usr/local/bin/arduino
  13. - wget https://raw.githubusercontent.com/google/styleguide/gh-pages/cpplint/cpplint.py
  14. install:
  15. - ln -s $PWD /usr/local/share/arduino/libraries/
  16. - git clone https://github.com/tzapu/WiFiManager.git /usr/local/share/arduino/libraries/WiFiManager
  17. - git clone https://github.com/knolleary/pubsubclient.git /usr/local/share/arduino/libraries/PubSubClient
  18. - arduino --pref "boardsmanager.additional.urls=http://arduino.esp8266.com/stable/package_esp8266com_index.json" --save-prefs
  19. - arduino --install-boards esp8266:esp8266
  20. - arduino --board $BD --save-prefs
  21. - arduino --pref "compiler.warning_level=all" --save-prefs
  22. - sudo apt-get install jq
  23. - sudo pip install pylint
  24. script:
  25. # Check that everything compiles.
  26. - arduino --verify --board $BD $PWD/examples/IRrecvDemo/IRrecvDemo.ino
  27. - arduino --verify --board $BD $PWD/examples/IRGCSendDemo/IRGCSendDemo.ino
  28. - arduino --verify --board $BD $PWD/examples/IRGCTCPServer/IRGCTCPServer.ino
  29. - arduino --verify --board $BD $PWD/examples/IRServer/IRServer.ino
  30. - arduino --verify --board $BD $PWD/examples/IRrecvDumpV2/IRrecvDumpV2.ino
  31. - arduino --verify --board $BD $PWD/examples/IRsendDemo/IRsendDemo.ino
  32. - arduino --verify --board $BD $PWD/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino
  33. - arduino --verify --board $BD $PWD/examples/TurnOnDaikinAC/TurnOnDaikinAC.ino
  34. - arduino --verify --board $BD $PWD/examples/TurnOnFujitsuAC/TurnOnFujitsuAC.ino
  35. - arduino --verify --board $BD $PWD/examples/TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino
  36. - arduino --verify --board $BD $PWD/examples/TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino
  37. - arduino --verify --board $BD $PWD/examples/IRsendProntoDemo/IRsendProntoDemo.ino
  38. - arduino --verify --board $BD $PWD/examples/TurnOnTrotecAC/TurnOnTrotecAC.ino
  39. - arduino --verify --board $BD $PWD/examples/LGACSend/LGACSend.ino
  40. - arduino --verify --board $BD $PWD/examples/TurnOnArgoAC/TurnOnArgoAC.ino
  41. - arduino --verify --board $BD $PWD/examples/IRMQTTServer/IRMQTTServer.ino
  42. - arduino --verify --board $BD $PWD/examples/TurnOnToshibaAC/TurnOnToshibaAC.ino
  43. # Also check the tools programs compile.
  44. - (cd tools; make all)
  45. # Check for lint issues.
  46. - shopt -s nullglob
  47. - python cpplint.py --extensions=c,cc,cpp,ino --headers=h,hpp {src,test,tools}/*.{h,c,cc,cpp,hpp,ino} examples/*/*.{h,c,cc,cpp,hpp,ino}
  48. - pylint {src,test,tools}/*.py
  49. - shopt -u nullglob
  50. # Build and run the unit tests.
  51. - (cd test; make run)
  52. - (cd tools; make run_tests)
  53. # Check the version numbers match.
  54. - LIB_VERSION=$(egrep "^#define\s+_IRREMOTEESP8266_VERSION_\s+" src/IRremoteESP8266.h | cut -d\" -f2)
  55. - test ${LIB_VERSION} == "$(jq -r .version library.json)"
  56. - grep -q "^version=${LIB_VERSION}$" library.properties
  57. notifications:
  58. email:
  59. on_success: change
  60. on_failure: change