mirror of https://github.com/ConsenSys/mythril
blockchainethereumsmart-contractssoliditysecurityprogram-analysissecurity-analysissymbolic-execution
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.6 KiB
102 lines
2.6 KiB
defaults: &defaults
|
|
docker:
|
|
- image: birdofpreyru/mythril-integration-tests:0.0.3
|
|
|
|
version: 2
|
|
jobs:
|
|
# Basic testing of a new commit to any branch.
|
|
test:
|
|
<<: *defaults
|
|
steps:
|
|
- checkout:
|
|
path: /home/mythril
|
|
|
|
# Uncomment, for local testing with circleci command, as it ignores
|
|
# path param in checkout command, and this symlink compenstates for that.
|
|
# - run: ln -s /root/project /home/mythril
|
|
|
|
- restore-cache:
|
|
keys:
|
|
- tox-env-{{ checksum "/home/mythril/tox.ini" }}-{{ checksum "/home/mythril/setup.py" }}
|
|
|
|
- run:
|
|
name: Installing mythril tools
|
|
command: ./install-mythril-tools.sh laser-ethereum
|
|
working_directory: /home
|
|
|
|
- run:
|
|
name: Install tox envs
|
|
command: tox -vv --notest
|
|
working_directory: /home/mythril
|
|
environment:
|
|
LC_ALL: C.UTF-8
|
|
LANG: C.UTF-8
|
|
|
|
- save_cache:
|
|
key: tox-env-{{ checksum "/home/mythril/tox.ini" }}-{{ checksum "/home/mythril/setup.py" }}
|
|
paths:
|
|
- .tox/py*
|
|
- /root/.cache/pip/wheels/
|
|
|
|
- run:
|
|
background: true
|
|
name: Launch of background geth instance
|
|
command: geth --syncmode full --rpc --shh
|
|
|
|
- run:
|
|
name: Unit-testing
|
|
command: tox
|
|
working_directory: /home/mythril
|
|
environment:
|
|
LC_ALL: C.UTF-8
|
|
LANG: C.UTF-8
|
|
|
|
- store_test_results:
|
|
path: /home/mythril/.tox/output
|
|
|
|
- store_artifacts:
|
|
path: /home/mythril/.tox/output
|
|
|
|
- run:
|
|
name: Ensuring that setup script is functional
|
|
command: python3 setup.py install
|
|
working_directory: /home/mythril
|
|
|
|
- run:
|
|
name: Integration tests
|
|
command: if [ -z "$CIRCLE_PR_NUMBER" ]; then cd /home && ./run-integration-tests.sh; fi
|
|
|
|
deploy:
|
|
<<: *defaults
|
|
steps:
|
|
- checkout:
|
|
path: /home/mythril
|
|
- run:
|
|
name: Verify Git tag vs. version
|
|
command: python3 setup.py verify
|
|
working_directory: /home/mythril
|
|
- run:
|
|
name: Build
|
|
command: python3 setup.py sdist
|
|
working_directory: /home/mythril
|
|
- run:
|
|
name: Deploy
|
|
command: twine upload dist/*
|
|
working_directory: /home/mythril
|
|
|
|
workflows:
|
|
version: 2
|
|
build:
|
|
jobs:
|
|
- test:
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- deploy:
|
|
filters:
|
|
branches:
|
|
ignore: /.*/
|
|
tags:
|
|
only: /v[0-9]+(\.[0-9]+)*/
|
|
requires:
|
|
- test
|
|
|