forked from Gnome15/gnome15
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
77 lines (74 loc) · 3.19 KB
/
.gitlab-ci.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
68
69
70
71
72
73
74
75
76
77
stages:
- build
- test
- analyze
build:
stage: build
# Using Ubuntu image to ensure that installation commands are the same as for Ubuntu desktops.
# However, many of the Python 2 packages are no longer available for Ubuntu 20.04, so 18.04 is used here instead.
image: ubuntu:18.04
cache:
paths:
- .pip2
- .pip3
before_script:
- apt-get update -q
# The Python 2 dependencies are required by ./configure
- apt-get install -y -q
autoconf git libtool lm-sensors
gir1.2-appindicator3-0.1 gir1.2-dee-1.0 gir1.2-gconf-2.0 gir1.2-gdkpixbuf-2.0 gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 gir1.2-gtk-3.0 gir1.2-rsvg-2.0 gir1.2-pango-1.0 gir1.2-unity-5.0
python-alsaaudio python-appindicator python-feedparser python-gi python-gconf python-gtk2-dev python-launchpadlib python-lxml python-pil python-pip python-pyinotify python-pyudev python-setproctitle python-usb python-virtkey python-xlib
python3-feedparser python3-gi python3-launchpadlib python3-lxml python3-pil python3-pip python3-pyinotify python3-pyudev python3-setproctitle python3-six python3-usb python3-xdg python3-xlib
# Vobject installation requires some timezone packages which require user input during install
# - apt-get install -y -q python-vobject python3-vobject
# The language setting is required for installing PySensors
- LANG=C.UTF-8 pip3 --cache-dir=.pip3 install -r requirements.txt
# Manually upgrading keyrings package prevents a dependency bug
# https://stackoverflow.com/questions/53164278/missing-dependencies-causing-keyring-error-when-opening-spyder3-on-ubuntu18
- pip --cache-dir=.pip2 install --upgrade keyrings.alt
# python-rsvg is no longer in the latest Ubuntu repositories
- curl -O http://de.archive.ubuntu.com/ubuntu/pool/universe/g/gnome-python-desktop/python-rsvg_2.32.0+dfsg-3_amd64.deb
- dpkg -i python-rsvg_2.32.0+dfsg-3_amd64.deb
- git clone https://github.com/tuomasjjrasanen/python-uinput.git
- cd python-uinput && python setup.py build && python setup.py install && cd ..
- git clone https://github.com/tuomasjjrasanen/libsuinput.git
- cd libsuinput && autoreconf -i && ./configure && make && make install && cd ..
# - git clone https://github.com/rmt/pyinputevent.git
# - mkdir /usr/lib/python2.7/dist-packages/pyinputevent && cp ./pyinputevent/* /usr/lib/python2.7/dist-packages/pyinputevent
- git clone https://github.com/ammgws/pyinputevent.git
- cd pyinputevent && python setup.py install && cd ..
script:
- autoreconf -i
- ./configure
- make
- make install
- g15-diag --help
- g15-launch --help
- g15-support-dump 2>&1 | tee g15-support-dump.txt
artifacts:
paths:
- g15-support-dump.txt
lint:
stage: test
when: manual
allow_failure: true
image: python:latest
cache:
paths:
- .pip3
before_script:
- python -V
- pip --cache-dir=.pip3 install -r requirements.txt
script:
- pylint -j 0 *.py
cloc:
stage: analyze
when: manual
image: alpine:latest
before_script:
- apk --no-cache add cloc
script:
- cloc . --exclude-list-file=clocignore.txt --report-file=cloc.txt --by-file-by-lang
artifacts:
paths:
- cloc.txt