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