job test python: script: - virtualenv --python=python3 env - source env/bin/activate - pip install django - pip install coverage - python setup.py develop - cp picampaign/settings.py.sample picampaign/settings.py - ${VIRTUAL_ENV}/bin/coverage run --source='.' manage.py test - ${VIRTUAL_ENV}/bin/coverage report --omit="${VIRTUAL_ENV}/*",'*__init__.py' stage: test tags: [preprod] only: - master artifacts: paths: - env expire_in: 1 day job build: script: - source env/bin/activate - python setup.py develop - cp picampaign/settings.py.sample picampaign/settings.py - python manage.py collectstatic --noinput - python manage.py compilemessages --exclude env - python manage.py makemessages --exclude env fr - python manage.py makemessages --exclude env en - python manage.py makemessages --exclude env de artifacts: paths: - campaign/static - campaign/locale expire_in: 1 day stage: build tags: [preprod] only: - master dependencies: - job test python job deploy preprod: environment: preprod variables: BASE_DIR: /srv/piphone/campaign script: - rsync -ruvC ./ ${BASE_DIR} - source /srv/piphone/campaign/env/bin/activate - python /srv/piphone/campaign/setup.py install - python /srv/piphone/campaign/manage.py migrate - python /srv/piphone/campaign/manage.py collectstatic --noinput - python /srv/piphone/campaign/manage.py compilemessages - touch /srv/piphone/campaign.ready stage: deploy tags: [preprod] only: - master dependencies: - job build job deploy prod: environment: prod variables: GIT_DIR: '/srv/piphone/campaign/.git' GIT_WORK_DIR: '/srv/piphone/campaign/' script: - rsync -ruvC ./ ${BASE_DIR} - source /srv/piphone/campaign/env/bin/activate - python /srv/piphone/campaign/setup.py install - python /srv/piphone/campaign/manage.py migrate - python /srv/piphone/campaign/manage.py collectstatic --noinput - python /srv/piphone/campaign/manage.py compilemessages - touch /srv/piphone/campaign.ready stage: deploy tags: [piphone] only: - master when: manual dependencies: - job build