Skip to content

Conversation

@2bndy5
Copy link
Contributor

@2bndy5 2bndy5 commented Oct 9, 2025

Free-threaded builds are exempt from abi3 builds.

Why?

  1. Reduces CI build time by only building 1 binary wheel for each architecture (and Linux-specific libc variants). This way, wheels are not built separately for each version of python, just the minimum supported python version.
  2. Allows consumers of pygit2 to test their software with pre-releases of Python (excluding free-threaded variants).

Note

Until free-threaded variants supports CPytyhon's Limited API (AKA "abi3" wheels), each new release of python still mandates new release assets of pygit2 for free-threaded python versions (which can be retro-actively uploaded to PyPI if desired).

@2bndy5
Copy link
Contributor Author

2bndy5 commented Oct 9, 2025

@jdavid I'm also working on a solution to build windows distributions with cibuildwheel from the current .github/workflows/wheels.yml workflow (includes x86, x64, and arm64 builds -- see my test-run CI summary). It would replace the current appveyor workflow. But, I would like to get this in first since it reduces the CI runtime.

Free-threaded builds are exempt from abi3 builds
@jdavid jdavid merged commit 5f655b7 into libgit2:master Oct 9, 2025
8 checks passed
@2bndy5 2bndy5 deleted the abi3-wheels branch October 9, 2025 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

New Python versions always require a pygit2 upgrade

2 participants