dist: xenial
sudo: require

language: python
python:
  - "2.7"

notifications:
  email: false

# Cache PlatformIO packages using Travis CI container-based infrastructure
sudo: false
cache:
  pip: true
  directories:
  - "~/.platformio"

env:
  - TEST_PLATFORM="megaatmega2560"
  - TEST_PLATFORM="DUE"
  - TEST_PLATFORM="LPC1768"
  - TEST_PLATFORM="LPC1769"
  - TEST_PLATFORM="STM32F1"
  - TEST_PLATFORM="teensy35"
  - TEST_PLATFORM="linux_native"
  - TEST_PLATFORM="esp32"

addons:
  apt:
    sources:
      - ubuntu-toolchain-r-test
    packages:
      - g++-7

before_install:
  - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 90
  #
  # 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}