Update Python workflow #1095
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests on OSX | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
build: | |
# macos-13 = x86 | |
# macos-14 = arm (M1) | |
runs-on: macos-12 | |
strategy: | |
matrix: | |
python-version: ['3.8', '3.9', '3.10'] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install LLVM and Clang | |
uses: KyleMayes/install-llvm-action@v1 | |
with: | |
version: "14.0" | |
directory: ${{ runner.temp }}/llvm | |
- name: Install dependencies | |
run: | | |
brew install boost | |
- name: Install Z3 | |
run: | | |
wget https://github.com/Z3Prover/z3/releases/download/z3-4.8.17/z3-4.8.17-x64-osx-10.16.zip | |
unzip z3-4.8.17-x64-osx-10.16.zip | |
sudo python -m pip install z3-solver==4.8.17.0 | |
- name: Install Ninja | |
run: | | |
brew install ninja | |
- name: Install Meson | |
run: | | |
python -m pip install meson | |
- name: Install Bitwuzla | |
run: | | |
git clone https://github.com/bitwuzla/bitwuzla.git | |
cd bitwuzla | |
git checkout -b 0.4.0 0.4.0 | |
python ./configure.py --shared --prefix $(pwd)/install | |
cd build | |
sudo ninja install | |
cd .. | |
- name: Install Capstone | |
run: | | |
wget https://github.com/aquynh/capstone/archive/5.0.1.tar.gz | |
tar -xf ./5.0.1.tar.gz | |
cd ./capstone-5.0.1 | |
bash ./make.sh | |
sudo make install | |
cd ../ | |
- name: Install Unicorn | |
run: | | |
sudo python -m pip install unicorn==2.0.1 | |
- name: Install LIEF | |
run: | | |
sudo python -m pip install lief | |
- name: Compile Triton | |
run: | | |
mkdir ./build | |
cd ./build | |
cmake .. | |
cmake -DZ3_INTERFACE=ON \ | |
-DZ3_INCLUDE_DIRS=${{ github.workspace }}/z3-4.8.17-x64-osx-10.16/include \ | |
-DZ3_LIBRARIES=${{ github.workspace }}/z3-4.8.17-x64-osx-10.16/bin/libz3.a \ | |
-DBITWUZLA_INTERFACE=ON \ | |
-DBITWUZLA_INCLUDE_DIRS=${{ github.workspace }}/bitwuzla/install/include \ | |
-DBITWUZLA_LIBRARIES=${{ github.workspace }}/bitwuzla/install/lib/libbitwuzla.dylib \ | |
-DLLVM_INTERFACE=ON \ | |
-DCMAKE_PREFIX_PATH=${{env.LLVM_PATH}} \ | |
-DBOOST_INTERFACE=OFF .. | |
sudo make -j3 install | |
env: | |
Z3_INCLUDE_DIRS: ${{ github.workspace }}/z3-4.8.17-x64-osx-10.16/include | |
Z3_LIBRARIES: ${{ github.workspace }}/z3-4.8.17-x64-osx-10.16/bin/libz3.a | |
- name: Unittests | |
run: | | |
ctest --test-dir build --output-on-failure |