AntonKueltz / fastecdsa

Python library for fast elliptic curve crypto
https://pypi.python.org/pypi/fastecdsa
The Unlicense
263 stars 76 forks source link

Add_ci_windows_build #88

Open wakiyamap opened 1 year ago

wakiyamap commented 1 year ago

ref. https://github.com/AntonKueltz/fastecdsa/issues/11

result https://github.com/wakiyamap/fastecdsa/actions/runs/5248489262

I'm using google translate, so sorry if it's weird English. I didn't know how to make it compatible with x86. https://github.com/wakiyamap/fastecdsa/actions/runs/5234386828 But I don't think there are any users who use x86 right now, so I made a pull request for x64 only.

wakiyamap commented 1 year ago

In actual operation, I think it is better to enable the cache as @ShadowJonathan wrote. However, I didn't write it there because I don't know if I can pull-request it due to copyright issues.

AntonKueltz commented 1 year ago

Hi, thanks for the PR! Were you able to verify that the wheel generated by the CI job result in a functional installation of the package? E.g. with a fresh python virtual env the following runs without issue?

pip install <fastecdsa windows wheel>
python -m fastecdsa.benchmark
wakiyamap commented 1 year ago

Sorry for the late response.

As far as I tested it, it seems to be fine. https://github.com/wakiyamap/fastecdsa/actions/runs/5633774713/job/15263033995

AntonKueltz commented 11 months ago

No worries, the CI/CD jobs passing is a good start, but it would be good to verify the wheels produced actually work when installed on a fresh environment on Windows.

wakiyamap commented 11 months ago

Thanks! I have verified that it works locally. Also, commands executed by CIBW_TEST_COMMAND_WINDOWS are executed in a fresh environment created by virtualenv. https://github.com/wakiyamap/fastecdsa/actions/runs/5633774713/job/15263033995#step:3:381 image

wakiyamap commented 9 months ago

Did you decide not to use wheel?

AntonKueltz commented 9 months ago

I've removed the current actions as they were still breaking intermittently and were causing pretty long running jobs (that sometimes ultimately failed) to get kicked off when adding new (non-release related) commits. I'm looking at adding them back, but only running conditionally on tagged (i.e. new release version) commits.