Boolector / boolector

A Satisfiability Modulo Theories (SMT) solver for the theories of fixed-size bit-vectors, arrays and uninterpreted functions.
http://boolector.github.io
Other
335 stars 62 forks source link

Python: Only use repaired wheels as artifacts #199

Closed imphil closed 2 years ago

imphil commented 2 years ago

The Python bdist (wheel) build process produces wheels named e.g. PyBoolector-3.2.2.20220630.7-cp39-cp39-linux_ppc64le.whl. These wheels are then "repaired" (libraries are bundled) by auditwheel to produce files like PyBoolector-3.2.2.20220630.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

In our previous build process, we had the original linux and the repaired manylinux wheels in the same directory, and hence tried to upload both to PyPi. This upload failed with an error message from PyPi:

ERROR    HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/
         Binary wheel
         'PyBoolector-3.2.2.20220701.1-cp310-cp310-linux_ppc64le.whl' has an
         unsupported platform tag 'linux_ppc64le'.

Fix the problem by only placing the repaired wheels into the Azure Pipelines build artifacts, and hence only uploading those files.

imphil commented 2 years ago

Looks good, we're now left with the following files to upload:

Files to upload:
-rw-r--r-- 1 vsts docker 2484610 Aug  2 09:37 /home/vsts/work/1/dist-linux-ppc64le/PyBoolector-3.2.2.20220802.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
-rw-r--r-- 1 vsts docker 2377072 Aug  2 09:37 /home/vsts/work/1/dist-linux-ppc64le/PyBoolector-3.2.2.20220802.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
-rw-r--r-- 1 vsts docker 2366874 Aug  2 09:37 /home/vsts/work/1/dist-linux-ppc64le/PyBoolector-3.2.2.20220802.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
-rw-r--r-- 1 vsts docker 2520524 Aug  2 09:37 /home/vsts/work/1/dist-linux-ppc64le/PyBoolector-3.2.2.20220802.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
-rw-r--r-- 1 vsts docker 2509699 Aug  2 09:37 /home/vsts/work/1/dist-linux-ppc64le/PyBoolector-3.2.2.20220802.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
-rw-r--r-- 1 vsts docker 2247107 Aug  2 09:37 /home/vsts/work/1/dist-linux-x86_64/PyBoolector-3.2.2.20220802.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
-rw-r--r-- 1 vsts docker 2136631 Aug  2 09:37 /home/vsts/work/1/dist-linux-x86_64/PyBoolector-3.2.2.20220802.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
-rw-r--r-- 1 vsts docker 2121252 Aug  2 09:37 /home/vsts/work/1/dist-linux-x86_64/PyBoolector-3.2.2.20220802.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
-rw-r--r-- 1 vsts docker 2500389 Aug  2 09:37 /home/vsts/work/1/dist-linux-x86_64/PyBoolector-3.2.2.20220802.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
-rw-r--r-- 1 vsts docker 2264286 Aug  2 09:37 /home/vsts/work/1/dist-linux-x86_64/PyBoolector-3.2.2.20220802.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
-rw-r--r-- 1 vsts docker    2508 Aug  2 09:37 /home/vsts/work/1/dist-macos-x86_64/PyBoolector-3.2.2.20220802.2-cp39-cp39-macosx_11_0_x86_64.whl
-rw-r--r-- 1 vsts docker   21533 Aug  2 09:37 /home/vsts/work/1/dist-macos-x86_64/PyBoolector-3.2.2.20220802.2.tar.gz
imphil commented 2 years ago

Looks like we got it all sorted now, a "pip install" on ppc64le now works beautifully. Thanks for your patience!

mpreiner commented 2 years ago

Awesome! Thanks for your contribution!