2018-06-17 01:00:07 +00:00
|
|
|
version: 2.0
|
|
|
|
|
|
|
|
workflows:
|
|
|
|
version: 2
|
|
|
|
test:
|
|
|
|
jobs:
|
|
|
|
- build_dependencies-35
|
|
|
|
- build_dependencies-36
|
|
|
|
- contract_unit_tests-36:
|
|
|
|
requires:
|
|
|
|
- build_dependencies-36
|
|
|
|
- intercontract_integration_tests:
|
|
|
|
requires:
|
|
|
|
- contract_unit_tests-36
|
|
|
|
|
|
|
|
build_dependencies: &build_dependencies
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
name: Install Pipenv itself
|
|
|
|
command: pip install pipenv --upgrade
|
|
|
|
- run:
|
|
|
|
name: Install Python dependencies with Pipenv
|
|
|
|
command: |
|
|
|
|
pipenv install --three --dev --skip-lock
|
|
|
|
- run:
|
|
|
|
name: Install Solidity compiler
|
|
|
|
command: |
|
|
|
|
wget "https://github.com/ethereum/solidity/releases/download/${SOLC_VER}/solc-static-linux" -O "$(pipenv --venv)/bin/solc"
|
|
|
|
chmod +x "$(pipenv --venv)/bin/solc"
|
|
|
|
environment:
|
|
|
|
SOLC_VER: "v0.4.24"
|
|
|
|
- save_cache:
|
|
|
|
paths:
|
|
|
|
- "~/.local/share/virtualenvs/"
|
|
|
|
key: deps-{{ .Branch }}-{{ checksum "Pipfile" }}-{{ .Environment.PY_DEP_VERSION }}
|
|
|
|
|
2018-06-16 22:33:28 +00:00
|
|
|
jobs:
|
2018-06-17 01:00:07 +00:00
|
|
|
build_dependencies-35:
|
|
|
|
<<: *build_dependencies
|
|
|
|
working_directory: ~/nucypher-depends-35
|
|
|
|
docker:
|
|
|
|
- image: circleci/python:3.5
|
|
|
|
|
|
|
|
build_dependencies-36:
|
|
|
|
<<: *build_dependencies
|
|
|
|
working_directory: ~/nucypher-depends-36
|
|
|
|
docker:
|
|
|
|
- image: circleci/python:3.6
|
|
|
|
|
|
|
|
contract_unit_tests-36:
|
|
|
|
working_directory: ~/nucypher-depends-36
|
|
|
|
docker:
|
|
|
|
- image: circleci/python:3.6
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- restore_cache:
|
|
|
|
key: deps-{{ .Branch }}-{{ checksum "Pipfile" }}-{{ .Environment.PY_DEP_VERSION }}
|
|
|
|
- run:
|
|
|
|
name: Ethereum Contract Unit Test
|
|
|
|
command: |
|
|
|
|
pipenv run pytest --cov=nucypher -v --runslow nucypher/tests/blockchain/eth/contracts/unit
|
|
|
|
|
|
|
|
intercontract_integration_tests-36:
|
|
|
|
working_directory: ~/nucypher-depends-36
|
|
|
|
docker:
|
|
|
|
- image: circleci/python:3.6
|
|
|
|
environment:
|
|
|
|
PY_DEP_VERSION: "py3.6"
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- restore_cache:
|
|
|
|
key: deps-{{ .Branch }}-{{ checksum "Pipfile" }}-{{ .Environment.PY_DEP_VERSION }}
|
|
|
|
- run:
|
|
|
|
name: Ethereum Inter-Contract Integration Test
|
|
|
|
command: |
|
|
|
|
pipenv run pytest --cov=nucypher -v --runslow nucypher/tests/blockchain/eth/contracts/integration
|
|
|
|
|