Skip to content
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

Set up individual platform builds #7

Open
tarkatronic opened this issue Mar 11, 2022 · 0 comments
Open

Set up individual platform builds #7

tarkatronic opened this issue Mar 11, 2022 · 0 comments

Comments

@tarkatronic
Copy link
Contributor

Right now, in order to issue a release, we download the latest libasherah bundle from the GitHub project, and include the compiled libraries for all platforms, then release a single wheel that is usable for all Python versions and all platforms. This is producing, currently, a 23mb wheel file.

What we should be doing instead is building the platform-specific libraries at bundle time, and bundling only the necessary libraries. From what I have been able to figure out so far, this will involve:

  1. Add a git submodule for asherah-cobhan
  2. Split the publish workflow to do builds across all supported Python versions and platforms
  • Python 3.7, 3.8, 3.9, 3.10
  • MacOS, Linux
  1. Have the individual builds compile libasherah, then produce version/platform specific wheels
  2. Ensure that libasherah is contained in the sdist

This will end up producing, for example, asherah-0.2.0-cp39-cp39-macosx_11_0_x86_64.whl

Our build/publish time will be massively increased, but wheel size will be massively decreased, and there will be no more magic bundling of external libraries that could stand out as a potential red flag to external folks.

One optimization I would hope for would be that we could produce asherah-0.2.0-py3-macosx_11_0_x86_64.whl. The difference here would be that it's platform dependent, but not python version dependent. I'm just not sure how to make this work, especially with Poetry.

@tarkatronic tarkatronic moved this to Post-MVP in Cobhan-Asherah Mar 11, 2022
@tarkatronic tarkatronic moved this from Post-MVP to MVP in Cobhan-Asherah Mar 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: MVP
Development

No branches or pull requests

1 participant