language: c
compiler: gcc
sudo: false
cache: ccache

jobs:
  include:
    - name: basic checks and reference configurations
      addons:
        apt:
          packages:
          - gnutls-bin
          - doxygen
          - graphviz
          - gcc-arm-none-eabi
          - libnewlib-arm-none-eabi
      language: python # Needed to get pip for Python 3
      python: 3.5 # version from Ubuntu 16.04
      install:
        - pip install pylint==2.4.4
      script:
        - tests/scripts/all.sh -k 'check_*'
        - tests/scripts/all.sh -k test_default_out_of_box
        - tests/scripts/test-ref-configs.pl
        - tests/scripts/all.sh -k build_arm_none_eabi_gcc_arm5vte build_arm_none_eabi_gcc_m0plus

    - name: full configuration
      script:
        - tests/scripts/all.sh -k test_full_cmake_gcc_asan

    - name: check compilation guards
      script:
        - tests/scripts/all.sh -k 'test_depends_*' 'build_key_exchanges'

    - name: macOS
      os: osx
      compiler: clang
      script:
        - tests/scripts/all.sh -k test_default_out_of_box

    - name: Windows
      os: windows
      before_install:
        - choco install python --version=3.5.4
      env:
        # Add the directory where the Choco package goes
        - PATH=/c/Python35:/c/Python35/Scripts:$PATH
      script:
        - type python; python --version
        - python scripts/generate_psa_constants.py
        # Logs appear out of sequence on Windows. Give time to catch up.
        - sleep 5
        - scripts/windows_msbuild.bat v141 # Visual Studio 2017

after_failure:
- tests/scripts/travis-log-failure.sh

env:
  global:
    - SEED=1
    - secure: "FrI5d2s+ckckC17T66c8jm2jV6i2DkBPU5nyWzwbedjmEBeocREfQLd/x8yKpPzLDz7ghOvr+/GQvsPPn0dVkGlNzm3Q+hGHc/ujnASuUtGrcuMM+0ALnJ3k4rFr9xEvjJeWb4SmhJO5UCAZYvTItW4k7+bj9L+R6lt3TzQbXzg="

addons:
  apt:
    packages:
    - gnutls-bin
  coverity_scan:
    project:
      name: "ARMmbed/mbedtls"
    notification_email: support-mbedtls@arm.com
    build_command_prepend:
    build_command: make
    branch_pattern: coverity_scan
