Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manticore 0.3.6 #2456

Merged
merged 8 commits into from
Jun 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Upload to PyPI

on:
release:
types: [published]

jobs:
tests:
runs-on: ubuntu-18.04
strategy:
matrix:
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
with:
python-version: 3.6
- name: Install NPM
uses: actions/setup-node@v1
with:
node-version: '13.x'
- name: Install dependencies
env:
TEST_TYPE: ${{ matrix.type }}
run: |
#install utils
pip install coveralls
pip install -e ".[dev-noks]"
#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
#install yices
sudo add-apt-repository ppa:sri-csl/formal-methods
sudo apt-get update
sudo apt-get install yices2
#install boolector
mkdir -p /tmp/build
cd /tmp/build
git clone https://github.com/boolector/boolector.git
cd boolector
# Version 3.2.1
git checkout "f61c0dcf4a76e2f7766a6358bfb9c16ca8217224"
git log -1 --oneline > ../boolector.commit
./contrib/setup-lingeling.sh
./contrib/setup-btor2tools.sh
./configure.sh
cd build
make -j4
mkdir -p /tmp/boolector
sudo make DESTDIR=/usr install
# Install solc unconditionally because it only takes a second or two
sudo wget -O /usr/bin/solc https://github.com/ethereum/solidity/releases/download/v0.4.24/solc-static-linux
sudo chmod +x /usr/bin/solc
- name: Run Tests
env:
TEST_TYPE: ${{ matrix.type }}
run: |
cp scripts/run_tests.sh .
./run_tests.sh

upload:
runs-on: ubuntu-18.04
needs: tests
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.6
uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Build Dist
run: |
python3 -m pip install wheel
python3 setup.py sdist bdist_wheel
- name: Upload to PyPI
uses: pypa/gh-action-pypi-publish@v1.2.2
with:
password: ${{ secrets.PYPI_UPLOAD }}
26 changes: 25 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,30 @@
# Change Log

## [Unreleased](https://github.com/trailofbits/manticore/compare/0.3.5...HEAD)
## [Unreleased](https://github.com/trailofbits/manticore/compare/0.3.6...HEAD)

## 0.3.6 - 2021-06-09

Thanks to our external contributors!
- [timgates42](https://github.com/trailofbits/manticore/commits?author=timgates42)

### Ethereum
* **[Changed API]** Default to quick mode: disable detectors and gas [#2457](https://github.com/trailofbits/manticore/pull/2457)
* Allow symbolic balances from the beginning of execution [#1818](https://github.com/trailofbits/manticore/pull/1818)
* Disable EVM Events in Testcases [#2417](https://github.com/trailofbits/manticore/pull/2417)

### Native
* **[Added API]** Syscall-specific hooks [#2389](https://github.com/trailofbits/manticore/pull/2389)
* Fix wildcard behavior in symbolic files [#2454](https://github.com/trailofbits/manticore/pull/2454)
* Bugfixes for control transfer between Manticore & Unicorn [#1796](https://github.com/trailofbits/manticore/pull/1796)

### Other
* Run multiple SMT solvers in parallel, take the fastest response [#2420](https://github.com/trailofbits/manticore/pull/2420)
* Add socket for TUI [#1620](https://github.com/trailofbits/manticore/pull/1620)
* Memory usage improvements in expression system [#2394](https://github.com/trailofbits/manticore/pull/2394)
* Support for Boolector [#2410](https://github.com/trailofbits/manticore/pull/2410)
* Solver Statistics API [#2415](https://github.com/trailofbits/manticore/pull/2415)
* Allow duplicated config options [#2397](https://github.com/trailofbits/manticore/pull/2397)


## 0.3.5 - 2020-11-06

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ Option 2: Installing from PyPI, with extra dependencies needed to execute native
pip install "manticore[native]"
```

Option 3: Installing a nightly development build (fill in the latest version from [the PyPI history](https://pypi.org/project/manticore/#history)):
Option 3: Installing a nightly development build:

```bash
pip install "manticore[native]==0.x.x.devYYMMDD"
pip install --pre "manticore[native]"
```

Option 4: Installing from the `master` branch:
Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,9 @@
# built documents.
#
# The short X.Y version.
version = "0.3.5"
version = "0.3.6"
# The full version, including alpha/beta/rc tags.
release = "0.3.5"
release = "0.3.6"

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
8 changes: 5 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,11 @@ def rtd_dependent_deps():


# https://stackoverflow.com/a/4792601 grumble grumble
dev_extension = ""
version = "0.3.6"
if "--dev_release" in sys.argv:
dev_extension = ".dev" + date.today().strftime("%y%m%d")
major, minor, point = tuple(int(t) for t in version.split("."))
dev_extension = f"dev{date.today().strftime('%y%m%d')}"
version = f"{major}.{minor}.{point + 1}.{dev_extension}"
sys.argv.remove("--dev_release")

setup(
Expand All @@ -57,7 +59,7 @@ def rtd_dependent_deps():
long_description=long_description,
url="https://github.com/trailofbits/manticore",
author="Trail of Bits",
version="0.3.5" + dev_extension,
version=version,
packages=find_packages(exclude=["tests", "tests.*"]),
python_requires=">=3.6",
install_requires=[
Expand Down