diff --git a/.travis.yml b/.travis.yml index cf53634..ea5ea87 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,7 @@ -language: cpp - -cache: - directories: - - ~/arduino_ide - - ~/.arduino15/packages/ -git: - depth: false - quiet: true - -matrix: + matrix: include: - - os: linux + - language: cpp + os: linux addons: apt: sources: @@ -20,50 +11,116 @@ matrix: env: - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" - MODE=LINUX - - os: linux + cache: + directories: + - ~/arduino_ide + - ~/.arduino15/packages/ + git: + depth: false + quiet: true + before_install: + - downloadArduinoLib() { wget -O $1.zip $2; unzip -o $1.zip -d $HOME/arduino_ide/libraries; } + - if [ "$MODE" = "LINUX" ]; then eval "${MATRIX_EVAL}"; fi + - if [ "$MODE" = "ARDUINO" ]; then source <(curl -SLs "https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/install.sh"); fi + - if [ "$MODE" = "ARDUINO" ]; then downloadArduinoLib FlashStorage "https://github.com/thelsing/FlashStorage/archive/master.zip"; fi + - if [ "$MODE" = "ARDUINO" ]; then downloadArduinoLib BSEC "https://github.com/BoschSensortec/BSEC-Arduino-library/archive/master.zip"; fi + # only default warning level + - if [ "$MODE" = "ARDUINO" ]; then sed -i 's#compiler.warning_level=all#compiler.warning_level=default#' ~/.arduino15/preferences.txt; fi + # changes for bsec lib + # samd + - if [ "$MODE" = "ARDUINO" ]; then sed -ri 's#(recipe.c.combine.pattern=[^$]*\{archive_file\}")( -Wl,--end-group)#\1 {compiler.libraries.ldflags}\2#' ~/.arduino15/packages/arduino/hardware/samd/1.8.4/platform.txt; fi + - if [ "$MODE" = "ARDUINO" ]; then sed -i 's#compiler.elf2hex.extra_flags=#compiler.elf2hex.extra_flags=\ncompiler.libraries.ldflags=#' ~/.arduino15/packages/arduino/hardware/samd/1.8.4/platform.txt; fi + # esp8266 + - if [ "$MODE" = "ARDUINO" ]; then sed -ri 's#(recipe.c.combine.pattern=[^$]*\{compiler.c.elf.libs\})( -Wl,--end-group "-L\{build.path\}")#\1 {compiler.libraries.ldflags}\2#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/platform.txt; fi + - if [ "$MODE" = "ARDUINO" ]; then sed -i 's#compiler.elf2hex.extra_flags=#compiler.elf2hex.extra_flags=\ncompiler.libraries.ldflags=#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/platform.txt; fi + - if [ "$MODE" = "ARDUINO" ]; then sed -i '/^.*libalgobsec.*$/d' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/sdk/ld/eagle.app.v6.common.ld.h; fi + - if [ "$MODE" = "ARDUINO" ]; then sed -ri 's#(\*libwps\.a:\(\.literal\.\* \.text\.\*\))#\1\n *libalgobsec.a:(.literal.* .text.*)#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/sdk/ld/eagle.app.v6.common.ld.h; fi + + # the HDC100X lib is not properly set up in githup so move things around a bit + - if [ "$MODE" = "ARDUINO" ]; then rm -rf $HOME/arduino_ide/libraries/HDC100X_Arduino_Library-master; fi + - if [ "$MODE" = "ARDUINO" ]; then downloadArduinoLib HDC100X "https://github.com/RFgermany/HDC100X_Arduino_Library/archive/master.zip"; fi + - if [ "$MODE" = "ARDUINO" ]; then mv $HOME/arduino_ide/libraries/HDC100X_Arduino_Library-master/HDC100X/* $HOME/arduino_ide/libraries/HDC100X_Arduino_Library-master; fi + #- buildExampleSketch() { arduino --verify --board $BOARD $PWD/examples/$1/$1.ino; } + + install: + - if [ "$MODE" = "ARDUINO" ]; then arduino --install-library "WiFiManager"; fi + script: + - if [ "$MODE" = "LINUX" ]; then cd knx-linux; fi + - if [ "$MODE" = "LINUX" ]; then mkdir -p build; fi + - if [ "$MODE" = "LINUX" ]; then cd build; fi + - if [ "$MODE" = "LINUX" ]; then cmake ..; fi + - if [ "$MODE" = "LINUX" ]; then make; fi + # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-demo; fi + # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-sonoffS20; fi + # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-bme680; fi + # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-hdc1008; fi + - if [ "$MODE" = "ARDUINO" ]; then build_platform zero; fi + - if [ "$MODE" = "ARDUINO" ]; then build_platform esp8266; fi + + - language: cpp + os: linux env: - MODE=ARDUINO + cache: + directories: + - ~/arduino_ide + - ~/.arduino15/packages/ + git: + depth: false + quiet: true + before_install: + - downloadArduinoLib() { wget -O $1.zip $2; unzip -o $1.zip -d $HOME/arduino_ide/libraries; } + - if [ "$MODE" = "LINUX" ]; then eval "${MATRIX_EVAL}"; fi + - if [ "$MODE" = "ARDUINO" ]; then source <(curl -SLs "https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/install.sh"); fi + - if [ "$MODE" = "ARDUINO" ]; then downloadArduinoLib FlashStorage "https://github.com/thelsing/FlashStorage/archive/master.zip"; fi + - if [ "$MODE" = "ARDUINO" ]; then downloadArduinoLib BSEC "https://github.com/BoschSensortec/BSEC-Arduino-library/archive/master.zip"; fi + # only default warning level + - if [ "$MODE" = "ARDUINO" ]; then sed -i 's#compiler.warning_level=all#compiler.warning_level=default#' ~/.arduino15/preferences.txt; fi + # changes for bsec lib + # samd + - if [ "$MODE" = "ARDUINO" ]; then sed -ri 's#(recipe.c.combine.pattern=[^$]*\{archive_file\}")( -Wl,--end-group)#\1 {compiler.libraries.ldflags}\2#' ~/.arduino15/packages/arduino/hardware/samd/1.8.4/platform.txt; fi + - if [ "$MODE" = "ARDUINO" ]; then sed -i 's#compiler.elf2hex.extra_flags=#compiler.elf2hex.extra_flags=\ncompiler.libraries.ldflags=#' ~/.arduino15/packages/arduino/hardware/samd/1.8.4/platform.txt; fi + # esp8266 + - if [ "$MODE" = "ARDUINO" ]; then sed -ri 's#(recipe.c.combine.pattern=[^$]*\{compiler.c.elf.libs\})( -Wl,--end-group "-L\{build.path\}")#\1 {compiler.libraries.ldflags}\2#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/platform.txt; fi + - if [ "$MODE" = "ARDUINO" ]; then sed -i 's#compiler.elf2hex.extra_flags=#compiler.elf2hex.extra_flags=\ncompiler.libraries.ldflags=#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/platform.txt; fi + - if [ "$MODE" = "ARDUINO" ]; then sed -i '/^.*libalgobsec.*$/d' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/sdk/ld/eagle.app.v6.common.ld.h; fi + - if [ "$MODE" = "ARDUINO" ]; then sed -ri 's#(\*libwps\.a:\(\.literal\.\* \.text\.\*\))#\1\n *libalgobsec.a:(.literal.* .text.*)#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/sdk/ld/eagle.app.v6.common.ld.h; fi -before_install: - - downloadArduinoLib() { wget -O $1.zip $2; unzip -o $1.zip -d $HOME/arduino_ide/libraries; } - - if [ "$MODE" = "LINUX" ]; then eval "${MATRIX_EVAL}"; fi - - if [ "$MODE" = "ARDUINO" ]; then source <(curl -SLs "https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/install.sh"); fi - - if [ "$MODE" = "ARDUINO" ]; then downloadArduinoLib FlashStorage "https://github.com/thelsing/FlashStorage/archive/master.zip"; fi - - if [ "$MODE" = "ARDUINO" ]; then downloadArduinoLib BSEC "https://github.com/BoschSensortec/BSEC-Arduino-library/archive/master.zip"; fi - # only default warning level - - if [ "$MODE" = "ARDUINO" ]; then sed -i 's#compiler.warning_level=all#compiler.warning_level=default#' ~/.arduino15/preferences.txt; fi - # changes for bsec lib - # samd - - if [ "$MODE" = "ARDUINO" ]; then sed -ri 's#(recipe.c.combine.pattern=[^$]*\{archive_file\}")( -Wl,--end-group)#\1 {compiler.libraries.ldflags}\2#' ~/.arduino15/packages/arduino/hardware/samd/1.8.4/platform.txt; fi - - if [ "$MODE" = "ARDUINO" ]; then sed -i 's#compiler.elf2hex.extra_flags=#compiler.elf2hex.extra_flags=\ncompiler.libraries.ldflags=#' ~/.arduino15/packages/arduino/hardware/samd/1.8.4/platform.txt; fi - # esp8266 - - if [ "$MODE" = "ARDUINO" ]; then sed -ri 's#(recipe.c.combine.pattern=[^$]*\{compiler.c.elf.libs\})( -Wl,--end-group "-L\{build.path\}")#\1 {compiler.libraries.ldflags}\2#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/platform.txt; fi - - if [ "$MODE" = "ARDUINO" ]; then sed -i 's#compiler.elf2hex.extra_flags=#compiler.elf2hex.extra_flags=\ncompiler.libraries.ldflags=#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/platform.txt; fi - - if [ "$MODE" = "ARDUINO" ]; then sed -i '/^.*libalgobsec.*$/d' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/sdk/ld/eagle.app.v6.common.ld.h; fi - - if [ "$MODE" = "ARDUINO" ]; then sed -ri 's#(\*libwps\.a:\(\.literal\.\* \.text\.\*\))#\1\n *libalgobsec.a:(.literal.* .text.*)#' ~/.arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/sdk/ld/eagle.app.v6.common.ld.h; fi + # the HDC100X lib is not properly set up in githup so move things around a bit + - if [ "$MODE" = "ARDUINO" ]; then rm -rf $HOME/arduino_ide/libraries/HDC100X_Arduino_Library-master; fi + - if [ "$MODE" = "ARDUINO" ]; then downloadArduinoLib HDC100X "https://github.com/RFgermany/HDC100X_Arduino_Library/archive/master.zip"; fi + - if [ "$MODE" = "ARDUINO" ]; then mv $HOME/arduino_ide/libraries/HDC100X_Arduino_Library-master/HDC100X/* $HOME/arduino_ide/libraries/HDC100X_Arduino_Library-master; fi + #- buildExampleSketch() { arduino --verify --board $BOARD $PWD/examples/$1/$1.ino; } - # the HDC100X lib is not properly set up in githup so move things around a bit - - if [ "$MODE" = "ARDUINO" ]; then rm -rf $HOME/arduino_ide/libraries/HDC100X_Arduino_Library-master; fi - - if [ "$MODE" = "ARDUINO" ]; then downloadArduinoLib HDC100X "https://github.com/RFgermany/HDC100X_Arduino_Library/archive/master.zip"; fi - - if [ "$MODE" = "ARDUINO" ]; then mv $HOME/arduino_ide/libraries/HDC100X_Arduino_Library-master/HDC100X/* $HOME/arduino_ide/libraries/HDC100X_Arduino_Library-master; fi - #- buildExampleSketch() { arduino --verify --board $BOARD $PWD/examples/$1/$1.ino; } + install: + - if [ "$MODE" = "ARDUINO" ]; then arduino --install-library "WiFiManager"; fi + script: + - if [ "$MODE" = "LINUX" ]; then cd knx-linux; fi + - if [ "$MODE" = "LINUX" ]; then mkdir -p build; fi + - if [ "$MODE" = "LINUX" ]; then cd build; fi + - if [ "$MODE" = "LINUX" ]; then cmake ..; fi + - if [ "$MODE" = "LINUX" ]; then make; fi + # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-demo; fi + # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-sonoffS20; fi + # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-bme680; fi + # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-hdc1008; fi + - if [ "$MODE" = "ARDUINO" ]; then build_platform zero; fi + - if [ "$MODE" = "ARDUINO" ]; then build_platform esp8266; fi -install: - - if [ "$MODE" = "ARDUINO" ]; then arduino --install-library "WiFiManager"; fi -script: - - if [ "$MODE" = "LINUX" ]; then cd knx-linux; fi - - if [ "$MODE" = "LINUX" ]; then mkdir -p build; fi - - if [ "$MODE" = "LINUX" ]; then cd build; fi - - if [ "$MODE" = "LINUX" ]; then cmake ..; fi - - if [ "$MODE" = "LINUX" ]; then make; fi - # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-demo; fi - # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-sonoffS20; fi - # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-bme680; fi - # - if [ "$MODE" = "ARDUINO" ]; then buildExampleSketch knx-hdc1008; fi - - if [ "$MODE" = "ARDUINO" ]; then build_platform zero; fi - - if [ "$MODE" = "ARDUINO" ]; then build_platform esp8266; fi - - + - language: python + python: + - "2.7" + cache: + directories: + - "~/.platformio" + env: + - PLATFORMIO_CI_SRC=examples/knx-usb + install: + - pip install -U platformio + - platformio update + script: + - platformio ci --project-conf=examples/knx-usb/platformio.ini + notifications: email: on_success: change