diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef849e2a..ab9112ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,10 +15,10 @@ jobs: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v2 - - name: Set up Python 3.6 - uses: actions/setup-python@v1 + - name: Set up Python 3.7 + uses: actions/setup-python@v2 with: - python-version: 3.6 + python-version: 3.7 - name: Lint if: github.event_name == 'pull_request' env: @@ -45,10 +45,10 @@ jobs: type: ["ethereum_truffle", "ethereum_bench", "examples", "ethereum", "ethereum_vm", "native", "wasm", "wasm_sym", "other"] steps: - uses: actions/checkout@v1 - - name: Set up Python 3.6 - uses: actions/setup-python@v1 + - name: Set up Python 3.7 + uses: actions/setup-python@v2 with: - python-version: 3.6 + python-version: 3.7 - name: Install NPM uses: actions/setup-node@v1 with: @@ -60,13 +60,19 @@ jobs: #install utils pip install coveralls pip install -e ".[dev-noks]" + # Get version info + pip freeze + z3 --version #install cvc4 sudo wget -O /usr/bin/cvc4 https://github.com/CVC4/CVC4/releases/download/1.7/cvc4-1.7-x86_64-linux-opt sudo chmod +x /usr/bin/cvc4 + cvc4 --version #install yices - sudo add-apt-repository ppa:sri-csl/formal-methods - sudo apt-get update - sudo apt-get install yices2 + sudo wget -O yices.tar.gz https://yices.csl.sri.com/releases/2.6.2/yices-2.6.2-x86_64-pc-linux-gnu-static-gmp.tar.gz + sudo tar -xzf yices.tar.gz + cd yices-2.6.2 + sudo ./install-yices + yices --version #install boolector mkdir -p /tmp/build cd /tmp/build @@ -113,10 +119,10 @@ jobs: needs: tests steps: - uses: actions/checkout@v2 - - name: Set up Python 3.6 - uses: actions/setup-python@v1 + - name: Set up Python 3.7 + uses: actions/setup-python@v2 with: - python-version: 3.6 + python-version: 3.7 - name: Build Dist run: | python3 -m pip install wheel diff --git a/.github/workflows/osx.yml b/.github/workflows/osx.yml index 032ea5b6..4a117926 100644 --- a/.github/workflows/osx.yml +++ b/.github/workflows/osx.yml @@ -14,10 +14,10 @@ jobs: type: ["ethereum_truffle", "ethereum_bench", "ethereum", "ethereum_vm", "wasm", "wasm_sym", "other"] steps: - uses: actions/checkout@v2 - - name: Set up Python 3.6 - uses: actions/setup-python@v1 + - name: Set up Python 3.7 + uses: actions/setup-python@v2 with: - python-version: 3.6 + python-version: 3.7 - name: Install NPM uses: actions/setup-node@v1 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3717e3b0..a2767299 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,10 +12,10 @@ jobs: type: ["ethereum_truffle", "ethereum_bench", "examples", "ethereum", "ethereum_vm", "native", "wasm", "wasm_sym", "other"] steps: - uses: actions/checkout@v1 - - name: Set up Python 3.6 - uses: actions/setup-python@v1 + - name: Set up Python 3.7 + uses: actions/setup-python@v2 with: - python-version: 3.6 + python-version: 3.7 - name: Install NPM uses: actions/setup-node@v1 with: @@ -64,10 +64,10 @@ jobs: needs: tests steps: - uses: actions/checkout@v2 - - name: Set up Python 3.6 - uses: actions/setup-python@v1 + - name: Set up Python 3.7 + uses: actions/setup-python@v2 with: - python-version: 3.6 + python-version: 3.7 - name: Build Dist run: | python3 -m pip install wheel diff --git a/README.md b/README.md index bd33f958..88535452 100644 --- a/README.md +++ b/README.md @@ -217,7 +217,7 @@ for idx, val_list in enumerate(m.collect_returns()): ## Requirements -* Manticore requires Python 3.6 or greater +* Manticore requires Python 3.7 or greater * Manticore officially supports the latest LTS version of Ubuntu provided by Github Actions * Manticore has experimental support for EVM and WASM (but not native Linux binaries) on MacOS * We recommend running with increased stack size. This can be done by running `ulimit -s 100000` or by passing `--ulimit stack=100000000:100000000` to `docker run` diff --git a/examples/script/concolic.py b/examples/script/concolic.py index 75f7eeca..df3c17fb 100755 --- a/examples/script/concolic.py +++ b/examples/script/concolic.py @@ -29,7 +29,9 @@ from manticore.utils import config import copy from manticore.core.smtlib.expression import * -prog = "../linux/simpleassert" +from pathlib import Path + +prog = str(Path(__file__).parent.resolve().parent.joinpath("linux").joinpath("simpleassert")) VERBOSITY = 0 diff --git a/manticore/__init__.py b/manticore/__init__.py index 753996db..cbae0001 100644 --- a/manticore/__init__.py +++ b/manticore/__init__.py @@ -1,7 +1,7 @@ import sys -if sys.version_info < (3, 6): - print("Manticore requires Python 3.6 or higher.") +if sys.version_info < (3, 7): + print("Manticore requires Python 3.7 or higher.") sys.exit(-1) from .utils import config, log diff --git a/mypy.ini b/mypy.ini index ffd2626c..c99c3c2c 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,5 +1,5 @@ [mypy] -python_version = 3.6 +python_version = 3.7 files = manticore, tests ignore_missing_imports = True diff --git a/setup.py b/setup.py index 13b99fe5..3ddf1b1a 100644 --- a/setup.py +++ b/setup.py @@ -61,7 +61,7 @@ setup( author="Trail of Bits", version=version, packages=find_packages(exclude=["tests", "tests.*"]), - python_requires=">=3.6", + python_requires=">=3.7", install_requires=[ "pyyaml", "protobuf",