# Python CircleCI 2.0 configuration file # # Check https://circleci.com/docs/2.0/language-python/ for more details # 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:2.7 environment: POSTGRES_PASSWORD: totallyHacked1337 POSTGRES_USER: imagehost POSTGRES_DB: imagehost_db POSTGRES_HOST: localhost # 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 working_directory: ~/repo steps: - checkout # Set up Test DB - run: sudo apt install postgresql-client-9.4 postgresql-9.4 - run: sudo /etc/init.d/postgresql start - run: sudo ${HOME}/repo/newdb.sh # Download and cache dependencies - restore_cache: keys: - v1-dependencies-{{ checksum "requirements.txt" }} # fallback to using the latest cache if no exact match is found - v1-dependencies- - run: name: install dependencies command: | python -m virtualenv venv . venv/bin/activate pip install -r requirements.txt - save_cache: paths: - ./venv key: v1-dependencies-{{ checksum "requirements.txt" }} # Migrate our database (if needed) - run: name: run migration command: | . venv/bin/activate python manage.py migrate # 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 python manage.py test - store_artifacts: path: test-reports destination: test-reports