diff --git a/.circleci/config.yml b/.circleci/config.yml index 0977dfc..8eb340b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,38 +1,55 @@ +# Python CircleCI 2.0 configuration file +# +# Check https://circleci.com/docs/2.0/language-python/ for more details +# version: 2 jobs: build: - working_directory: ~/circleci-demo-python-django docker: - - image: circleci/python:3.6.4 - environment: - PIPENV_VENV_IN_PROJECT: true - DATABASE_URL: postgresql://root@localhost/circle_test?sslmode=disable - - image: circleci/postgres:9.6.2 - environment: - POSTGRES_USER: root - POSTGRES_DB: circle_test + # specify the version you desire here + # use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers` + - image: circleci/python:3.6.1 + + # 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 - - run: sudo chown -R circleci:circleci /usr/local/bin - - run: sudo chown -R circleci:circleci /usr/local/lib/python3.6/site-packages + + # Download and cache dependencies - restore_cache: - key: deps9-{{ .Branch }}-{{ checksum "Pipfile.lock" }} + 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: | - sudo pip install pipenv - pipenv install + python3 -m venv venv + . venv/bin/activate + pip install -r requirements.txt + - save_cache: - key: deps9-{{ .Branch }}-{{ checksum "Pipfile.lock" }} paths: - - ".venv" - - "/usr/local/bin" - - "/usr/local/lib/python3.6/site-packages" + - ./venv + key: v1-dependencies-{{ checksum "requirements.txt" }} + + # 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: | - pipenv run "python manage.py test" - - store_test_results: - path: test-results - - store_artifacts: - path: test-results - destination: tr1 + . venv/bin/activate + python manage.py test + - store_artifacts: + path: test-reports + destination: test-reports