services: - mysql:latest types: - test-python-2.7 - test-python-3.6 variables: MYSQL_DATABASE: go MYSQL_ROOT_PASSWORD: root before_script: - apt-get update -qy - apt-get install -y libldap2-dev mysql-client libmysqlclient-dev python-mysqldb libsasl2-dev - pip install -r requirements.txt - cd go/ - cp settings/settings.py.template settings/settings.py - cp settings/secret.py.template 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) - export DJANGO_DEBUG="True" - 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}\"/' - 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 - pip install tblib Go-py2.7: image: library/python:2.7 type: test-python-2.7 script: - python manage.py test --parallel Go-py3.6: image: library/python:3.6 type: test-python-3.6 script: - 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;}'