--- # Official framework image. Look for the different tagged releases at: # https://hub.docker.com/r/library/python image: python:3.7 # Pick zero or more services to be used on all builds. # Only needed when using a docker container to run your tests in. # Check out: # http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-a-service services: # - mysql:latest - postgres:latest variables: POSTGRES_DB: manhattan # This folder is cached between builds # http://docs.gitlab.com/ce/ci/yaml/README.html#cache cache: paths: - ~/.cache/pip/ # This is a basic example for a gem or script which doesn't use # services such as redis or postgres before_script: - python3.7 -V # Print out python version for debugging # Uncomment next line if your Django app needs a JS runtime: # - apt-get update -q && apt-get install nodejs -yqq - apt-get update -q && apt-get install python3.7-dev python3-distutils libxmlsec1-dev pandoc pkg-config -yqq - cp manhattan_project/settings-sample.py manhattan_project/settings.py - pip install --user -r requirements.txt - pip install --user coverage - export PATH="$PATH:$HOME/.local/bin" - python3.7 manage.py collectstatic --noinput # To get Django tests to work you may need to create a settings file using # the following DATABASES: # # DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.postgresql_psycopg2', # 'NAME': 'ci', # 'USER': 'postgres', # 'PASSWORD': 'postgres', # 'HOST': 'postgres', # 'PORT': '5432', # }, # } # # and then adding `--settings app.settings.ci` (or similar) to the test command test: variables: DB_NAME: "manhattan" DB_USER: "postgres" DB_PASSWORD: "postgres" DB_HOST: "postgres" DATABASE_URL: "postgresql://postgres:postgres@postgres:5432/$POSTGRES_DB" script: - coverage run manage.py test - coverage report coverage: "/TOTAL.+ ([0-9]{1,3}%)/"