diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..17e8979c --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,43 @@ +# 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:3.6.1 + + working_directory: ~/repo + + steps: + - checkout + + # Download and cache dependencies + - restore_cache: + keys: + - v1-dependencies-{{ checksum "install/requirements-tests.txt" }} + # fallback to using the latest cache if no exact match is found + - v1-dependencies- + + - run: + name: install dependencies + command: | + python3 -m venv venv + . venv/bin/activate + pip install -r install/requirements-tests.txt + + - save_cache: + paths: + - ./venv + key: v1-dependencies-{{ checksum "install/requirements-tests.txt" }} + + # run tests! + - run: + name: run tests + command: | + . venv/bin/activate + xvfb-run pytest --cov=onionshare --cov=onionshare_gui --cov-report=term-missing -vvv tests/ +