|
|
|
@ -9,39 +9,42 @@ jobs: |
|
|
|
# specify the version you desire here |
|
|
|
# use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers` |
|
|
|
- image: circleci/python:3.6.4 |
|
|
|
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 |
|
|
|
environment: # environment variables for the Postgres container. |
|
|
|
POSTGRES_USER: root |
|
|
|
POSTGRES_DB: circle_test |
|
|
|
working_directory: ~/repo |
|
|
|
|
|
|
|
steps: |
|
|
|
- checkout |
|
|
|
|
|
|
|
- run: sudo chown -R circleci:circleci /usr/local/bin |
|
|
|
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.8/site-package |
|
|
|
# Download and cache dependencies |
|
|
|
- restore_cache: |
|
|
|
keys: |
|
|
|
- v5-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} |
|
|
|
- v5-dependencies- |
|
|
|
- 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: | |
|
|
|
python3 -m venv venv |
|
|
|
. venv/bin/activate |
|
|
|
export FLASK_APP=autoapp.py |
|
|
|
pip install -r requirements/dev.txt |
|
|
|
environment: |
|
|
|
CONDUIT_SECRET: 'something-really-secret' |
|
|
|
FLASK_APP: /home/circleci/repo/autoapp.py |
|
|
|
FLASK_DEBUG: 1 |
|
|
|
|
|
|
|
flask db upgrade |
|
|
|
flask test |
|
|
|
- save_cache: |
|
|
|
paths: |
|
|
|
- venv |
|
|
|
key: v5-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} |
|
|
|
key: v6-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -49,13 +52,14 @@ jobs: |
|
|
|
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 |
|
|
|
|
|
|
|
# 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 |
|
|
|
@ -64,17 +68,20 @@ jobs: |
|
|
|
|
|
|
|
steps: |
|
|
|
- checkout |
|
|
|
- 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: |
|
|
|
- v5-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} |
|
|
|
- v5-dependencies- |
|
|
|
- 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: bd upgrade |
|
|
|
command: | |
|
|
|
export FLASK_APP=autoapp.py |
|
|
|
. venv/bin/activate |
|
|
|
sleep 1 |
|
|
|
flask db upgrade |
|
|
|
@ -102,7 +109,7 @@ jobs: |
|
|
|
- save_cache: |
|
|
|
paths: |
|
|
|
- venv |
|
|
|
key: v5-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} |
|
|
|
key: v6-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} |
|
|
|
|
|
|
|
back-deploy-heroku: |
|
|
|
docker: |
|
|
|
@ -139,9 +146,6 @@ workflows: |
|
|
|
build-back-deploy: |
|
|
|
jobs: |
|
|
|
- build |
|
|
|
- test: |
|
|
|
requires: |
|
|
|
- build |
|
|
|
- back-deploy-heroku: |
|
|
|
requires: |
|
|
|
- build |
|
|
|
|