dist: bionic
sudo: false

language: python
python:
  - "3.7"

notifications:
  email: false

env:
  # Base Environments
  - TEST_PLATFORM="DUE"
  - TEST_PLATFORM="esp32"
  - TEST_PLATFORM="linux_native"
  - TEST_PLATFORM="LPC1768"
  - TEST_PLATFORM="LPC1769"
  - TEST_PLATFORM="megaatmega2560"
  - TEST_PLATFORM="SAMD51_grandcentral_m4"
  - TEST_PLATFORM="STM32F103R"
  - TEST_PLATFORM="teensy31"
  - TEST_PLATFORM="teensy35"

  # Extended AVR Environments
  - TEST_PLATFORM="fysetc_f6_13"
  - TEST_PLATFORM="megaatmega1280"
  - TEST_PLATFORM="rambo"
  - TEST_PLATFORM="sanguino_atmega1284p"
  - TEST_PLATFORM="sanguino_atmega644p"

  # Extended STM32 Environments
  - TEST_PLATFORM="ARMED"
  - TEST_PLATFORM="BIGTREE_BTT002"
  - TEST_PLATFORM="BIGTREE_SKR_PRO"
  - TEST_PLATFORM="STM32F103R_bigtree"
  - TEST_PLATFORM="jgaurora_a5s_a1"
  - TEST_PLATFORM="STM32F103V_longer"
  - TEST_PLATFORM="STM32F407VE_black"

  # Non-working environment tests
  #- TEST_PLATFORM="at90usb1286_cdc"
  #- TEST_PLATFORM="at90usb1286_dfu"
  #- TEST_PLATFORM="malyanm200"
  #- TEST_PLATFORM="mks_robin"
  #- TEST_PLATFORM="mks_robin_lite"
  #- TEST_PLATFORM="mks_robin_mini"
  #- TEST_PLATFORM="mks_robin_nano"
  #- TEST_PLATFORM="STM32F103R_bigtree"
  #- TEST_PLATFORM="STM32F103R_fysetc"
  #- TEST_PLATFORM="STM32F4"
  #- TEST_PLATFORM="STM32F7"

before_install:
  #
  # Fetch the tag information for the current branch
  - git fetch origin --tags
  #
  # Publish the buildroot script folder
  - chmod +x ${TRAVIS_BUILD_DIR}/buildroot/bin/*
  - chmod +x ${TRAVIS_BUILD_DIR}/buildroot/share/tests/*
  - export PATH=${TRAVIS_BUILD_DIR}/buildroot/bin/:${TRAVIS_BUILD_DIR}/buildroot/share/tests/:${PATH}

install:
  #- pip install -U platformio
  - pip install -U https://github.com/platformio/platformio-core/archive/master.zip

before_script:
  # Update PlatformIO packages
  - platformio update
  #
  # Change current working directory to the build dir
  - cd ${TRAVIS_BUILD_DIR}
  #
  # Generate custom version include
  - generate_version ${TRAVIS_BUILD_DIR}/Marlin/src/inc
  - cat ${TRAVIS_BUILD_DIR}/Marlin/src/inc/_Version.h
  #
script:
  - run_tests ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}