/
.gitlab-ci.yml
executable file
·41 lines (36 loc) · 1.33 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
# 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/
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
- pg_ctlcluster 11 main start
- su - postgres
- psql -c "CREATE DATABASE youtubemd;"
- psql -c "CREATE USER $DATABASE_USER WITH ENCRYPTED PASSWORD '$DATABASE_PASSWORD';"
- psql -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:
script:
- pip install pylint
- pylint -j 0 --exit-zero --ignored-classes=_socketobject *.py YouTubeMDBot
test:
script:
- python -m unittest $(pwd)/YouTubeMDBot/tests/*.py