Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.29 KiB
Newer Older
  DJANGO_SECRET_KEY: foobarbazbazbarfoo
Luke Murphy's avatar
Luke Murphy committed
  MYSQL_ROOT_PASSWORD: internewshid
  MYSQL_DATABASE: internewshid

cache:
  paths:
  - "$CI_PROJECT_DIR/.cache/pip"
  - "$CI_PROJECT_DIR/.cache/pipenv"

stages:
  - sanity
  - lint
  - test

code-sanity:
  image: python:3.6
  services:
  - mysql:5.7
  stage: sanity
  before_script:
    - ln -srf internewshid/local_settings.py.gitlab internewshid/local_settings.py
    - ln -srf internewshid/language_settings.py.english internewshid/language_settings.py
    - echo "SECRET_KEY = '$DJANGO_SECRET_KEY'" >> internewshid/private_settings.py
    - echo "DB_PASSWORD = '$MYSQL_ROOT_PASSWORD'" >> internewshid/private_settings.py
    - apt update && apt install -y default-libmysqlclient-dev python-pymysql python-mysqldb nodejs node-less
    - pip install pipenv && pipenv sync --dev
    - pipenv run safety check --bare
    - pipenv run python manage.py check
    - pipenv run python manage.py makemigrations --check
    - pipenv run python manage.py migrate --noinput


code-lint:
  image: python:3.6
  services:
  - mysql:5.7
  stage: lint
  before_script:
    - ln -srf internewshid/local_settings.py.gitlab internewshid/local_settings.py
    - ln -srf internewshid/language_settings.py.english internewshid/language_settings.py
    - echo "SECRET_KEY = '$DJANGO_SECRET_KEY'" >> internewshid/private_settings.py
    - echo "DB_PASSWORD = '$MYSQL_ROOT_PASSWORD'" >> internewshid/private_settings.py
    - apt update && apt install -y default-libmysqlclient-dev python-pymysql python-mysqldb nodejs node-less
    - pip install pipenv && pipenv sync --dev
  script:
    - pipenv run pylava -o setup.cfg
    - pipenv run isort -q -rc -c -df -sp setup.cfg


unit-test:
  image: python:3.6
  services:
  - mysql:5.7
  stage: test
  before_script:
    - ln -srf internewshid/local_settings.py.gitlab internewshid/local_settings.py
    - ln -srf internewshid/language_settings.py.english internewshid/language_settings.py
    - echo "SECRET_KEY = '$DJANGO_SECRET_KEY'" >> internewshid/private_settings.py
    - echo "DB_PASSWORD = '$MYSQL_ROOT_PASSWORD'" >> internewshid/private_settings.py
    - apt update && apt install -y default-libmysqlclient-dev python-pymysql python-mysqldb nodejs node-less
    - pip install pipenv && pipenv sync --dev
  script:
    - pipenv run pytest -v --cov