2018-06-17 01:00:07 +00:00
|
|
|
version: 2.0
|
|
|
|
|
|
|
|
workflows:
|
|
|
|
version: 2
|
|
|
|
test:
|
|
|
|
jobs:
|
2018-06-17 18:32:42 +00:00
|
|
|
- bundle_dependencies-36
|
|
|
|
- contract_unit:
|
2018-06-17 01:00:07 +00:00
|
|
|
requires:
|
2018-06-17 18:32:42 +00:00
|
|
|
- bundle_dependencies-36
|
|
|
|
- intercontract_integration:
|
2018-06-17 01:00:07 +00:00
|
|
|
requires:
|
2018-06-17 18:32:42 +00:00
|
|
|
- contract_unit
|
|
|
|
- crypto_unit:
|
|
|
|
requires:
|
|
|
|
- bundle_dependencies-36
|
|
|
|
- network_unit:
|
|
|
|
requires:
|
|
|
|
- bundle_dependencies-36
|
|
|
|
- keystore_unit:
|
|
|
|
requires:
|
|
|
|
- bundle_dependencies-36
|
|
|
|
- blockchain_client_unit:
|
|
|
|
requires:
|
|
|
|
- bundle_dependencies-36
|
|
|
|
- character:
|
|
|
|
requires:
|
|
|
|
- crypto_unit
|
|
|
|
- network_unit
|
|
|
|
- keystore_unit
|
2018-06-17 01:00:07 +00:00
|
|
|
|
2018-06-17 18:32:42 +00:00
|
|
|
bundle_dependencies: &bundle_dependencies
|
2018-06-17 01:00:07 +00:00
|
|
|
steps:
|
|
|
|
- checkout
|
2018-06-17 18:32:42 +00:00
|
|
|
- restore_cache:
|
2018-06-23 19:44:47 +00:00
|
|
|
key: v2-deps-{{ .Branch }}-{{ checksum "Pipfile" }}
|
2018-06-17 01:00:07 +00:00
|
|
|
- run:
|
|
|
|
name: Install Python dependencies with Pipenv
|
|
|
|
command: |
|
|
|
|
pipenv install --three --dev --skip-lock
|
|
|
|
- run:
|
|
|
|
name: Install Solidity compiler
|
2018-06-27 19:39:53 +00:00
|
|
|
command: pipenv run install_solc
|
2018-06-17 01:00:07 +00:00
|
|
|
- save_cache:
|
|
|
|
paths:
|
|
|
|
- "~/.local/share/virtualenvs/"
|
2018-06-23 19:44:47 +00:00
|
|
|
key: v2-deps-{{ .Branch }}-{{ checksum "Pipfile" }}
|
2018-06-17 01:00:07 +00:00
|
|
|
|
2018-06-16 22:33:28 +00:00
|
|
|
jobs:
|
2018-06-17 18:32:42 +00:00
|
|
|
bundle_dependencies-36:
|
|
|
|
<<: *bundle_dependencies
|
|
|
|
working_directory: ~/nucypher-depends
|
|
|
|
docker:
|
|
|
|
- image: circleci/python:3.6
|
|
|
|
|
|
|
|
contract_unit:
|
2018-06-23 19:44:47 +00:00
|
|
|
parallelism: 4
|
2018-06-17 18:32:42 +00:00
|
|
|
working_directory: ~/nucypher-depends
|
2018-06-17 01:00:07 +00:00
|
|
|
docker:
|
2018-06-17 18:32:42 +00:00
|
|
|
- image: circleci/python:3.6
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- restore_cache:
|
2018-06-23 19:44:47 +00:00
|
|
|
key: v2-deps-{{ .Branch }}-{{ checksum "Pipfile" }}
|
2018-06-17 18:32:42 +00:00
|
|
|
- run:
|
|
|
|
name: Ethereum Contract Unit Tests
|
|
|
|
command: |
|
2018-06-25 22:39:35 +00:00
|
|
|
pipenv run pytest --junitxml=./reports/pytest/eth-contract-unit-report.xml -v --runslow $(circleci tests glob tests/blockchain/eth/contracts/unit/test_*.py | circleci tests split --split-by=timings)
|
2018-06-17 18:32:42 +00:00
|
|
|
- store_test_results:
|
|
|
|
path: ./reports/pytest/
|
|
|
|
|
2018-06-17 01:00:07 +00:00
|
|
|
|
2018-06-17 18:32:42 +00:00
|
|
|
intercontract_integration:
|
|
|
|
working_directory: ~/nucypher-depends
|
2018-06-17 01:00:07 +00:00
|
|
|
docker:
|
|
|
|
- image: circleci/python:3.6
|
2018-06-17 18:32:42 +00:00
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- restore_cache:
|
2018-06-23 19:44:47 +00:00
|
|
|
key: v2-deps-{{ .Branch }}-{{ checksum "Pipfile" }}
|
2018-06-17 18:32:42 +00:00
|
|
|
- run:
|
|
|
|
name: Ethereum Inter-Contract Integration Test
|
|
|
|
command: |
|
2018-06-25 22:39:35 +00:00
|
|
|
pipenv run pytest -v --runslow tests/blockchain/eth/contracts/integration
|
2018-06-17 18:32:42 +00:00
|
|
|
|
|
|
|
crypto_unit:
|
|
|
|
working_directory: ~/nucypher-depends
|
2018-06-17 01:00:07 +00:00
|
|
|
docker:
|
|
|
|
- image: circleci/python:3.6
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- restore_cache:
|
2018-06-23 19:44:47 +00:00
|
|
|
key: v2-deps-{{ .Branch }}-{{ checksum "Pipfile" }}
|
2018-06-17 01:00:07 +00:00
|
|
|
- run:
|
2018-06-17 18:32:42 +00:00
|
|
|
name: Crypto Character Tests
|
2018-06-17 01:00:07 +00:00
|
|
|
command: |
|
2018-06-25 22:29:09 +00:00
|
|
|
pipenv run pytest --cov=nucypher/crypto -v --runslow tests/crypto
|
2018-06-17 01:00:07 +00:00
|
|
|
|
2018-06-17 18:32:42 +00:00
|
|
|
network_unit:
|
|
|
|
working_directory: ~/nucypher-depends
|
2018-06-17 01:00:07 +00:00
|
|
|
docker:
|
|
|
|
- image: circleci/python:3.6
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- restore_cache:
|
2018-06-23 19:44:47 +00:00
|
|
|
key: v2-deps-{{ .Branch }}-{{ checksum "Pipfile" }}
|
2018-06-17 01:00:07 +00:00
|
|
|
- run:
|
2018-06-17 18:32:42 +00:00
|
|
|
name: Network Tests
|
2018-06-17 01:00:07 +00:00
|
|
|
command: |
|
2018-06-25 22:29:09 +00:00
|
|
|
pipenv run pytest --cov=nucypher/network -v --runslow tests/network
|
2018-06-17 01:00:07 +00:00
|
|
|
|
2018-06-17 18:32:42 +00:00
|
|
|
keystore_unit:
|
|
|
|
working_directory: ~/nucypher-depends
|
|
|
|
docker:
|
|
|
|
- image: circleci/python:3.6
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- restore_cache:
|
2018-06-23 19:44:47 +00:00
|
|
|
key: v2-deps-{{ .Branch }}-{{ checksum "Pipfile" }}
|
2018-06-17 18:32:42 +00:00
|
|
|
- run:
|
|
|
|
name: Keystore Tests
|
|
|
|
command: |
|
2018-06-25 22:29:09 +00:00
|
|
|
pipenv run pytest --cov=nucypher/keystore -v --runslow tests/keystore
|
2018-06-17 18:32:42 +00:00
|
|
|
|
|
|
|
character:
|
|
|
|
working_directory: ~/nucypher-depends
|
|
|
|
docker:
|
|
|
|
- image: circleci/python:3.6
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- restore_cache:
|
2018-06-23 19:44:47 +00:00
|
|
|
key: v2-deps-{{ .Branch }}-{{ checksum "Pipfile" }}
|
2018-06-17 18:32:42 +00:00
|
|
|
- run:
|
|
|
|
name: Character Tests
|
|
|
|
command: |
|
2018-06-25 22:29:09 +00:00
|
|
|
pipenv run pytest --cov=nucypher/characters -v --runslow tests/characters
|
2018-06-17 18:32:42 +00:00
|
|
|
|
|
|
|
blockchain_client_unit:
|
|
|
|
working_directory: ~/nucypher-depends
|
|
|
|
docker:
|
|
|
|
- image: circleci/python:3.6
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- restore_cache:
|
2018-06-23 19:44:47 +00:00
|
|
|
key: v2-deps-{{ .Branch }}-{{ checksum "Pipfile" }}
|
2018-06-17 18:32:42 +00:00
|
|
|
- run:
|
|
|
|
name: Blockchain Client Tests
|
|
|
|
command: |
|
2018-06-25 19:21:01 +00:00
|
|
|
pipenv run pytest --cov=nucypher/blockchain/eth -v --runslow tests/blockchain/eth/interfaces tests/blockchain/eth/entities
|