summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 28ad24af9975d8e6f744a00f151dcd3a6f156098 (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
130
131
132
133
134
135
136
137
138
139
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
      addons:
        apt:
          packages:
          - libxkbcommon-x11-0

    ### PyQt 5.13 (Python 3.8)
    - env: TESTENV=py38-pyqt513
      addons:
        apt:
          packages:
          - libxkbcommon-x11-0

    ### PyQt 5.14 (Python 3.8)
    - env: TESTENV=py38-pyqt514
      addons:
        apt:
          packages:
          - libxkbcommon-x11-0

    ### PyQt 5.15 (Python 3.8, with coverage)
    - env: TESTENV=py38-pyqt515-cov
      addons:
        apt:
          packages:
          - libxkbcommon-x11-0
          - libxcb-icccm4
          - libxcb-image0
          - libxcb-keysyms1
          - libxcb-randr0
          - libxcb-render-util0
          - libxcb-xinerama0

    ### 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