SSLClient/.travis.yml
2020-04-10 11:35:26 -07:00

101 lines
No EOL
3.9 KiB
YAML

language: c
env:
global:
# You can uncomment this to explicitly choose an (old) version of the Arduino IDE
#- ARDUINO_IDE_VERSION="1.8.7"
- ADDITIONAL_URLS="https://adafruit.github.io/arduino-board-index/package_adafruit_index.json,https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json"
- DOXYFILE=$TRAVIS_BUILD_DIR/.travis/Doxyfile
cache:
directories:
- ~/arduino_ide
- ~/.arduino15/packages/
# Blacklist
branches:
except:
- gh-pages
# Install dependencies
addons:
apt:
packages:
- doxygen
jobs:
include:
- stage: "Build"
name: "Feather M0"
env: CORE="adafruit:samd" BOARD="adafruit:samd:adafruit_feather_m0"
- name: "Arduino Zero"
env: CORE="arduino:samd" BOARD="arduino:samd:mzero_bl"
- name: "ESP32"
env: CORE="esp32:esp32" BOARD="esp32:esp32:d32"
- name: "STM32"
env: CORE="STM32:stm32" BOARD="STM32:stm32:Nucleo_144:pnum=NUCLEO_F767ZI"
script:
- arduino-cli compile --warnings all --fqbn $BOARD $PWD/examples/stm32/EthernetHTTPSstm32
- stage: "Documentation"
if: branch = master
install: skip
script:
- doxygen $DOXYFILE
deploy:
provider: pages
skip_cleanup: true
local_dir: docs
github_token: $GITHUB_TOKEN
- stage: "Deploy"
# if: tag is present
env: CORE="arduino:samd esp32:esp32 STM32:stm32" ARCH="cortex-m0plus"
script: skip
before_deploy:
- mkdir tmp-bin
- echo "dot_a_linkage=true" >> library.properties
- rm -rf /tmp/arduino-sketch*
# cortex-m0plus
- arduino-cli compile --fqbn arduino:samd:mzero_bl $PWD/examples/EthernetHTTPS
- cp "$(find /tmp/ -maxdepth 1 -type d -name "arduino-sketch*" -print | head -n 1)/libraries/SSLClient/SSLClient.a" tmp-bin/cortex-m0plus/SSLClient.a
- rm -rf /tmp/arduino-sketch*
# cortex-m7
- arduino-cli compile --fqbn STM32:stm32:Nucleo_144:pnum=NUCLEO_F767ZI $PWD/examples/EthernetHTTPS
- cp "$(find /tmp/ -maxdepth 1 -type d -name "arduino-sketch*" -print | head -n 1)/libraries/SSLClient/SSLClient.a" tmp-bin/cortex-m7/SSLClient.a
- rm -rf /tmp/arduino-sketch*
# esp32
- arduino-cli compile --fqbn esp32:esp32:d32 $PWD/examples/EthernetHTTPS
- cp "$(find /tmp/ -maxdepth 1 -type d -name "arduino-sketch*" -print | head -n 1)/libraries/SSLClient/SSLClient.a" tmp-bin/esp32/SSLClient.a
# bundle it up!
- echo "precompiled=true" >> library.properties
- mv tmp-bin/* src/
- rm -rf tmp-bin
- rm -rf .git
- find src/ -iname "*.c" -delete
- find src/ -iname "*.cpp" -delete
- zip -r SSLClient-precompiled.zip .
deploy:
provider: releases
api_key: $GITHUB_TOKEN
skip_cleanup: true
file: "SSLClient-precompiled.zip"
draft: true
#on:
# tags: true
install:
- curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=/usr/bin sudo sh
- arduino-cli core update-index --additional-urls $ADDITIONAL_URLS
- arduino-cli core install arduino:samd -v
- arduino-cli core install $CORE -v --additional-urls $ADDITIONAL_URLS
- mkdir -p $HOME/Arduino/libraries
- rm -rf $HOME/Arduino/libraries/EthernetLarge
- git clone https://github.com/OPEnSLab-OSU/EthernetLarge.git $HOME/Arduino/libraries/EthernetLarge
- arduino-cli lib install "STM32duino STM32Ethernet"
- arduino-cli lib install "PubSubClient"
- ln -s $PWD $HOME/Arduino/libraries/.
script:
- arduino-cli compile --warnings all --fqbn $BOARD $PWD/examples/EthernetHTTPS
- arduino-cli compile --warnings all --fqbn $BOARD $PWD/examples/EthernetMultiHTTPS
- arduino-cli compile --warnings all --fqbn $BOARD $PWD/examples/EthernetMQTT