105 lines
No EOL
4.1 KiB
YAML
105 lines
No EOL
4.1 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@1.8.0" 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@1.8.0"
|
|
script: skip
|
|
before_deploy:
|
|
- mkdir tmp-bin
|
|
- cp library.properties library.properties.old
|
|
- 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
|
|
- mkdir tmp-bin/cortex-m0plus
|
|
- 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/stm32/EthernetHTTPSstm32
|
|
- mkdir tmp-bin/cortex-m7
|
|
- 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
|
|
- mkdir tmp-bin/esp32
|
|
- 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!
|
|
- mv library.properties.old library.properties
|
|
- 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"
|
|
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 |