diff --git a/.circleci/config.yml b/.circleci/config.yml index 39ee0a4..5493678 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,17 +1,12 @@ -version: 2 +version: 2.1 jobs: build: docker: - - image: circleci/python:latest + - image: circleci/python:3.7.4 steps: - checkout - - restore_cache: - keys: - - v3-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} - - v3-dependencies- - - run: - name: Install Python deps in a venv + name: install pyth dependencies command: | python3 -m venv venv . venv/bin/activate @@ -20,122 +15,65 @@ jobs: CONDUIT_SECRET: 'something-really-secret' FLASK_APP: autoapp.py FLASK_DEBUG: 1 - - save_cache: paths: - - venv + - ./venv key: v3-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} - - - test: + start_test: docker: - - image: circleci/python:latest - - - image: circleci/postgres:9.6.2-alpine + - image: circleci/python:3.7.4 environment: - POSTGRES_USER: myUser + DATABASE_URL: postgresql://myuser:somePwd@localhost:5432/mydb + - image: circleci/postgres:9.6.5 + environment: + POSTGRES_DB: mydb + POSTGRES_USER: myuser POSTGRES_PASSWORD: somePwd - POSTGRES_BD: mydb - steps: - checkout - restore_cache: keys: - v3-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} - v3-dependencies- - - - run: - name: wait for postgres - command: dockerize -wait tcp://localhost:5432 -timeout 1m - - run: name: flask upgrade command: | . venv/bin/activate sleep 1 flask db upgrade - environment: + environment: CONDUIT_SECRET: 'something-really-secret' FLASK_APP: autoapp.py - DATABASE_URL: postgresql://myUser:somePwd@localhost:5432/mydb + DATABASE_URL: postgresql://myuser:somePwd@localhost:5432/mydb FLASK_DEBUG: 1 POSTGRES_USER: myUser POSTGRES_DB: mydb POSTGRES_PASSWORD: somePwd - POSTGRES_PORT: 5432 - - + POSTGRES_PORT: 5432 - run: name: flask test command: | . venv/bin/activate sleep 1 - flask db migrate flask test - environment: + environment: CONDUIT_SECRET: 'something-really-secret' FLASK_APP: autoapp.py - DATABASE_URL: postgresql://myUser:somePwd@localhost:5432/mydb + DATABASE_URL: postgresql://myuser:somePwd@localhost:5432/mydb FLASK_DEBUG: 1 POSTGRES_USER: myUser POSTGRES_DB: mydb POSTGRES_PASSWORD: somePwd POSTGRES_PORT: 5432 - - save_cache: paths: - - venv + - ./venv key: v3-dependencies-{{ checksum "requirements/dev.txt" }}-{{ checksum "requirements/prod.txt" }} - - - - - deploy: - docker: - - image: buildpack-deps:trusty - steps: - - checkout - - run: - name: heroku deploy - command: | - git push https://heroku:02467a97-3871-4afd-95ab-2b1a1c190165@git.heroku.com/warm-fortress-97103.git HEAD:main - - - - -# docker-build-and-push: -# docker: -# - image: docker:17.05.0-ce-git -# steps: -# - checkout -# - setup_remote_docker -# - run: -# name: Build application Docker image -# command: | -# docker build --cache-from=app -t app . -# - deploy: -# name: Publish application to docker hub -# command: | -# docker login -e $DOCKER_HUB_EMAIL -u $DOCKER_HUB_USER_ID -p 'DOCKERPASSWORD' -# docker tag app $DOCKER_HUB_USER_ID/my-python-app:$CIRCLE_BUILD_NUM -# docker tag app $DOCKER_HUB_USER_ID/my-python-app:latest -# docker push $DOCKER_HUB_USER_ID/my-python-app:$CIRCLE_BUILD_NUM -# docker push $DOCKER_HUB_USER_ID/my-python-app:latest - - - workflows: - version: 2 - build-deploy: + version: 2.1 + build_circleci: jobs: - build - - test: - requires: - - build - - deploy: + - start_test: requires: - - build -# - docker-build-and-push: -# context: -# - docker - \ No newline at end of file + - build \ No newline at end of file