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"
cache:
  directories:
    - ~/arduino_ide
    - ~/.arduino15/packages/
jobs:
  include:
    - env:
      - ARCH="cortex-m0plus"
      - CORE="adafruit:samd"
      - BOARD="adafruit:samd:adafruit_feather_m0"
      - DEPLOY=1
    - env:
      - ARCH="cortex-m0plus"
      - CORE="arduino:samd"
      - BOARD="arduino:samd:mzero_bl"
      - DEPLOY=0

before_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 adafruit:samd -v --additional-urls $ADDITIONAL_URLS
  - mkdir -p $HOME/Arduino/libraries
  - git clone https://github.com/OPEnSLab-OSU/EthernetLarge.git $HOME/Arduino/libraries/EthernetLarge
install:
  - ln -s $PWD $HOME/Arduino/libraries/.
script:
  - arduino-cli compile --verbose --warnings all --fqbn $BOARD $PWD/examples/EthernetHTTPS
  - arduino-cli compile --verbose --warnings all --fqbn $BOARD $PWD/examples/EthernetMultiHTTPS
before_deploy:
  - mkdir src/$ARCH
  - cp "$(find /tmp/ -maxdepth 1 -type d -name "arduino-sketch*" -print | head -n 1)/libraries/SSLClient/SSLClient.a" src/$ARCH/
  - cp .travis/library.properties .
  - rm -rf .git
  - find src/ -iname "*.c" -delete
  - find src/ -iname "*.cpp" -delete
  - zip -r SSLClient.zip .
deploy:
  provider: releases
  api_key: $GITHUB_TOKEN
  file: "SSLClient.zip"
  skip_cleanup: true
  on:
    tags: true
    branch: master
    condition: $DEPLOY = 1
