summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: beb0d69545ea0c63366411cb6afba6e7a2f55bac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# https://travis-ci.org/pytorch/pytorch
language: python
dist: trusty
git:
  submodules: false

# This reportedly works around an issue downloading packages from pypi on
# travis.  Consider removing this after the underlying issue is fixed.
# https://github.com/travis-ci/travis-ci/issues/2389
sudo: false

matrix:
    fast_finish: true
    include:
      - name: "Ensure consistent CircleCI YAML"
        python: "3.6"
        dist: xenial
        script: cd .circleci && ./ensure-consistency.py
      - name: "Ensure no tabs"
        python: "2.7"
        script:
          - (! git grep -I -l $'\t' -- . ':(exclude)*.svg' ':(exclude)**Makefile' ':(exclude)**/contrib/**' ':(exclude)third_party' ':(exclude).gitattributes' ':(exclude).gitmodules' || (echo "The above files have tabs; please convert them to spaces"; false))
      - name: "Python 2.7 Lint"
        python: "2.7"
        install: pip install flake8
        script: flake8
      - name: "Python 3.7 Lint"
        python: "3.7"
        dist: xenial    # required for Python 3.7 (travis-ci/travis-ci#9069)
        sudo: required  # required for Python 3.7 (travis-ci/travis-ci#9069)
        install:
          - pip install flake8 flake8-mypy flake8-comprehensions flake8-pyi mccabe pycodestyle pyflakes
          # Apparently Facebook runs master of this one
          # https://github.com/PyCQA/flake8-bugbear/issues/53
          - pip install git+https://github.com/PyCQA/flake8-bugbear.git@d9444713a51a9fb6ee8cd2d88fca85e9ff0c2d58
        script: flake8
      - name: "MyPy typecheck"
        python: "3.6"
        install: pip install mypy mypy-extensions
        script: mypy @mypy-files.txt
      - name: "CPP doc check"
        python: "3.6"
        install:
          - sudo apt-get install -y doxygen
          - pip install -r requirements.txt
        script: cd docs/cpp/source && ./check-doxygen.sh
      - name: "clang tidy"
        python: "3.6"
        script: tools/run-clang-tidy-in-ci.sh

branches:
  only:
  - master
  - /gh\/.*\/base/