Update Python workflow #983
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: Test the code coverage | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [3.9] | |
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: Upgrade pip version | |
run: | | |
python -m pip install -U pip | |
- name: Install dependencies | |
run: | | |
sudo apt-get install python3-setuptools lcov libboost-dev libgmp-dev | |
- name: Install LLVM and Clang | |
uses: KyleMayes/install-llvm-action@v1 | |
with: | |
version: "14.0" | |
directory: ${{ runner.temp }}/llvm | |
- name: Install Z3 | |
run: | | |
sudo apt-get install libz3-dev | |
python -m pip install z3-solver | |
python -m pip install importlib-resources | |
- name: Install Ninja | |
run: | | |
sudo apt-get install ninja-build | |
- 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 | |
cd build | |
sudo ninja install | |
sudo ldconfig | |
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: | | |
python -m pip install unicorn==2.0.0 | |
- name: Install LIEF | |
run: | | |
python -m pip install lief | |
- name: Compile Triton | |
run: | | |
mkdir ./build | |
cd ./build | |
cmake -DGCOV=on -DZ3_INTERFACE=on -DBITWUZLA_INTERFACE=on -DBITWUZLA_INCLUDE_DIRS=/usr/local/include -DBITWUZLA_LIBRARIES=/usr/local/lib/x86_64-linux-gnu/libbitwuzla.so -DLLVM_INTERFACE=on -DCMAKE_PREFIX_PATH=${{env.LLVM_PATH}} .. | |
sudo make -j3 install | |
- name: Unittests | |
run: | | |
make -C build check | |
bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports" |