Skip to content

Precompile Wheels for Different OS and Python Versions Before Publishing to PyPI #348

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

Merged
merged 2 commits into from
Jul 31, 2025

Conversation

f-allian
Copy link
Contributor

@f-allian f-allian commented Jul 30, 2025

- Fixes to our CD pipeline. The workflow now builds and publishes Python wheels for multiple operating systems and Python versions.
- It uses cibuildwheel to generate wheels for Ubuntu, macOS (including Apple Silicon arm64), and Windows, supporting Python 3.10, 3.11, and 3.12.
- Source distribution is included for completeness.
- All artifacts are collected and published to PyPI, ensuring all modern CPU architectures are covered too.
- Ultimately, users don't need to have compilers (such as Microsoft C++) installed to compile the CTF. Closes #347 and #343

This PR did not resolve the problem - the problem is as runtime not build time -> conda environment will probably resolve this.

@f-allian f-allian requested a review from jmafoster1 July 30, 2025 19:14
@f-allian f-allian self-assigned this Jul 30, 2025
@f-allian f-allian added the enhancement New feature or request label Jul 30, 2025
Copy link

github-actions bot commented Jul 30, 2025

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Elapsed time
✅ PYTHON black 32 0 0.98s
✅ PYTHON pylint 32 0 6.0s

See detailed report in MegaLinter reports

MegaLinter is graciously provided by OX Security

Copy link

codecov bot commented Jul 30, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.78%. Comparing base (b1ce6db) to head (18b5bdd).
⚠️ Report is 15 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #348      +/-   ##
==========================================
+ Coverage   95.75%   95.78%   +0.02%     
==========================================
  Files          27       27              
  Lines        1627     1638      +11     
==========================================
+ Hits         1558     1569      +11     
  Misses         69       69              

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0db9294...18b5bdd. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@jmafoster1 jmafoster1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Farhad, hopefully this will resolve the Windows installation issues.

@f-allian f-allian merged commit a08e72b into main Jul 31, 2025
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build platform-specific wheels to avoid dependency compilation issues on Windows
2 participants