-
Notifications
You must be signed in to change notification settings - Fork 437
/
Copy path.travis.yml
67 lines (63 loc) · 2.12 KB
/
.travis.yml
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
matrix:
include:
- os: linux
dist: xenial
sudo: required
language: python
python: 3.5
services:
- xvfb
- os: linux
dist: xenial
sudo: required
language: python
python: 3.6
services:
- xvfb
- os: linux
dist: xenial
sudo: required
language: python
python: 3.7
services:
- xvfb
- os: linux
dist: xenial
arch: arm64
sudo: required
language: python
python: 3.5
services:
- xvfb
env:
- QT_QPA_PLATFORM="offscreen"
before_install:
# Linux packages needed for Qt to work.
- sudo apt-get update && sudo apt-get install libxkbcommon-x11-0
# Use a new virtual environment with system packages for arm64
- if [ "$TRAVIS_CPU_ARCH" = "arm64" ]; then deactivate && virtualenv venv --python=python3 --system-site-packages && source venv/bin/activate; fi
# Check everything was correctly installed
- echo $PATH
- python --version
- python -c "import platform, struct; print(platform.machine(), struct.calcsize('P') * 8)"
- python -c "import sys; print(sys.executable)"
- python -m pip --version
- pip --version
- pip config list
- pip freeze
install:
# In arm64 install PyQt5 dependencies via apt, numpy and pygame via piwheels
- if [ "$TRAVIS_CPU_ARCH" = "arm64" ]; then sudo apt-get install python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtserialport python3-pyqt5.qtsvg libxmlsec1-dev libxml2 libxml2-dev; fi
- if [ "$TRAVIS_CPU_ARCH" = "arm64" ]; then pip install numpy pygame --extra-index-url="https://www.piwheels.org/simple" --platform="linux_armv7l" --only-binary=":all:" --target="$(python -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"; fi
# Install Mu and its dependencies
- pip install .[dev]
# Check everything was correctly installed
- pip freeze
script:
# Run only the tests on 3.5 and the full checker elsewhere
- if [ "$TRAVIS_PYTHON_VERSION" = "3.5" ]; then make coverage; fi
- if [ "$TRAVIS_PYTHON_VERSION" != "3.5" ]; then make check; fi
notifications:
email:
on_success: change
on_failure: change