diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..4ea6b4f --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,60 @@ +# 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 + + # 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 + + # Download and cache dependencies + - restore_cache: + keys: + - v1-dependencies-{{ checksum "requirements-ci.txt" }} + # fallback to using the latest cache if no exact match is found + - v1-dependencies- + + - run: + name: install dependencies + command: | + python -m venv venv + . venv/bin/activate + pip install -r requirements.txt + + - save_cache: + paths: + - ./venv + key: v1-dependencies-{{ checksum "requirements-ci.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: | + . venv/bin/activate + coverage run --include=test.py,registry.py test.py + - run: + name: generate report + command: | + mkdir -p /tmp/coverage + coverage html -d /tmp/coverage + mv .coverage /tmp/coverage + + - store_artifacts: + path: /tmp/coverage diff --git a/.gitignore b/.gitignore index 5cc6066..0dcac69 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ # Created by .ignore support plugin (hsz.mobi) .gitignore .idea/ +/.vscode +*.pyc \ No newline at end of file