version: 2 jobs: build: docker: - image: python:3.8-buster working_directory: ~/back steps: - checkout - restore_cache: key: deps9-{{ checksum "Pipfile.lock" }} - run: name: set env vars command: | export CONDUIT_SECRET='something-secret' export FLASK_APP=./autoapp.py export FLASK_DEBUG=1 - run : name: install deps command: | /usr/local/bin/python -m pip install --upgrade pip apk update && apk add postgresql-dev gcc python3-dev musl-dev pip install -r requirements/dev.txt --user - save_cache: key: deps9-{{ checksum "Pipfile.lock" }} paths: - "/usr/local/bin" - "/usr/local/lib/python3.8/site-packages" test: docker: - image: python:3.8-buster steps: - checkout - restore_cache: key: deps9-{{ checksum "Pipfile.lock" }} - run: name : test command: | docker container run --name flask_db_test -e POSTGRES_PASSWORD=somePwd -e POSTGRES_USER=myUsr -p 5432:5432 -d postgres sleep 1 export DATABASE_URL=postgresql://myUsr:somePwd@localhost:5432/myUsr flask db upgrade flask test docker container stop flask_db_test docker container rm flask_db_test unset DATABASE_URL workflows: version: 2 build-test: jobs: - build - test: requires: - build