.gitlab-ci.yml 1.47 KB
Newer Older
1
image: library/python:2.7 
David Haynes's avatar
David Haynes committed
2

3
4
services:
  - mysql:latest
David Haynes's avatar
David Haynes committed
5

6
7
8
types:
  - test

9
10
11
12
variables:
  MYSQL_DATABASE: go
  MYSQL_ROOT_PASSWORD: root

13
14
test_Go:
  type: test
David Haynes's avatar
David Haynes committed
15
  before_script:
16
    - apt-get update -qy
17
    - apt-get install -y libldap2-dev mysql-client libmysqlclient-dev python-mysqldb libjpeg-dev libsasl2-dev
18
    - pip install -r requirements.txt
19
    - cd go/
David Haynes's avatar
David Haynes committed
20
21
    - cp settings/settings.py.template settings/settings.py
    - cp settings/secret.py.template settings/secret.py
22
23
    - export SECRET_KEY=$(dd if=/dev/urandom count=100 | tr -dc "A-Za-z0-9" | fold -w 60 | head -n1 2>/dev/null)
    - export DJANGO_DEBUG="True"
24
25
26
27
28
    - sed -i settings/secret.py -e 's/DB_NAME.*/DB_NAME = \"go\"/'
    - sed -i settings/secret.py -e 's/DB_USER.*/DB_USER = \"root\"/'
    - sed -i settings/secret.py -e 's/DB_PASSWORD.*/DB_PASSWORD = \"root\"/'
    - sed -i settings/secret.py -e 's/DB_HOST.*/DB_HOST = \"mysql\"/'
    - sed -i settings/secret.py -e 's/SECRET_KEY.*/SECRET_KEY = \"${SECRET_KEY}\"/'
29
30
31
    - python manage.py makemigrations
    - python manage.py makemigrations go
    - python manage.py migrate
32
    - echo "from django.contrib.auth import get_user_model; User = get_user_model(); User.objects.create_superuser('root', 'root@srct.gmu.edu', 'root') " | python manage.py shell
David Haynes's avatar
David Haynes committed
33
  script:
34
35
36
    - pip install coverage
    - coverage run --source=go --omit=*migrations/* manage.py test --parallel
    - coverage html -i && grep pc_cov htmlcov/index.html | egrep -o "[0-9]+\%" | awk '{ print "covered " $1;}'