-
Notifications
You must be signed in to change notification settings - Fork 43
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
Add basic "build nightly wheels" instructions #185
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll commit the linter fixes, which hopefully will trigger netlify and the rendering.
1. Get access to the area that nightly wheels are uploaded to | ||
2. Setup a CI step that builds wheels for your project | ||
3. Setup a CI step that uploads wheels to https://anaconda.org/scientific-python-nightly-wheels/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would reorder these and put no2 in the first position as no1 and no3 kind of belongs together
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should expectation of what is a "minimally viable" wheel look like? Example: At the very least, please publish manylinux wheel and so on?
Maybe have a section that lists your core projects with wheels so people can use them as examples? Or maybe point to a package template with that info?
they find. | ||
|
||
There are a few steps to implementing this for your project: | ||
1. Get access to the area that nightly wheels are uploaded to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs to be elaborated. Which area? What URL?
|
||
There are a few steps to implementing this for your project: | ||
1. Get access to the area that nightly wheels are uploaded to | ||
2. Setup a CI step that builds wheels for your project |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be nice to link to some doc that teaches people how to build wheel for universal (pure Python) and specific arch (if they have Cython, C-ext, Fortran, etc). Perhaps already some guides out there? Eyes the cookiecutters group...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you know a good guide? I don't unfortunately.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not hold up the PR on this, after all we're really focusing on the core or big libraries here, if they have complex dependencies, they should have figured out their builds already for normal releases.
2. Setup a CI step that builds wheels for your project | ||
3. Setup a CI step that uploads wheels to https://anaconda.org/scientific-python-nightly-wheels/ | ||
|
||
For step (1) contact XXX. Deposit the token you get as a [secret on your repository](https://docs.github.com/en/actions/security-guides/encrypted-secrets) named `UPLOAD_TOKEN`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Put a placeholder so #168 can be mentioned here when it is accepted?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know what is best here. In some way there is no need for this token to be stored in a readable way. If for some reason you need the value of the token you can have it regenerated. However, people might not realise that the GitHub Secrets are read-only?
|
||
For step (1) contact XXX. Deposit the token you get as a [secret on your repository](https://docs.github.com/en/actions/security-guides/encrypted-secrets) named `UPLOAD_TOKEN`. | ||
|
||
The work for step (2) depends on your project. You are probably already doing this for your |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, I am not sure if you should make this assumption. A lot of smaller project might just push their sdist tarball and call it a release. Maybe link to some external doc related to Python releases?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know what good advice to give to people about this is. Should we tell people to use https://cibuildwheel.readthedocs.io/en/stable/?
once a week. | ||
|
||
For step (3) there is a GitHub Action that you can use. You can find the action at | ||
https://github.com/scientific-python/upload-nightly-action. To use it in your "build wheels |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks pretty barebones. Any interest to adopt or collaborate with https://github.com/OpenAstronomy/github-actions-workflows ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something for @Carreau maybe who created the GitHub action
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, we can look into that as well. No particular objections. Those action seem pretty complex ?
I'm opening issues for core projects that don't yet test with dev upstream, it would be super useful to be able to link to this docs, even if it's the unfinished version. So, can I merge as is with the understanding of we'll follow-up with the comments above? |
This adds a basic amount of instructions for how to build and upload nightly wheels for your project.
This is a start, we probably need to flesh it out a bit, but we need some kind of starting point :D
I sorted the authors alphabetically by surname. If there is some other sorting mechanism you prefer let me know.