diff --git a/.circleci/config.yml b/.circleci/config.yml index 296b172..0b4cea5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -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