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.8.10-linux64.tar.xz
  - tar xf arduino-1.8.10-linux64.tar.xz
  - sudo mv arduino-1.8.10 /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
  - arduino --pref "boardsmanager.additional.urls=http://arduino.esp8266.com/stable/package_esp8266com_index.json,http://dl.espressif.com/dl/package_esp32_index.json" --save-prefs
  - arduino --install-library "ArduinoJson:5.13.2"
  - arduino --install-boards esp8266:esp8266
  - arduino --pref "compiler.warning_level=all" --save-prefs
# install esp32
  - arduino --install-boards esp32: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:xtal=80,eesz=4M1M,FlashMode=qio,FlashFreq=80,dbg=Serial,lvl=CORE --save-prefs
  - build_examples
  - arduino --board esp32:esp32:esp32:FlashFreq=80,FlashSize=4M,DebugLevel=info --save-prefs
# some examples fail (SPIFFS defines differ esp32 vs esp8266) so we exclude them
  - build_examples
#  - arduino -v --verbose-build --verify $PWD/examples/AutoConnect/AutoConnect.ino

# no coverage generated, no need to run
#
#after_success:
#  - bash <(curl -s https://codecov.io/bash)

notifications:
  email:
    on_success: change
    on_failure: change
