summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 54eab192ef330588ba11ce971d36110555d54cb5 (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
dist: bionic
language: python
group: edge
python: 3.8
os: linux

matrix:
  fast_finish: true
  # allow_failures:
  #   - env: DOCKER=archlinux-webengine-unstable QUTE_BDD_WEBENGINE=true
  #     services: docker
  include:
    ### Archlinux QtWebKit
    - env: DOCKER=archlinux-webkit
      services: docker

    ### Archlinux QtWebEngine
    - env: DOCKER=archlinux-webengine QUTE_BDD_WEBENGINE=true
      services: docker

    ### Archlinux QtWebEngine with testing/KDE-Unstable
    # - env: DOCKER=archlinux-webengine-unstable QUTE_BDD_WEBENGINE=true
    #   services: docker

    ### PyQt 5.7.1 (Python 3.5)
    - python: 3.5
      env: TESTENV=py35-pyqt57
      dist: xenial

    ### PyQt 5.9 (Python 3.6)
    - python: 3.6
      env: TESTENV=py36-pyqt59

    ### PyQt 5.10 (Python 3.6)
    - python: 3.6
      env: TESTENV=py36-pyqt510
      addons:
        apt:
          packages:
          - xfonts-base

    ### PyQt 5.11 (Python 3.7)
    - python: 3.7
      env: TESTENV=py37-pyqt511

    ### PyQt 5.12 (Python 3.8)
    - env: TESTENV=py38-pyqt512
      # http://code.qt.io/cgit/qt/qtbase.git/commit/?id=c3a963da1f9e7b1d37e63eedded61da4fbdaaf9a
      addons:
        apt:
          packages:
          - libxkbcommon-x11-0

    ### PyQt 5.13 (Python 3.8)
    - env: TESTENV=py38-pyqt513
      # http://code.qt.io/cgit/qt/qtbase.git/commit/?id=c3a963da1f9e7b1d37e63eedded61da4fbdaaf9a
      addons:
        apt:
          packages:
          - libxkbcommon-x11-0

    ### PyQt 5.14 (Python 3.8, with coverage)
    - env: TESTENV=py38-pyqt514-cov
      # http://code.qt.io/cgit/qt/qtbase.git/commit/?id=c3a963da1f9e7b1d37e63eedded61da4fbdaaf9a
      addons:
        apt:
          packages:
          - libxkbcommon-x11-0

    ### macOS Mojave (10.14)
    - os: osx
      env: TESTENV=py37-pyqt514 OSX=mojave
      osx_image: xcode11.3
      language: generic
      python: 3.7

    ### macOS High Sierra (10.13)
    - os: osx
      env: TESTENV=py37-pyqt514 OSX=highsierra
      osx_image: xcode10.1
      language: generic
      python: 3.7

    ### pylint/flake8/mypy
    - env: TESTENV=pylint
    - env: TESTENV=flake8
    - env: TESTENV=mypy

    ### docs
    - env: TESTENV=docs
      addons:
         apt:
           packages:
           - asciidoc

    ### vulture/misc/pyroma/check-manifest
    - env: TESTENV=vulture
    - env: TESTENV=misc
    - env: TESTENV=pyroma
    - env: TESTENV=check-manifest

    ### eslint
    - env: TESTENV=eslint
      language: node_js
      python: null
      node_js: "lts/*"

    ### shellcheck
    - language: generic
      env: TESTENV=shellcheck
      services: docker

cache:
  directories:
    - $HOME/.cache/pip
    - $HOME/build/qutebrowser/qutebrowser/.cache

install:
  - bash scripts/dev/ci/travis_install.sh
  - ulimit -c unlimited

script:
  - bash scripts/dev/ci/travis_run.sh

after_success:
  - '[[ $TESTENV == *-cov ]] && codecov -e TESTENV -X gcov'

after_failure:
  - bash scripts/dev/ci/travis_backtrace.sh