nucypher/.circleci/config.yml

79 lines
2.3 KiB
YAML
Raw Normal View History

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:
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