# 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 # 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 "pisa/requirements.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 pisa/requirements.txt - save_cache: paths: - ./venv key: v1-dependencies-{{ checksum "pisa/requirements.txt" }} # Get github dependencies (pending to add to PyPi) - run: name: get bitcoind mock command: | git clone git@github.com:sr-gi/bitcoind_mock.git . venv/bin/activate pip install -r bitcoind_mock/requirements.txt cp bitcoind_mock/bitcoind_mock/sample_conf.py bitcoind_mock/bitcoind_mock/conf.py mv bitcoind_mock/bitcoind_mock ~/repo/venv/lib/python3.6/site-packages # 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: create config command: cp pisa/sample_conf.py pisa/conf.py - run: name: run pisa unit tests command: | . venv/bin/activate pytest test/pisa/unit/ - run: name: run common unit tests command: | . venv/bin/activate pytest test/common/unit # - run: # name: run cli unit tests # command: | # . venv/bin/activate # pytest test/apps/cli/unit # - store_artifacts: # path: test-reports # destination: test-reports