.gitlab-ci.yml 1.49 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
    - pip install coverage
35
    - pip install tblib
36 37
    - 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;}'