diff --git a/.travis.yml b/.travis.yml index 64fb578..97d018f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,34 +1,52 @@ language: c +sudo: false + before_install: - "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16" - sleep 3 - export DISPLAY=:1.0 - - wget http://downloads.arduino.cc/arduino-1.6.5-linux64.tar.xz - - tar xf arduino-1.6.5-linux64.tar.xz - - sudo mv arduino-1.6.5 /usr/local/share/arduino + - wget http://downloads.arduino.cc/arduino-1.8.5-linux64.tar.xz + - tar xf arduino-1.8.5-linux64.tar.xz + - sudo mv arduino-1.8.5 /usr/local/share/arduino - sudo ln -s /usr/local/share/arduino/arduino /usr/local/bin/arduino + install: - ln -s $PWD /usr/local/share/arduino/libraries/WiFiManager -# boards manager not working on 1.6.7 - 1.6.8 - arduino --pref "boardsmanager.additional.urls=http://arduino.esp8266.com/stable/package_esp8266com_index.json" --save-prefs -# install lib arduino json not working in 1.6.5 -# - arduino --install-library "ArduinoJson" - - git clone https://github.com/bblanchon/ArduinoJson /usr/local/share/arduino/libraries/ArduinoJson + - arduino --install-library "ArduinoJson" - arduino --install-boards esp8266:esp8266 - - arduino --board esp8266:esp8266:generic --save-prefs - arduino --pref "compiler.warning_level=all" --save-prefs +# install esp32 + - pushd . + - mkdir -p ~/Arduino/hardware/espressif + - cd ~/Arduino/hardware/espressif + - git clone https://github.com/espressif/arduino-esp32.git esp32 + - cd esp32 + - git submodule update --init --recursive + - cd tools + - python2 get.py + - popd +# esp32 needs WebServer_tng for now + - git clone https://github.com/bbx10/WebServer_tng.git /usr/local/share/arduino/libraries/WebServer_tng + script: - "echo $PWD" - "echo $HOME" - "ls $PWD" - source $TRAVIS_BUILD_DIR/travis/common.sh + - arduino --board esp8266:esp8266:generic:CpuFrequency=80,CrystalFreq=26,FlashFreq=40,FlashMode=qio,FlashSize=4M1M,led=2,LwIPVariant=v2mss536,Debug=Serial,DebugLevel=CORE --save-prefs - build_examples -# - "cat $PWD/examples/AutoConnect/AutoConnect.ino" + - arduino --board espressif:esp32:esp32doit-devkit-v1:FlashFreq=80,DebugLevel=info --save-prefs +# some examples fail (SPIFFS defines differ esp32 vs esp8266) so we exclude them + - excludes=("AutoConnectWithFSParametersAndCustomIP.ino" "AutoConnectWithFSParameters.ino") + - build_examples "${excludes[@]}" # - arduino -v --verbose-build --verify $PWD/examples/AutoConnect/AutoConnect.ino -# - arduino --verify --board arduino:avr:uno $PWD/examples/IncomingCall/IncomingCall.ino -# - arduino --verify --board arduino:avr:uno $PWD/examples/AdafruitIO_GPS/AdafruitIO_GPS.ino -after_success: - - bash <(curl -s https://codecov.io/bash) + +# no coverage generated, no need to run +# +#after_success: +# - bash <(curl -s https://codecov.io/bash) + notifications: email: on_success: change diff --git a/travis/common.sh b/travis/common.sh index d115085..4b3e655 100644 --- a/travis/common.sh +++ b/travis/common.sh @@ -2,6 +2,7 @@ function build_examples() { + excludes=("$@") # track the exit code for this platform local exit_code=0 # loop through results and add them to the array @@ -19,6 +20,14 @@ function build_examples() # store the filename for the example without the path local example_file=$(basename $example) + # skip files listed as excludes + for exclude in "${excludes[@]}"; do + if [ "${example_file}" == "${exclude}" ] ; then + echo ">>>>>>>>>>>>>>>>>>>>>>>> Skipping ${example_file} <<<<<<<<<<<<<<<<<<<<<<<<<<" + continue 2 + fi + done + echo "$example_file: " local sketch="$example_dir/$example_file" echo "$sketch"