diff --git a/.travis.yml b/.travis.yml index 1da28814..eb85bd00 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ env: global: - - ARDUINO_IDE_VERSION="1.8.13" + # - ARDUINO_IDE_VERSION="1.8.13" matrix: # see https://github.com/arduino/Arduino/blob/master/build/shared/manpage.adoc#options # and https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification#boardstxt @@ -30,91 +30,121 @@ addons: - python3-setuptools before_install: - # install Arduino IDE - - wget https://downloads.arduino.cc/arduino-$ARDUINO_IDE_VERSION-linux64.tar.xz - - tar xf arduino-$ARDUINO_IDE_VERSION-linux64.tar.xz - - mv arduino-$ARDUINO_IDE_VERSION $HOME/arduino-ide - - export PATH=$PATH:$HOME/arduino-ide - + # install Arduino + # - wget https://downloads.arduino.cc/arduino-$ARDUINO_IDE_VERSION-linux64.tar.xz + # - tar xf arduino-$ARDUINO_IDE_VERSION-linux64.tar.xz + # - mv arduino-$ARDUINO_IDE_VERSION $HOME/arduino-ide + # - export PATH=$PATH:$HOME/arduino-ide # firewall Arduino IDE noise (https://github.com/per1234/arduino-ci-script/issues/1#issuecomment-504158113) - - sudo iptables -P INPUT DROP - - sudo iptables -P FORWARD DROP - - sudo iptables -P OUTPUT ACCEPT - - sudo iptables -A INPUT -i lo -j ACCEPT - - sudo iptables -A OUTPUT -o lo -j ACCEPT - - sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT + # - sudo iptables -P INPUT DROP + # - sudo iptables -P FORWARD DROP + # - sudo iptables -P OUTPUT ACCEPT + # - sudo iptables -A INPUT -i lo -j ACCEPT + # - sudo iptables -A OUTPUT -o lo -j ACCEPT + # - sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT + + - curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh # check every board in matrix and install 3rd party definitions - if [[ "$BOARD" =~ "arduino:avr:uno" ]]; then export BUILD_EXAMPLES=true; + arduino-cli core update-index; elif [[ "$BOARD" =~ "arduino:avr:mega" ]]; then export BUILD_EXAMPLES=false; + arduino-cli core update-index; elif [[ "$BOARD" =~ "arduino:avr:leonardo" ]]; then export BUILD_EXAMPLES=false; + arduino-cli core update-index; elif [[ "$BOARD" =~ "esp8266:esp8266:" ]]; then export BUILD_EXAMPLES=false; - arduino --pref "boardsmanager.additional.urls=http://arduino.esp8266.com/stable/package_esp8266com_index.json" --save-prefs 2>&1; - arduino --install-boards esp8266:esp8266; + # arduino --pref "boardsmanager.additional.urls=http://arduino.esp8266.com/stable/package_esp8266com_index.json" --save-prefs 2>&1; + # arduino --install-boards esp8266:esp8266; + arduino-cli core update-index --additional-urls http://arduino.esp8266.com/stable/package_esp8266com_index.json; + arduino-cli core install esp8266:esp8266; export SKIP_PAT='(HTTP|MQTT).*ino'; elif [[ "$BOARD" =~ "esp32:esp32:" ]]; then export BUILD_EXAMPLES=false; - arduino --pref "boardsmanager.additional.urls=https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json" --save-prefs 2>&1; - arduino --install-boards esp32:esp32; + # arduino --pref "boardsmanager.additional.urls=https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json" --save-prefs 2>&1; + # arduino --install-boards esp32:esp32; + arduino-cli core update-index --additional-urls https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json; + arduino-cli core install esp32:esp32; elif [[ "$BOARD" =~ "STM32:stm32:" ]]; then export BUILD_EXAMPLES=false; - arduino --pref "boardsmanager.additional.urls=https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json" --save-prefs 2>&1; - arduino --install-boards STM32:stm32; + # arduino --pref "boardsmanager.additional.urls=https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json" --save-prefs 2>&1; + # arduino --install-boards STM32:stm32; + arduino-cli core update-index --additional-urls https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json; + arduino-cli core install STM32:stm32; elif [[ "$BOARD" =~ "arduino:samd:" ]]; then export BUILD_EXAMPLES=false; - arduino --install-boards arduino:samd; + arduino-cli core update-index; + # arduino --install-boards arduino:samd; + arduino-cli core install arduino:samd; elif [[ "$BOARD" =~ "arduino:sam:" ]]; then export BUILD_EXAMPLES=false; - arduino --install-boards arduino:sam; + arduino-cli core update-index; + # arduino --install-boards arduino:sam; + arduino-cli core install arduino:sam; elif [[ "$BOARD" =~ "adafruit:nrf52:" ]]; then pip3 install --user adafruit-nrfutil; export BUILD_EXAMPLES=false; - arduino --pref "boardsmanager.additional.urls=https://www.adafruit.com/package_adafruit_index.json" --save-prefs 2>&1; - arduino --install-boards adafruit:nrf52; + # arduino --pref "boardsmanager.additional.urls=https://www.adafruit.com/package_adafruit_index.json" --save-prefs 2>&1; + # arduino --install-boards adafruit:nrf52; + arduino-cli core update-index --additional-urls https://www.adafruit.com/package_adafruit_index.json; + arduino-cli core install adafruit:nrf52; elif [[ "$BOARD" =~ "Intel:arc32:" ]]; then export BUILD_EXAMPLES=false; - arduino --install-boards Intel:arc32; + arduino-cli core update-index; + # arduino --install-boards Intel:arc32; + arduino-cli core install Intel:arc32; elif [[ "$BOARD" =~ "arduino:megaavr:" ]]; then export BUILD_EXAMPLES=false; - arduino --install-boards arduino:megaavr; + arduino-cli core update-index; + # arduino --install-boards arduino:megaavr; + arduino-cli core install arduino:megaavr; elif [[ "$BOARD" =~ "SparkFun:apollo3:" ]]; then export BUILD_EXAMPLES=false; - arduino --pref "boardsmanager.additional.urls=https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json" --save-prefs 2>&1; - arduino --install-boards SparkFun:apollo3; + # arduino --pref "boardsmanager.additional.urls=https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json" --save-prefs 2>&1; + # arduino --install-boards SparkFun:apollo3; + arduino-cli core update-index --additional-urls https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json; + arduino-cli core install SparkFun:apollo3; elif [[ "$BOARD" =~ "arduino:mbed:" ]]; then export BUILD_EXAMPLES=false; - arduino --install-boards arduino:mbed; + arduino-cli core update-index; + # arduino --install-boards arduino:mbed; + arduino-cli core install arduino:mbed; export SKIP_PAT='(HTTP|MQTT).*ino'; elif [[ "$BOARD" =~ "stm32duino:STM32F1:" ]]; then export BUILD_EXAMPLES=false; - arduino --pref "boardsmanager.additional.urls=http://dan.drown.org/stm32duino/package_STM32duino_index.json" --save-prefs 2>&1; - arduino --install-boards stm32duino:STM32F1; + # arduino --pref "boardsmanager.additional.urls=http://dan.drown.org/stm32duino/package_STM32duino_index.json" --save-prefs 2>&1; + # arduino --install-boards stm32duino:STM32F1; + arduino-cli core update-index --additional-urls http://dan.drown.org/stm32duino/package_STM32duino_index.json; + arduino-cli core install stm32duino:STM32F1; elif [[ "$BOARD" =~ "adafruit:samd:" ]]; then export BUILD_EXAMPLES=false; - arduino --pref "boardsmanager.additional.urls=https://www.adafruit.com/package_adafruit_index.json" --save-prefs 2>&1; - arduino --install-boards adafruit:samd; + # arduino --pref "boardsmanager.additional.urls=https://www.adafruit.com/package_adafruit_index.json" --save-prefs 2>&1; + # arduino --install-boards adafruit:samd; + arduino-cli core update-index --additional-urls https://www.adafruit.com/package_adafruit_index.json + arduino-cli core install adafruit:samd; elif [[ "$BOARD" =~ "arduino-beta:mbed:" ]]; then export BUILD_EXAMPLES=false; - arduino --install-boards arduino-beta:mbed; + arduino-cli core update-index; + # arduino --install-boards arduino-beta:mbed; + arduino-cli core install arduino-beta:mbed; export SKIP_PAT='(HTTP|MQTT).*ino'; fi @@ -146,7 +176,8 @@ script: else # build sketch echo -e "\n\033[1;33mBuilding ${example##*/} ... \033[0m"; - arduino --verify --warnings=all --board $BOARD $example; + # arduino --verify --warnings=all --board $BOARD $example; + arduino-cli compile --fqbn $BOARD $example --warnings=all if [ $? -ne 0 ]; then echo -e "\033[1;31m${example##*/} build FAILED\033[0m\n"; exit 1;