Skip to content

Commit

Permalink
Manticore 0.3.6 (#2456)
Browse files Browse the repository at this point in the history
* Manticore 0.3.6

* Create release.yml

* Bump point release number for development releases

* Don't include coveralls in release run

* Update nightly build notice

* Update CHANGELOG.md

* Add changelog line for #2420
  • Loading branch information
Eric Hennenfent authored Jun 10, 2021
1 parent e4cb8c6 commit 2a56484
Show file tree
Hide file tree
Showing 5 changed files with 112 additions and 8 deletions.
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/[email protected]
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

0 comments on commit 2a56484

Please sign in to comment.