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

bump cibuildwheel to 2.9.0 to build Python 3.11 wheels, also test on CI #1154

Merged
merged 1 commit into from
Aug 16, 2022

Conversation

skshetry
Copy link
Contributor

@skshetry skshetry commented Aug 13, 2022

Python 3.11.0rc1 is now released, which is guaranteed to be ABI compatible with the final release.
And the cibuildwheel v2.9.0 release includes Python 3.11 and builds wheels by default.

I also added a CI job to test with Python 3.11 in Linux so that any issues are caught. After final
release, we can remove the Python 3.10 version with 3.11 and reduce matrix that we are testing now.

Here's the GHA log for building wheels on my fork: https://github.com/skshetry/pygit2/actions/runs/2851936137.

Python 3.11.0rc1 is now released, which is guaranteed to be ABI compatible with the final release.
And the cibuildwheel v2.9.0 release includes Python 3.11 and builds wheels by default.

I also added a CI job to test with Python 3.11 in Linux so that any issues are caught. After final
release, we can remove the Python 3.10 version with 3.11 and reduce matrix that we are testing now.
@jdavid jdavid merged commit 0ebbda2 into libgit2:master Aug 16, 2022
@skshetry skshetry deleted the py311 branch August 16, 2022 09:25
@skshetry
Copy link
Contributor Author

@jdavid, would it be possible to make a release? 🙂

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Sep 6, 2022
1.10.1 (2022-08-28)
-------------------------

- Fix segfault in ``Signature`` repr
  `#1155 <https://github.com/libgit2/pygit2/pull/1155>`_

- Linux and macOS wheels for Python 3.11
  `#1154 <https://github.com/libgit2/pygit2/pull/1154>`_


1.10.0 (2022-07-24)
-------------------------

- Upgrade to libgit2 1.5

- Add support for ``GIT_OPT_GET_OWNER_VALIDATION`` and
  ``GIT_OPT_SET_OWNER_VALIDATION``
  `#1150 <https://github.com/libgit2/pygit2/pull/1150>`_

- New ``untracked_files`` and ``ignored`` optional arguments for
  ``Repository.status(...)``
  `#1151 <https://github.com/libgit2/pygit2/pull/1151>`_


1.9.2 (2022-05-24)
-------------------------

- New ``Repository.create_commit_string(...)`` and
  ``Repository.create_commit_with_signature(...)``
  `#1142 <https://github.com/libgit2/pygit2/pull/1142>`_

- Linux and macOS wheels updated to libgit2 v1.4.3

- Remove redundant line
  `#1139 <https://github.com/libgit2/pygit2/pull/1139>`_


1.9.1 (2022-03-22)
-------------------------

- Type hints: added to C code and Branches/References
  `#1121 <https://github.com/libgit2/pygit2/pull/1121>`_
  `#1132 <https://github.com/libgit2/pygit2/pull/1132>`_

- New ``Signature`` supports ``str()`` and ``repr()``
  `#1135 <https://github.com/libgit2/pygit2/pull/1135>`_

- Fix ODB backend's read in big endian architectures
  `#1130 <https://github.com/libgit2/pygit2/pull/1130>`_

- Fix install with poetry
  `#1129 <https://github.com/libgit2/pygit2/pull/1129>`_
  `#1128 <https://github.com/libgit2/pygit2/issues/1128>`_

- Wheels: update to libgit2 v1.4.2

- Tests: fix testing ``parse_diff``
  `#1131 <https://github.com/libgit2/pygit2/pull/1131>`_

- CI: various fixes after migration to libgit2 v1.4


1.9.0 (2022-02-22)
-------------------------

- Upgrade to libgit2 v1.4

- Documentation, new recipes for committing and cloning
  `#1125 <https://github.com/libgit2/pygit2/pull/1125>`_


1.8.0 (2022-02-04)
-------------------------

- Rename ``RemoteCallbacks.progress(...)`` callback to ``.sideband_progress(...)``
  `#1120 <https://github.com/libgit2/pygit2/pull/1120>`_

- New ``Repository.merge_base_many(...)`` and ``Repository.merge_base_octopus(...)``
  `#1112 <https://github.com/libgit2/pygit2/pull/1112>`_

- New ``Repository.listall_stashes()``
  `#1117 <https://github.com/libgit2/pygit2/pull/1117>`_

- Code cleanup
  `#1118 <https://github.com/libgit2/pygit2/pull/1118>`_

Backward incompatible changes:

- The ``RemoteCallbacks.progress(...)`` callback has been renamed to
  ``RemoteCallbacks.sideband_progress(...)``. This matches the documentation,
  but may break existing code that still uses the old name.


1.7.2 (2021-12-06)
-------------------------

- Universal wheels for macOS
  `#1109 <https://github.com/libgit2/pygit2/pull/1109>`_


1.7.1 (2021-11-19)
-------------------------

- New ``Repository.amend_commit(...)``
  `#1098 <https://github.com/libgit2/pygit2/pull/1098>`_

- New ``Commit.message_trailers``
  `#1101 <https://github.com/libgit2/pygit2/pull/1101>`_

- Windows wheels for Python 3.10
  `#1103 <https://github.com/libgit2/pygit2/pull/1103>`_

- Changed: now ``DiffDelta.is_binary`` returns ``None`` if the file data has
  not yet been loaded, cf. `#962 <https://github.com/libgit2/pygit2/issues/962>`_

- Document ``Repository.get_attr(...)`` and update theme
  `#1017 <https://github.com/libgit2/pygit2/issues/1017>`_
  `#1105 <https://github.com/libgit2/pygit2/pull/1105>`_


1.7.0 (2021-10-08)
-------------------------

- Upgrade to libgit2 1.3.0
  `#1089 <https://github.com/libgit2/pygit2/pull/1089>`_

- Linux wheels now bundled with libssh2 1.10.0 (instead of 1.9.0)

- macOS wheels now include libssh2

- Add support for Python 3.10
  `#1092 <https://github.com/libgit2/pygit2/pull/1092>`_
  `#1093 <https://github.com/libgit2/pygit2/pull/1093>`_

- Drop support for Python 3.6

- New `pygit2.GIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES`
  `#1087 <https://github.com/libgit2/pygit2/pull/1087>`_

- New optional argument ``location`` in ``Repository.applies(..)`` and
  ``Repository.apply(..)``
  `#1091 <https://github.com/libgit2/pygit2/pull/1091>`_

- Fix: Now the `flags` argument in `Repository.blame()` is passed through
  `#1083 <https://github.com/libgit2/pygit2/pull/1083>`_

- CI: Stop using Travis, move to GitHub actions

Caveats:

- Windows wheels for Python 3.10 not yet available.
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Sep 6, 2022
1.10.1 (2022-08-28)
-------------------------

- Fix segfault in ``Signature`` repr
  `#1155 <https://github.com/libgit2/pygit2/pull/1155>`_

- Linux and macOS wheels for Python 3.11
  `#1154 <https://github.com/libgit2/pygit2/pull/1154>`_


1.10.0 (2022-07-24)
-------------------------

- Upgrade to libgit2 1.5

- Add support for ``GIT_OPT_GET_OWNER_VALIDATION`` and
  ``GIT_OPT_SET_OWNER_VALIDATION``
  `#1150 <https://github.com/libgit2/pygit2/pull/1150>`_

- New ``untracked_files`` and ``ignored`` optional arguments for
  ``Repository.status(...)``
  `#1151 <https://github.com/libgit2/pygit2/pull/1151>`_


1.9.2 (2022-05-24)
-------------------------

- New ``Repository.create_commit_string(...)`` and
  ``Repository.create_commit_with_signature(...)``
  `#1142 <https://github.com/libgit2/pygit2/pull/1142>`_

- Linux and macOS wheels updated to libgit2 v1.4.3

- Remove redundant line
  `#1139 <https://github.com/libgit2/pygit2/pull/1139>`_


1.9.1 (2022-03-22)
-------------------------

- Type hints: added to C code and Branches/References
  `#1121 <https://github.com/libgit2/pygit2/pull/1121>`_
  `#1132 <https://github.com/libgit2/pygit2/pull/1132>`_

- New ``Signature`` supports ``str()`` and ``repr()``
  `#1135 <https://github.com/libgit2/pygit2/pull/1135>`_

- Fix ODB backend's read in big endian architectures
  `#1130 <https://github.com/libgit2/pygit2/pull/1130>`_

- Fix install with poetry
  `#1129 <https://github.com/libgit2/pygit2/pull/1129>`_
  `#1128 <https://github.com/libgit2/pygit2/issues/1128>`_

- Wheels: update to libgit2 v1.4.2

- Tests: fix testing ``parse_diff``
  `#1131 <https://github.com/libgit2/pygit2/pull/1131>`_

- CI: various fixes after migration to libgit2 v1.4


1.9.0 (2022-02-22)
-------------------------

- Upgrade to libgit2 v1.4

- Documentation, new recipes for committing and cloning
  `#1125 <https://github.com/libgit2/pygit2/pull/1125>`_


1.8.0 (2022-02-04)
-------------------------

- Rename ``RemoteCallbacks.progress(...)`` callback to ``.sideband_progress(...)``
  `#1120 <https://github.com/libgit2/pygit2/pull/1120>`_

- New ``Repository.merge_base_many(...)`` and ``Repository.merge_base_octopus(...)``
  `#1112 <https://github.com/libgit2/pygit2/pull/1112>`_

- New ``Repository.listall_stashes()``
  `#1117 <https://github.com/libgit2/pygit2/pull/1117>`_

- Code cleanup
  `#1118 <https://github.com/libgit2/pygit2/pull/1118>`_

Backward incompatible changes:

- The ``RemoteCallbacks.progress(...)`` callback has been renamed to
  ``RemoteCallbacks.sideband_progress(...)``. This matches the documentation,
  but may break existing code that still uses the old name.


1.7.2 (2021-12-06)
-------------------------

- Universal wheels for macOS
  `#1109 <https://github.com/libgit2/pygit2/pull/1109>`_


1.7.1 (2021-11-19)
-------------------------

- New ``Repository.amend_commit(...)``
  `#1098 <https://github.com/libgit2/pygit2/pull/1098>`_

- New ``Commit.message_trailers``
  `#1101 <https://github.com/libgit2/pygit2/pull/1101>`_

- Windows wheels for Python 3.10
  `#1103 <https://github.com/libgit2/pygit2/pull/1103>`_

- Changed: now ``DiffDelta.is_binary`` returns ``None`` if the file data has
  not yet been loaded, cf. `#962 <https://github.com/libgit2/pygit2/issues/962>`_

- Document ``Repository.get_attr(...)`` and update theme
  `#1017 <https://github.com/libgit2/pygit2/issues/1017>`_
  `#1105 <https://github.com/libgit2/pygit2/pull/1105>`_


1.7.0 (2021-10-08)
-------------------------

- Upgrade to libgit2 1.3.0
  `#1089 <https://github.com/libgit2/pygit2/pull/1089>`_

- Linux wheels now bundled with libssh2 1.10.0 (instead of 1.9.0)

- macOS wheels now include libssh2

- Add support for Python 3.10
  `#1092 <https://github.com/libgit2/pygit2/pull/1092>`_
  `#1093 <https://github.com/libgit2/pygit2/pull/1093>`_

- Drop support for Python 3.6

- New `pygit2.GIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES`
  `#1087 <https://github.com/libgit2/pygit2/pull/1087>`_

- New optional argument ``location`` in ``Repository.applies(..)`` and
  ``Repository.apply(..)``
  `#1091 <https://github.com/libgit2/pygit2/pull/1091>`_

- Fix: Now the `flags` argument in `Repository.blame()` is passed through
  `#1083 <https://github.com/libgit2/pygit2/pull/1083>`_

- CI: Stop using Travis, move to GitHub actions

Caveats:

- Windows wheels for Python 3.10 not yet available.
@staciax
Copy link

staciax commented Oct 25, 2022

python 3.11

python : Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32

(venv) PS C:\stacia\coding\bot-private> pip install pygit2                  
Collecting pygit2
  Using cached pygit2-1.10.1.tar.gz (730 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting cffi>=1.9.1
  Using cached cffi-1.15.1-cp311-cp311-win_amd64.whl (179 kB)
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Building wheels for collected packages: pygit2
  Building wheel for pygit2 (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\stacia\coding\bot-private\venv\Scripts\python.exe' 'C:\stacia\coding\bot-private\venv\Lib\site-packages\pip\_vendor\pep517\in_p
rocess\_in_process.py' build_wheel 'C:\Users\deemc\AppData\Local\Temp\tmp5n7k3dgk'
       cwd: C:\Users\deemc\AppData\Local\Temp\pip-install-d5ex1pqv\pygit2_5ae7b6a630be4316a5fe2ee1fbc1bbc1
  Complete output (64 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-cpython-311
  creating build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\blame.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\callbacks.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\config.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\credentials.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\errors.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\ffi.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\index.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\packbuilder.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\refspec.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\remote.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\repository.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\settings.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\submodule.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\utils.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\_build.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\_run.py -> build\lib.win-amd64-cpython-311\pygit2
  copying pygit2\__init__.py -> build\lib.win-amd64-cpython-311\pygit2
  creating build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\attr.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\blame.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\buffer.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\callbacks.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\checkout.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\clone.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\commit.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\common.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\config.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\describe.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\diff.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\errors.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\graph.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\index.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\indexer.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\merge.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\net.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\oid.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\pack.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\proxy.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\refspec.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\remote.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\repository.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\revert.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\stash.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\strarray.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\submodule.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\transport.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\decl\types.h -> build\lib.win-amd64-cpython-311\pygit2\decl
  copying pygit2\_pygit2.pyi -> build\lib.win-amd64-cpython-311\pygit2
  running build_ext
  generating cffi module 'build\\temp.win-amd64-cpython-311\\Release\\pygit2._libgit2.c'
  creating build\temp.win-amd64-cpython-311
  creating build\temp.win-amd64-cpython-311\Release
  building 'pygit2._pygit2' extension
  creating build\temp.win-amd64-cpython-311\Release\src
  "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /
MD "-IC:\Program Files\libgit2\include" -IC:\stacia\coding\bot-private\venv\include -IC:\Users\deemc\AppData\Local\Programs\Python\Python311\in
clude -IC:\Users\deemc\AppData\Local\Programs\Python\Python311\Include "-IC:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSV
C\14.33.31629\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.33.31629\ATLMFC\include" "-IC:\Program File
s\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\P
rogram Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\shared" "-IC:\Pr
ogram Files (x86)\Windows Kits\10\\include\10.0.19041.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\cppwinrt" "-IC
:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcsrc\blob.c /Fobuild\temp.win-amd64-cpython-311\Release\src\blob.obj
  blob.c
  C:\Users\deemc\AppData\Local\Temp\pip-install-d5ex1pqv\pygit2_5ae7b6a630be4316a5fe2ee1fbc1bbc1\src\diff.h(33): fatal error C1083: Cannot open
 include file: 'git2.h': No such file or directory
  error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Tools\\MSVC\\14.33.31629\\bin\\HostX86\\x64\\cl.exe' failed
 with exit code 2
  ----------------------------------------
  ERROR: Failed building wheel for pygit2
Failed to build pygit2
ERROR: Could not build wheels for pygit2, which is required to install pyproject.toml-based projects

@skshetry
Copy link
Contributor Author

@staciax, no wheels for Windows + 3.11 till appveyor adds support to it: appveyor/ci#3844

@staciax
Copy link

staciax commented Oct 25, 2022

@staciax, no wheels for Windows + 3.11 till appveyor adds support to it: appveyor/ci#3844
oh okay thanks you so much ❤️

@skshetry
Copy link
Contributor Author

skshetry commented Nov 9, 2022

v1.11.1 has wheels for Python 3.11 on Windows.

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.

None yet

3 participants