Security analysis tool for EVM bytecode. Supports smart contracts built for Ethereum, Hedera, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains.
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.
 
 
 
 
 
 
mythril/.circleci/config.yml

79 lines
2.0 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
- run:
name: Installing mythril tools
command: cd /home && ./install-mythril-tools.sh laser-ethereum
- run:
name: Install dependencies, in case any are missing in Docker image
command: pip3 install -r /home/mythril/requirements.txt
- run:
background: true
name: Launch of background geth instance
command: geth --syncmode full --rpc --shh
- run:
name: Unit-testing
command: cd /home/mythril && ./all_tests.sh
- store_test_results:
path: /tmp/test-reports
- store_artifacts:
path: /tmp/test-reports
- run:
name: Ensuring that setup script is functional
command: cd /home/mythril && python3 setup.py install
- 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: cd /home/mythril && python3 setup.py verify
- run:
name: Build
command: cd /home/mythril && python3 setup.py sdist
- run:
name: Deploy
command: cd /home/mythril && twine upload dist/*
workflows:
version: 2
build:
jobs:
- test:
filters:
tags:
only: /.*/
- deploy:
filters:
branches:
ignore: /.*/
tags:
only: /v[0-9]+(\.[0-9]+)*/
requires:
- test