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
332 stars 62 forks source link

Add CI for a Python wheel release to PyPi #72

Closed mballance closed 3 years ago

mballance commented 4 years ago

Signed-off-by: Matthew Ballance matt.ballance@gmail.com

mballance commented 4 years ago

I've updated the Azure Pipelines specification to only authenticate and upload to PyPi when the build is done from the 'master' branch. It's pretty unlikely that we want PR builds to make uploads to PyPi.

In order to enable automated uploads to pypi.org, the following must be done in the Azure Pipelines Builds section. Before doing so, register for a free account on pypi.org

The CI script can now authenticate a connection to PyPi.org via the information saved in the service connection configuration.

mpreiner commented 4 years ago

@mballance Thanks a lot for the work and sorry for the delay! We'll have a look and setup pypi ASAP.

mpreiner commented 4 years ago

@mballance Sorry that this takes so long. I had a brief look (will dive into it more soon). However, I have one question: Why did you choose to use Apache instead of sticking with MIT that comes with Boolector? This may cause some confusion since only the code for packaging pyboolector for pypi would be under Apache, but Boolector and pyboolector are still MIT, which is currently not reflected in setup.py.

mballance commented 4 years ago

@mpreiner, looks like an oversight on my part. I'll be happy to correct the license to align with the MIT that Boolector uses.

-Matthew

mpreiner commented 4 years ago

Thanks @mballance!

mballance commented 3 years ago

Hi @mpreiner, I've updated the PR with your requested changes, and also added in a couple of changes from the separate CI build -- macOS release, and improved versioning.

Thanks and Best Regards, Matthew

aytey commented 3 years ago

My Lingeling PR isn’t merged; how are you using the commit hash from that?

Could we do something here like we do with the Windows patches to make this self-contained within the Boolector repo?

mballance commented 3 years ago

My Lingeling PR isn’t merged; how are you using the commit hash from that?

Could we do something here like we do with the Windows patches to make this self-contained within the Boolector repo?

Apologies for the confusion, @andrewvaughanj. I wanted to point @mpreiner to a description of the issue resolved by moving to the latest lingeling code. It appears the issue has been resolved independent of your PR. The clone variable is now named 'cloned'.

aytey commented 3 years ago

My Lingeling PR isn’t merged; how are you using the commit hash from that? Could we do something here like we do with the Windows patches to make this self-contained within the Boolector repo?

Apologies for the confusion, @andrewvaughanj. I wanted to point @mpreiner to a description of the issue resolved by moving to the latest lingeling code. It appears the issue has been resolved independent of your PR. The clone variable is now named 'cloned'.

Ah! All good :)

mballance commented 3 years ago

@mballance is there anything else to do other than what you wrote here once the PR is merged?

@mpreiner, other than configuring PyPi upload (referenced link), we should be good to go. Please let me know the PyPi username that will be doing uploads, since I think I'll need to add it to the PyPi project.