# After changing this file, check it on:
#   http://lint.travis-ci.org/
language: python
sudo: false

matrix:
  include:
    #- os: linux
    #  python: 3.6
    #  env:
    #    - TOXENV=pylint
    - os: linux
      python: 3.6
      env:
        - TOXENV=flake8
    #- os: linux
    #  python: 3.6
    #  env:
    #    - TOXENV=bandit
    #- os: linux
    #  python: 3.6
    #  env:
    #    - TOXENV=readme
    - os: linux
      python: 2.7
      env:
        - TOXENV=short
    - os: linux
      python: 3.4
      env:
        - TOXENV=short
    - os: linux
      python: 3.5
      env:
        - TOXENV=short
    - os: linux
      python: 3.6
      env:
        - TOXENV=py36short
        - BUILD_LINUX=yes
    - os: osx
      osx_image: xcode9.3
      language: objective-c
      env:
        - TRAVIS_PYTHON_VERSION=3.6
        - TOXENV=short

cache: pip

before_install:
  - uname -a
  - df -h
  - ulimit -a
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then source util/travis_osx_install.sh; fi
  - ccache -s
  - which python; python --version
  - pip install --upgrade pip
  - pip install --upgrade wheel
  # Set numpy version first, other packages link against it
  - pip install six nose coverage codecov tox-travis pytest pytest-cov coveralls codacy-coverage parameterized secp256k1 cryptography scrypt
  - pip install pycryptodomex  pyyaml appdirs pylibscrypt
  - pip install ecdsa requests future websocket-client pytz six Click events prettytable

script:
 - tox
 - if [[ "$TOXENV" == "py36short" ]]; then sed -i 's/filename="/filename=".\//g' coverage.xml; fi
 - if [[ "$TOXENV" == "py36short" ]]; then ( which sonar-scanner && sonar-scanner || true ); fi

after_success:
 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then bash util/package-osx.sh; fi
 - if [[ "$BUILD_LINUX" == "yes" ]]; then bash util/package-linux.sh; fi
 - coveralls
 - if [[ "$TOXENV" == "py36short" ]]; then codecov; fi
  # - python-codacy-coverage -r coverage.xml

addons:
  sonarcloud:
    organization: holgern-github
