84 lines
2.4 KiB
YAML
84 lines
2.4 KiB
YAML
stages:
|
|
- test
|
|
- build
|
|
|
|
job_docker_master:
|
|
stage: build
|
|
image: docker:latest
|
|
services:
|
|
- docker:dind
|
|
before_script:
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
script:
|
|
- docker build --pull -t "$CI_REGISTRY_IMAGE" -f docker/Dockerfile .
|
|
- docker run --rm "$CI_REGISTRY_IMAGE" run-tests
|
|
- docker push "$CI_REGISTRY_IMAGE"
|
|
only:
|
|
- master
|
|
|
|
job_docker_nightly:
|
|
stage: build
|
|
image: docker:latest
|
|
services:
|
|
- docker:dind
|
|
before_script:
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
script:
|
|
- docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" -f docker/Dockerfile .
|
|
- docker run --rm "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" run-tests
|
|
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
|
|
only:
|
|
- nightly
|
|
- staging
|
|
|
|
.test_base: &test_base
|
|
stage: test
|
|
image: ubuntu:16.04
|
|
cache:
|
|
paths:
|
|
- ~/.cache/pip/
|
|
- /var/cache/apt/archives/
|
|
before_script:
|
|
- apt-get -qq update
|
|
- apt-get install -qq locales
|
|
- echo "LC_ALL=\"en_US.UTF-8\"" >> /etc/default/locale
|
|
- locale-gen en_US.UTF-8
|
|
- update-locale LANG=en_US.UTF-8
|
|
- export LC_ALL=en_US.UTF-8
|
|
- apt-get install -qq curl gcc ghostscript gpgv gnupg graphviz libjpeg-dev libmagic1 libpng-dev libtiff-dev poppler-utils libreoffice poppler-utils python-dev python-pip tesseract-ocr tesseract-ocr-deu
|
|
- pip install -r requirements/testing.txt
|
|
|
|
test-mysql:
|
|
<<: *test_base
|
|
variables:
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
|
|
MYSQL_DATABASE: "mayan_edms"
|
|
services:
|
|
- mysql:8.0.3
|
|
script:
|
|
- apt-get install -qq libmysqlclient-dev mysql-client
|
|
- pip install mysql-python
|
|
- mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD" -e "set global character_set_server=utf8mb4;"
|
|
- python manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci.db_mysql --nomigrations
|
|
tags:
|
|
- mysql
|
|
|
|
test-postgres:
|
|
<<: *test_base
|
|
variables:
|
|
POSTGRES_DB: "mayan_edms"
|
|
POSTGRES_PASSWORD: "postgres"
|
|
services:
|
|
- postgres
|
|
script:
|
|
- apt-get install -qq libpq-dev
|
|
- pip install psycopg2
|
|
- python manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci.db_postgres --nomigrations
|
|
tags:
|
|
- postgres
|
|
|
|
test-sqlite:
|
|
<<: *test_base
|
|
script:
|
|
- python manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci --nomigrations
|