Skip to content

Upgrade Bitwuzla to v0.1.0 #365

Upgrade Bitwuzla to v0.1.0

Upgrade Bitwuzla to v0.1.0 #365

Workflow file for this run

name: Build Python Package
on: [push, pull_request, workflow_dispatch]
env:
package-version: '1.0.0rc2'
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Create Docker image
run: bash ./src/scripts/docker/build-docker-image.sh
- name: Build Wheel packages
run: |
docker run \
--rm \
-v $GITHUB_WORKSPACE:/src \
build-triton-linux-x86_64 bash /src/src/scripts/docker/build-wheel-linux.sh
- name: Upload Wheel packages (Python 3.8)
uses: actions/upload-artifact@v3
with:
name: triton_library-${{ env.package-version }}-cp38-cp38-manylinux_2_24_x86_64.whl
path: wheel-final/triton_library-${{ env.package-version }}-cp38-cp38-manylinux_2_24_x86_64.whl
if-no-files-found: warn
- name: Upload Wheel packages (Python 3.9)
uses: actions/upload-artifact@v3
with:
name: triton_library-${{ env.package-version }}-cp39-cp39-manylinux_2_24_x86_64.whl
path: wheel-final/triton_library-${{ env.package-version }}-cp39-cp39-manylinux_2_24_x86_64.whl
if-no-files-found: warn
- name: Upload Wheel packages (Python 3.10)
uses: actions/upload-artifact@v3
with:
name: triton_library-${{ env.package-version }}-cp310-cp310-manylinux_2_24_x86_64.whl
path: wheel-final/triton_library-${{ env.package-version }}-cp310-cp310-manylinux_2_24_x86_64.whl
if-no-files-found: warn
- name: Upload Wheel packages (Python 3.11)
uses: actions/upload-artifact@v3
with:
name: triton_library-${{ env.package-version }}-cp311-cp311-manylinux_2_24_x86_64.whl
path: wheel-final/triton_library-${{ env.package-version }}-cp311-cp311-manylinux_2_24_x86_64.whl
if-no-files-found: warn
# FIXME
# build-windows:
# runs-on: windows-latest
# strategy:
# matrix:
# python-version: ['3.8', '3.9', '3.10']
# include:
# - python-version: 3.8
# pycp: cp38-cp38
# pylib: python38.lib
# - python-version: 3.9
# pycp: cp39-cp39
# pylib: python39.lib
# - python-version: 3.10
# pycp: cp310-cp310
# pylib: python310.lib
# 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: Get CMake
# uses: lukka/get-cmake@latest
# - name: Setup Windows dev environment
# uses: ilammy/msvc-dev-cmd@v1
# with:
# arch: 'x64'
# - name: Upgrade pip version
# run: |
# python -m pip install -U pip
# - name: Install build package
# run: |
# python -m pip install build
# - name: Download and build Z3
# run: |
# wget -UseBasicParsing https://github.com/Z3Prover/z3/releases/download/z3-4.8.17/z3-4.8.17-x64-win.zip -O z3-4.8.17-x64-win.zip
# tar -xf z3-4.8.17-x64-win.zip
# wget -UseBasicParsing https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.8.17.zip -O z3-4.8.17.zip
# tar -xf z3-4.8.17.zip
# cd z3-z3-4.8.17
# python scripts\mk_make.py --x64 --staticlib
# cd build
# nmake
# shell: powershell
# - name: Download Capstone
# run: |
# wget -UseBasicParsing https://github.com/capstone-engine/capstone/releases/download/4.0.2/capstone-4.0.2-win64.zip -O capstone-4.0.2-win64.zip
# tar -xf capstone-4.0.2-win64.zip
# shell: powershell
# - name: Build Triton Python package
# run: python -m build --wheel
# env:
# PYTHON_VERSION: ${{ matrix.python-version }}
# PYTHON_INCLUDE_DIRS: ${{ env.pythonLocation }}\include
# PYTHON_LIBRARIES: ${{ env.pythonLocation }}\libs\${{ matrix.pylib }}
# PYTHON_LIBRARY: ${{ env.pythonLocation }}\libs\${{ matrix.pylib }}
# Z3_INCLUDE_DIRS: ${{ github.workspace }}\z3-4.8.17-x64-win\include
# Z3_LIBRARIES: ${{ github.workspace }}\z3-z3-4.8.17\build\libz3-static.lib
# CAPSTONE_INCLUDE_DIRS: ${{ github.workspace }}\capstone-4.0.2-win64\include
# CAPSTONE_LIBRARIES: ${{ github.workspace }}\capstone-4.0.2-win64\capstone.lib
# - name: Upload
# uses: actions/upload-artifact@v3
# with:
# name: triton_library-${{ env.package-version }}-${{ matrix.pycp }}-win_amd64.whl
# path: ${{ github.workspace }}/dist/triton_library-${{ env.package-version }}-${{ matrix.pycp }}-win_amd64.whl
# if-no-files-found: warn
# FIXME
#build-macos:
# runs-on: macos-latest
# strategy:
# matrix:
# python-version: ['3.8', '3.9', '3.10']
# include:
# - python-version: 3.8
# - python-version: 3.9
# - python-version: 3.10
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - 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: Upgrade pip version
# run: |
# sudo python -m pip install -U pip
# - name: Install build package
# run: |
# sudo python -m pip install build
# - name: Download and build GMP
# run: |
# wget https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz
# tar xvf gmp-6.2.1.tar.xz
# cd gmp-6.2.1/
# ./configure --enable-cxx
# make
# make check
# make install
# - name: Download and build Bitwuzla
# run: |
# git clone https://github.com/bitwuzla/bitwuzla.git
# cd bitwuzla
# ./contrib/setup-cadical.sh
# ./contrib/setup-btor2tools.sh
# ./contrib/setup-symfpu.sh
# ./configure.sh --shared --prefix $(pwd)/install
# cd build
# make
# make install
# - name: Download 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
# - name: Install Capstone
# run: |
# wget https://github.com/aquynh/capstone/archive/4.0.2.tar.gz
# tar -xf ./4.0.2.tar.gz
# cd ./capstone-4.0.2
# bash ./make.sh
# sudo make install
# cd ../
# - name: Build Triton Python package
# run: python -m build --wheel
# env:
# PYTHON_VERSION: ${{ matrix.python-version }}
# PYTHON_LIBRARIES: ${{ env.pythonLocation }}/lib/libpython${{ matrix.python-version }}.dylib
# PYTHON_LIBRARY: ${{ env.pythonLocation }}/lib/libpython${{ matrix.python-version }}.dylib
# PYTHON_INCLUDE_DIRS: ${{ env.pythonLocation }}/include/python${{ matrix.python-version }}
# 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
# CAPSTONE_INCLUDE_DIRS: /usr/local/include
# CAPSTONE_LIBRARIES: /usr/local/lib/libcapstone.a
# BITWUZLA_INTERFACE: On
# BITWUZLA_INCLUDE_DIRS: ${{ github.workspace }}/bitwuzla/install/include
# BITWUZLA_LIBRARIES: ${{ github.workspace }}/bitwuzla/install/lib/libbitwuzla.dylib
# LLVM_INTERFACE: On
# CMAKE_PREFIX_PATH: ${{env.LLVM_PATH}}
# - name: Repair wheel package (Python 3.8)
# if: ${{ matrix.python-version == '3.8' }}
# run: |
# pip install delocate
# delocate-wheel -w wheel-final -v ${{ github.workspace }}/dist/triton_library-${{ env.package-version }}-cp38-cp38-macosx_11_0_x86_64.whl
# - name: Upload Wheel packages (Python 3.8)
# uses: actions/upload-artifact@v3
# if: ${{ matrix.python-version == '3.8' }}
# with:
# name: triton_library-${{ env.package-version }}-cp38-cp38-macosx_11_0_x86_64.whl
# path: ${{ github.workspace }}/wheel-final/triton_library-${{ env.package-version }}-cp38-cp38-macosx_11_0_x86_64.whl
# if-no-files-found: warn
# - name: Repair wheel package (Python 3.9)
# if: ${{ matrix.python-version == '3.9' }}
# run: |
# pip install delocate
# delocate-wheel -w wheel-final -v ${{ github.workspace }}/dist/triton_library-${{ env.package-version }}-cp39-cp39-macosx_11_0_x86_64.whl
# - name: Upload Wheel packages (Python 3.9)
# uses: actions/upload-artifact@v3
# if: ${{ matrix.python-version == '3.9' }}
# with:
# name: triton_library-${{ env.package-version }}-cp39-cp39-macosx_11_0_x86_64.whl
# path: ${{ github.workspace }}/wheel-final/triton_library-${{ env.package-version }}-cp39-cp39-macosx_11_0_x86_64.whl
# if-no-files-found: warn
# - name: Repair wheel package (Python 3.10)
# if: ${{ matrix.python-version == '3.10' }}
# run: |
# pip install delocate
# delocate-wheel -w wheel-final -v ${{ github.workspace }}/dist/triton_library-${{ env.package-version }}-cp310-cp310-macosx_11_0_x86_64.whl
# - name: Upload Wheel packages (Python 3.10)
# uses: actions/upload-artifact@v3
# if: ${{ matrix.python-version == '3.10' }}
# with:
# name: triton_library-${{ env.package-version }}-cp310-cp310-macosx_11_0_x86_64.whl
# path: ${{ github.workspace }}/wheel-final/triton_library-${{ env.package-version }}-cp310-cp310-macosx_11_0_x86_64.whl
# if-no-files-found: warn