Browse Source

💚 change method

main
Julien Dudek 6 years ago
parent
commit
090cd0e9de
  1. 104
      .circleci/config.yml

104
.circleci/config.yml

@ -5,110 +5,42 @@
version: 2
jobs:
build:
docker:
# specify the version you desire here
# use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers`
- image: circleci/python:3.6.4
working_directory: ~/circleci-demo-python-django
docker: # run the steps with Docker
# CircleCI Python images available at: https://hub.docker.com/r/circleci/python/
- image: circleci/python:3.8.5
auth:
username: $DOCKER_HUB_USER_ID
password: $DOCKER_HUB_PWD # context / project UI env-var reference
environment: # environment variables for primary container
PIPENV_VENV_IN_PROJECT: true
DATABASE_URL: postgresql://root@localhost/circle_test?sslmode=disable
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4
- image: circleci/python:3.6.4
# CircleCI PostgreSQL images available at: https://hub.docker.com/r/circleci/postgres/
- image: circleci/postgres:9.6.9-alpine
auth:
username: $DOCKER_HUB_USER_ID
password: $DOCKER_HUB_PWD # context / project UI env-var reference
environment: # environment variables for the Postgres container.
POSTGRES_USER: root
POSTGRES_DB: circle_test
working_directory: ~/repo
steps:
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v6-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }}
- v6-dependencies-
# fallback to using the latest cache if no exact match is found
- run:
name: install dependencies
command: |
export FLASK_APP=autoapp.py
pip install -r requirements/dev.txt
flask db upgrade
flask test
- save_cache:
paths:
- venv
key: v6-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }}
test:
docker:
# specify the version you desire here
# use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers`
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
- image: postgres:9.6.2-alpine
environment:
PIPENV_VENV_IN_PROJECT: true
DATABASE_URL: postgresql://root@localhost/circle_test?sslmode=disable
POSTGRES_USER: myUsr
POSTGRES_PASSOWRD: somePwd
POSTGRES_DB: myUsr
working_directory: ~/repo
steps:
- checkout
steps: # steps that comprise the `build` job
- checkout # check out source code to working directory
- run: sudo chown -R circleci:circleci /usr/local/bin
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.8/site-packages
# Download and cache dependencies
- restore_cache:
keys:
- v6-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }}
- v6-dependencies-
# fallback to using the latest cache if no exact match is found
- v7-dependencies-{{ checksum "requirements/dev.txt" }}
- v7-dependencies-
- run:
name: bd upgrade
command: |
export FLASK_APP=autoapp.py
. venv/bin/activate
sleep 1
pip install -r requirements/dev.txt --user
flask db upgrade
environment:
CONDUIT_SECRET: 'something-really-secret'
FLASK_APP: /home/circleci/repo/autoapp.py
DATABASE_URL: postgresql://myUsr:somePwd@localhost:5432/myUsr?sslmode=disable
FLASK_DEBUG: 1
# run tests!
# this example uses Django's built-in test-runner
# other common Python testing frameworks include pytest and nose
# https://pytest.org
# https://nose.readthedocs.io
- run:
name: run tests
command: |
. venv/bin/activate
flask test
environment:
CONDUIT_SECRET: 'something-really-secret'
FLASK_APP: /home/circleci/repo/autoapp.py
FLASK_DEBUG: 1
DATABASE_URL: postgresql://myUsr:somePwd@localhost:5432/myUsr?sslmode=disable
- save_cache:
paths:
- venv
key: v6-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }}
key: v7-dependencies-{{ checksum "requirements/dev.txt" }}
back-deploy-heroku:
docker:
- image: buildpack-deps:trusty

Loading…
Cancel
Save