.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
David Haynes's avatar
David Haynes committed
19
    - pip install coverage
20 21 22 23 24 25 26 27 28 29 30 31 32 33
    - cp go/settings/settings.py.template go/settings/settings.py
    - cp go/settings/secret.py.template go/settings/secret.py
    - export SECRET_KEY=$(dd if=/dev/urandom count=100 | tr -dc "A-Za-z0-9" | fold -w 60 | head -n1 2>/dev/null)
    - sed -i go/settings/secret.py -e 's/DB_NAME.*/DB_NAME = \"go\"/'
    - sed -i go/settings/secret.py -e 's/DB_USER.*/DB_USER = \"root\"/'
    - sed -i go/settings/secret.py -e 's/DB_PASSWORD.*/DB_PASSWORD = \"root\"/'
    - sed -i go/settings/secret.py -e 's/DB_HOST.*/DB_HOST = \"mysql\"/'
    - sed -i go/settings/secret.py -e 's/SECRET_KEY.*/SECRET_KEY = \"${SECRET_KEY}\"/'
    - cd go
    - export DJANGO_DEBUG="True"
    - python manage.py makemigrations
    - python manage.py makemigrations go
    - python manage.py migrate
    - 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
34
  script:
35
    - cd ..
David Haynes's avatar
David Haynes committed
36
    - coverage run --source=go ./go/manage.py test --parallel
37
    - coverage html
38
    - grep pc_cov htmlcov/index.html | egrep -o "[0-9]+\%" | awk '{ print "covered " $1;}'