/
.gitlab-ci.yml
executable file
·45 lines (39 loc) · 1.48 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
# https://hub.docker.com/r/library/python/tags/
image: python:latest
# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
# Pip's cache doesn't store the python packages
# https://pip.pypa.io/en/stable/reference/pip_install/#caching
#
# If you want to also cache the installed packages, you have to install
# them in a virtualenv and cache it as well.
cache:
paths:
- .cache/pip
- venv/
stages:
- test
before_script:
- python -V # Print out python version for debugging
- apt update
- apt install -y --no-install-recommends libchromaprint-tools ffmpeg libpq-dev git postgresql sudo
- /etc/init.d/postgresql start
- sudo -u postgres sh -c 'psql -U postgres -c "CREATE DATABASE youtubemd;"'
- sudo -u postgres sh -c 'psql -U postgres -c "CREATE USER $DATABASE_USER WITH ENCRYPTED PASSWORD \'$DATABASE_PASSWORD\';"'
- sudo -u postgres sh -c 'psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE youtubemd TO $DATABASE_USER";'
- git clone https://github.com/beetbox/pyacoustid.git && cd pyacoustid
- python setup.py install
- cd .. && rm -rf pyacoustid/
- pip install -r YouTubeMDBot/requirements.txt
- mkdir -p /run/user/$(id -u $(whoami))
test:pylint:
stage: test
script:
- pip install pylint
- pylint -j 0 --exit-zero --ignored-classes=_socketobject *.py YouTubeMDBot
test:
stage: test
script:
- python -m unittest $(pwd)/YouTubeMDBot/tests/*.py