kind: pipeline name: default environment: POSTGRES_USER: '{{ cookiecutter.project_slug }}' POSTGRES_PASSWORD: '' POSTGRES_DB: 'test_{{ cookiecutter.project_slug }}' POSTGRES_HOST_AUTH_METHOD: trust {%- if cookiecutter.use_celery == 'y' %} REDIS_URL: 'redis://redis:6379/0' {%- endif %} steps: - name: lint pull: if-not-exists image: python:3.12 environment: PRE_COMMIT_HOME: ${CI_PROJECT_DIR}/.cache/pre-commit volumes: - name: pre-commit cache path: ${PRE_COMMIT_HOME} commands: - export PRE_COMMIT_HOME=$CI_PROJECT_DIR/.cache/pre-commit - pip install -q pre-commit - pre-commit run --show-diff-on-failure --color=always --all-files - name: test pull: if-not-exists {%- if cookiecutter.use_docker == 'y' %} image: docker:25.0 environment: DATABASE_URL: pgsql://$POSTGRES_USER:$POSTGRES_PASSWORD@postgres/$POSTGRES_DB commands: - docker-compose -f docker-compose.local.yml build - docker-compose -f docker-compose.docs.yml build - docker-compose -f docker-compose.local.yml run --rm django python manage.py migrate - docker-compose -f docker-compose.local.yml up -d - docker-compose -f docker-compose.local.yml run django pytest {%- else %} image: python:3.12 commands: - pip install -r requirements/local.txt - pytest {%- endif%} volumes: - name: pre-commit cache host: path: /tmp/drone/cache/pre-commit