language: python

before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq libpoppler-cpp-dev unpaper tesseract-ocr

sudo: false

matrix:
    include:        
        - python: "3.5"
        - python: "3.6"
        - python: "3.7-dev"
        - env:
            - BUILD_DOCKER=1
            # Variable to add to publish the Docker image:
            # * DOCKER_USERNAME
            # * DOCKER_PASSWORD, to be encrypted, use `travis encrypt DOCKER_PASSWORD=<password>`
          services:
            - docker
          before_install:
            - true
          install:
            - true
          script:
            - docker build --tag=the-paperless-project/paperless .
          after_success:
            - true

install:
    - pip install --upgrade pip pipenv sphinx
    - pipenv lock -r > requirements.txt
    - pip install -r requirements.txt

script:
    - cd src/
    - pytest --cov
    - pycodestyle
    - sphinx-build -b html ../docs ../docs/_build -W

after_success:
  - coveralls

deploy:
  - provider: script
    skip_cleanup: true
    script: ci/deploy-docker
    on:
      tags: true
      condition: '"${BUILD_DOCKER}" = 1'
  - provider: script
    skip_cleanup: true
    script: ci/deploy-docker
    on:
      branch: master
      condition: '"${BUILD_DOCKER}" = 1'
