New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support wheels #81
Comments
Very good point and valuable suggestion for users and developers! OK! I start to investigate. memo: |
Working example.Appveyor:
Travis:
Result: |
OK, what we have after #83:
Wheels for Linux and macOS we could get when you set up releases from Travis to GitHub (https://docs.travis-ci.com/user/deployment/releases/). So you'll be able to grab wheels and source archive from Appveyor and GitHub and then upload all this stuff to PyPI manually. I think it's easier then uploading directly to PyPI because we have many sources (how to sync them?) and don't want to update PyPI after each commit. The only remaining question is where we can find Linux
UPD: I've found that the latest 32-bit mac OS is 10.6 (released in 2011 and unsupported as of February 25, 2014) and next macOS wont support 32-bit app at all. So, I think we shouldn't worry about macOS x32. I've updated lists according to this. |
Both XGB and LightGBM do not support 32 bit, I think there is no pressing need. |
I've spent the whole day searching 32-bit AMIs on AWS and found there are no them for free. To be honest, I found 5-10 free AMIs but all of them are weird, for example, very old CentOS, Oracle Linux with password. So I'm downloading VirtualBox and will create When you decide to update PyPI just open new issue and ping me. I'll attach the wheel to the response. Other wheels and source archive you'll grab from Appveyor and GitHub draft. The last remaining thing - configure (#81 (comment)) Travis to upload artifacts. I can't do this because your secure key is required for uploading. |
GitHub says it doesn't support uploading |
@fukatani Let's close this issue ASAP. At least we should have one version of rgf_python on PyPI with wheels before adding FastRGF into the package- it would be our checkpoint which users will install if they have problems with FastRGF. :-) |
Sorry. |
@fukatani I've succeeded to upload all needed files to test.pypi.
And the result:
https://test.pypi.org/project/rgf-python/#files So, feel free to ask me if you have any problems. |
Ah, I see. And I wrote my thought.
|
I totally agree with you! Such use case will bring us full control over PyPI releases. And we don't produce, for example, nightly builds, so manual uploads wouldn't be very hard and annoying. About tag. Am I right that the algorithm will be the following:
If I'm not mistaken in the pipeline, I like it :-). |
Your earnestness is wonderful, but in honest, I want to forget 32bit OS. |
Could you please explain this part? Did you mean that we could create i686 wheel on x64 machine by |
I failed to upload release from travis. |
You may try this travis-ci/travis-ci#8018 (comment) while waiting for response from them. |
This is my misunderstandings...
Is this possible? If so, can we replace exe with travis? |
Thanks to your advice, I succeeded to upload release, but |
As Lightgbm, |
I found that deployment automation is interesting. 😃 |
Did you delete these releases because I can't find them? They say for normal tag name we shoud choose one of the options:
Also I see In addition, they say
Maybe this can be an alternative to specifying |
OK, now you should add creating wheels:
Also maybe it's better to specify only wheels to upload (.tar.gz we could get from Appveyor): |
I mean following. When you need to create new PyPI release, you push fake commit which changes Or you can force Travis to produce 2 versions of Linux wheels permanently. I mean, there will be 2 lines in
But you anyway need to replace executable file in Or you can just ping me and I'll attach wheel for |
If we upload the 32-bit executable file to github release only once, |
But deploy automation is not completed, I published release manually. Future work:
|
Good idea! But I don't know is it possible or not. |
Maybe |
I'm not sure that changing You forgot to unzip |
And what is this We need two wheels for Windows from x64 and x32 jobs (I don't see them) and one source archive named |
Thanks, I fixed release 😄 |
Thank you very much! It's remained only to add |
Mac OS wheel name is right? rgf_python-2.1.2-py2.py3-none-macosx_10_6_x86_64.macosx_10_7_x86_64.macosx_10_8_x86_64.macosx_10_9_x86_64.macosx_10_10_x86_64.macosx_10_11_x86_64.macosx_10_12_x86_64.macosx_10_13_x86_64.whl It is long name.. |
Should be right. We'll test it after uploading wheels to PyPI.
|
Since rgf_python hasn't any special requirements (for compiler, environment, etc.), I think it good idea to have wheels on PyPI site (and the sources in .tar.gz, of course). I believe providing successfully compiled binaries will prevent many strange errors like recent ones.
We need wheels for two platforms: first for macOS and Linux and second for Windows.
The final result should be similar to this one:
But each wheel for each platform should have 32bit and 64bit version.
Binaries we could get from Travis and Appveyor as artifacts (I can do this). The one problem I see now is that Travis hasn't 32bit machines, but I believe we'll overcome this problem 😃 .
@fukatani When you'll have time, please search how to appropriate name wheels according to target platforms and how to post them at PyPI. Or I can do it more later.
The text was updated successfully, but these errors were encountered: