diff --git a/.circleci/config.yml b/.circleci/config.yml index 12a4918..4af2e76 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,21 +1,42 @@ -version: 2.1 - -orbs: - python: circleci/python@0.2.1 - -jobs: - build-and-test: - executor: python/default - steps: - - checkout - - python/load-cache - - python/install-deps - - python/save-cache +version: 2 # use CircleCI 2.0 +jobs: # A basic unit of work in a run + build: # runs not using Workflows must have a `build` job as entry point + docker: # run the steps with Docker + # CircleCI Python images available at: https://hub.docker.com/r/circleci/python/ + - image: circleci/python:3.6.4 + auth: + username: mydockerhub-user + password: $DOCKERHUB_PASSWORD # context / project UI env-var reference + environment: # environment variables for primary container + PIPENV_VENV_IN_PROJECT: true + DATABASE_URL: postgresql://root@localhost/circle_test?sslmode=disable + # CircleCI PostgreSQL images available at: https://hub.docker.com/r/circleci/postgres/ + - image: circleci/postgres:9.6.2 + auth: + username: $DOCKERHUB_USERNAME + password: $DOCKERHUB_PASSWORD # context / project UI env-var reference + environment: # environment variables for the Postgres container. + POSTGRES_USER: root + POSTGRES_DB: circle_test + steps: # steps that comprise the `build` job + - checkout # check out source code to working directory + - run: sudo chown -R circleci:circleci /usr/local/bin + - run: sudo chown -R circleci:circleci /usr/local/lib/python3.6/site-packages + - restore_cache: + # Read about caching dependencies: https://circleci.com/docs/2.0/caching/ + key: deps9-{{ .Branch }}-{{ checksum "Pipfile.lock" }} - run: - command: ./manage.py test - name: Test - -workflows: - main: - jobs: - - build-and-test + command: | + pip install -r requirements/dev.txt --user + - save_cache: # cache Python dependencies using checksum of Pipfile as the cache-key + key: deps9-{{ .Branch }}-{{ checksum "Pipfile.lock" }} + paths: + - "venv" + - run: + command: | + pipenv run python manage.py test + - store_test_results: # Upload test results for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ + path: test-results + - store_artifacts: # Upload test summary for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ + path: test-results + destination: tr1 \ No newline at end of file