Skip to content

Commit 006b591

Browse files
authored
Merge branch 'master' into typecheck-part-1
2 parents 64fc392 + d0879d8 commit 006b591

File tree

147 files changed

+773
-381
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

147 files changed

+773
-381
lines changed

.github/workflows/codespell.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Codespell configuration is within pyproject.toml
2+
---
3+
name: Codespell
4+
5+
on:
6+
pull_request:
7+
push:
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
codespell:
14+
name: Check for spelling errors
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
- name: Annotate locations with typos
21+
uses: codespell-project/codespell-problem-matcher@v1
22+
- name: Codespell
23+
uses: codespell-project/actions-codespell@v2

.github/workflows/tests.yml

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
- '**.rst'
88

99
jobs:
10-
x86_64:
10+
linux:
1111
runs-on: ${{ matrix.os }}
1212
strategy:
1313
matrix:
@@ -18,8 +18,8 @@ jobs:
1818
python-version: '3.13'
1919
- os: ubuntu-24.04
2020
python-version: 'pypy3.10'
21-
- os: macos-latest
22-
python-version: '3.10'
21+
- os: ubuntu-24.04-arm
22+
python-version: '3.13'
2323

2424
steps:
2525
- name: Checkout pygit2
@@ -31,49 +31,41 @@ jobs:
3131
python-version: ${{ matrix.python-version }}
3232

3333
- name: Linux
34-
if: runner.os == 'Linux'
3534
run: |
3635
sudo apt install tinyproxy
37-
LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.8.4 /bin/sh build.sh test
36+
LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.9.0 /bin/sh build.sh test
3837
39-
- name: macOS
40-
if: runner.os == 'macOS'
41-
run: |
42-
export OPENSSL_PREFIX=`brew --prefix [email protected]`
43-
LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.8.4 /bin/sh build.sh test
44-
45-
aarch64:
38+
linux-s390x:
4639
runs-on: ubuntu-24.04
40+
if: github.ref == 'refs/heads/master'
4741
steps:
4842
- name: Checkout
4943
uses: actions/checkout@v4
5044

5145
- name: Build & test
5246
uses: uraimo/run-on-arch-action@v2
5347
with:
54-
arch: aarch64
48+
arch: s390x
5549
distro: ubuntu22.04
5650
install: |
5751
apt-get update -q -y
5852
apt-get install -q -y cmake libssl-dev python3-dev python3-venv wget
5953
run: |
60-
LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.8.4 /bin/sh build.sh test
54+
LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.9.0 /bin/sh build.sh test
55+
continue-on-error: true # Tests are expected to fail, see issue #812
6156

62-
s390x:
63-
runs-on: ubuntu-24.04
64-
if: github.ref == 'refs/heads/master'
57+
macos-arm64:
58+
runs-on: macos-latest
6559
steps:
66-
- name: Checkout
60+
- name: Checkout pygit2
6761
uses: actions/checkout@v4
6862

69-
- name: Build & test
70-
uses: uraimo/run-on-arch-action@v2
63+
- name: Set up Python
64+
uses: actions/setup-python@v5
7165
with:
72-
arch: s390x
73-
distro: ubuntu22.04
74-
install: |
75-
apt-get update -q -y
76-
apt-get install -q -y cmake libssl-dev python3-dev python3-venv wget
77-
run: |
78-
LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.8.4 /bin/sh build.sh test
79-
continue-on-error: true # Tests are expected to fail, see issue #812
66+
python-version: '3.13'
67+
68+
- name: macOS
69+
run: |
70+
export OPENSSL_PREFIX=`brew --prefix openssl@3`
71+
LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.9.0 /bin/sh build.sh test

.github/workflows/wheels.yml

Lines changed: 42 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,47 +4,80 @@ on:
44
push:
55
branches:
66
- master
7+
- wheels-*
78
tags:
89
- 'v*'
910

1011
jobs:
1112
build_wheels:
12-
name: Build wheels on ${{ matrix.os }}
13+
name: Wheels for ${{ matrix.name }}
1314
runs-on: ${{ matrix.os }}
1415
strategy:
1516
matrix:
1617
include:
17-
- name: linux
18+
- name: linux-amd
1819
os: ubuntu-24.04
20+
- name: linux-arm
21+
os: ubuntu-24.04-arm
1922
- name: macos
20-
os: macos-12
23+
os: macos-13
2124

2225
steps:
2326
- uses: actions/checkout@v4
2427

2528
- uses: actions/setup-python@v5
2629
with:
27-
python-version: '3.10'
30+
python-version: '3.11'
31+
32+
- name: Install cibuildwheel
33+
run: python -m pip install cibuildwheel==2.22.0
34+
35+
- name: Build wheels
36+
run: python -m cibuildwheel --output-dir wheelhouse
37+
env:
38+
CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux_2_28"
39+
CIBW_MANYLINUX_X86_64_IMAGE: "manylinux_2_28"
40+
CIBW_MANYLINUX_PYPY_X86_64_IMAGE: "manylinux_2_28"
41+
CIBW_MANYLINUX_PYPY_AARCH64_IMAGE: "manylinux_2_28"
42+
43+
- uses: actions/upload-artifact@v4
44+
with:
45+
name: wheels-${{ matrix.name }}
46+
path: ./wheelhouse/*.whl
47+
48+
build_wheels_ppc:
49+
name: Wheels for linux-ppc
50+
runs-on: ubuntu-24.04
51+
52+
steps:
53+
- uses: actions/checkout@v4
54+
55+
- uses: actions/setup-python@v5
56+
with:
57+
python-version: '3.11'
2858

2959
- uses: docker/setup-qemu-action@v3
30-
if: runner.os == 'Linux'
3160
with:
32-
platforms: all
61+
platforms: linux/ppc64le
3362

3463
- name: Install cibuildwheel
35-
run: python -m pip install cibuildwheel==2.21.3
64+
run: python -m pip install cibuildwheel==2.22.0
3665

3766
- name: Build wheels
3867
run: python -m cibuildwheel --output-dir wheelhouse
68+
env:
69+
CIBW_ARCHS: ppc64le
70+
CIBW_ENVIRONMENT: LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.9.0 LIBGIT2=/project/ci
71+
CIBW_MANYLINUX_PPC64LE_IMAGE: "manylinux_2_28"
3972

4073
- uses: actions/upload-artifact@v4
4174
with:
42-
name: wheels-${{ matrix.name }}
75+
name: wheels-linux-ppc
4376
path: ./wheelhouse/*.whl
4477

4578
pypi:
4679
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
47-
needs: [build_wheels]
80+
needs: [build_wheels, build_wheels_ppc]
4881
runs-on: ubuntu-24.04
4982

5083
steps:

.mailmap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ J. David Ibáñez <[email protected]> <[email protected]>
1212
Jeremy Westwood <[email protected]>
1313
1414
Kaarel Kitsemets <[email protected]>
15+
1516
1617
1718
@@ -32,6 +33,7 @@ Tamir Bahar <[email protected]> <[email protected]>
3233
3334
Victor Florea <[email protected]>
3435
Vlad Temian <[email protected]>
36+
3537
Wim Jeantine-Glenn <[email protected]>
3638
Xavier Delannoy <[email protected]>
3739

AUTHORS.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ Authors:
111111
Kaarel Kitsemets
112112
Ken Dreyer
113113
Kevin KIN-FOO
114+
Kyle Gottfried
114115
Marcel Waldvogel
115116
Masud Rahman
116117
Mathieu Parent
@@ -174,10 +175,12 @@ Authors:
174175
Jasper Lievisse Adriaanse
175176
Jimisola Laursen
176177
Jiri Benc
178+
Johann Miller
177179
Jonathan Robson
178180
Josh Bleecher Snyder
179181
Julia Evans
180182
Justin Clift
183+
Kevin Valk
181184
Konstantinos Smanis
182185
Kyriakos Oikonomakos
183186
Lance Eftink
@@ -187,6 +190,7 @@ Authors:
187190
Mathieu Bridon
188191
Mathieu Pillard
189192
Matthaus Woolard
193+
Matěj Cepl
190194
Maxwell G
191195
Michał Górny
192196
Na'aman Hirschfeld
@@ -208,6 +212,7 @@ Authors:
208212
Rodrigo Bistolfi
209213
Ross Nicoll
210214
Rui Abreu Ferreira
215+
Rui Chen
211216
Sandro Jäckel
212217
Saul Pwanson
213218
Shane Turner

CHANGELOG.md

Lines changed: 60 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,58 @@
1+
# 1.17.1 (UNRELEASED)
2+
3+
- Upgrade Linux Glibc wheels to `manylinux_2_28`
4+
5+
- Add `RemoteCallbacks.push_transfer_progress(...)` callback
6+
[#1345](https://github.com/libgit2/pygit2/pull/1345)
7+
8+
- New `bool(oid)` and some doc/typing fixes
9+
[#1347](https://github.com/libgit2/pygit2/pull/1347)
10+
11+
- Now `Repository.merge(...)` accepts a commit or reference object
12+
[#1348](https://github.com/libgit2/pygit2/pull/1348)
13+
14+
- Fix when a reference name has non UTF-8 chars
15+
[#1329](https://github.com/libgit2/pygit2/pull/1329)
16+
17+
- Fix condition check in `Repository.remotes.rename(...)`
18+
[#1342](https://github.com/libgit2/pygit2/pull/1342)
19+
20+
- Add codespell workflow, fix a number of typos
21+
[#1344](https://github.com/libgit2/pygit2/pull/1344)
22+
23+
- More typing
24+
[#1343](https://github.com/libgit2/pygit2/pull/1343)
25+
26+
- CI: Use ARM runner for tests and wheels
27+
[#1346](https://github.com/libgit2/pygit2/pull/1346)
28+
29+
Deprecations:
30+
31+
- Passing str to `Repository.merge(...)` is deprecated,
32+
instead pass an oid object (or a commit, or a reference)
33+
34+
35+
# 1.17.0 (2025-01-08)
36+
37+
- Upgrade to libgit2 1.9
38+
39+
- Add `certificate_check` callback to `Remote.ls_remotes(...)`
40+
[#1326](https://github.com/libgit2/pygit2/pull/1326)
41+
42+
- Fix build with GCC 14
43+
[#1324](https://github.com/libgit2/pygit2/pull/1324)
44+
45+
- Release wheels for PyPy
46+
[#1336](https://github.com/libgit2/pygit2/pull/1336)
47+
[#1339](https://github.com/libgit2/pygit2/pull/1339)
48+
49+
- CI: update tests for macOS to use OpenSSL 3
50+
[#1335](https://github.com/libgit2/pygit2/pull/1335)
51+
52+
- Documentation: fix typo in `Repository.status(...)` docstring
53+
[#1327](https://github.com/libgit2/pygit2/pull/1327)
54+
55+
156
# 1.16.0 (2024-10-11)
257

358
- Add support for Python 3.13
@@ -238,7 +293,7 @@ Deprecations:
238293
- New `keep_all` and `paths` optional arguments for
239294
`Repository.stash(...)`
240295
[#1202](https://github.com/libgit2/pygit2/pull/1202)
241-
- New `Respository.state()`
296+
- New `Repository.state()`
242297
[#1204](https://github.com/libgit2/pygit2/pull/1204)
243298
- Improve `Repository.write_archive(...)` performance
244299
[#1183](https://github.com/libgit2/pygit2/pull/1183)
@@ -418,7 +473,7 @@ Breaking changes:
418473

419474
Breaking changes:
420475

421-
- Remove deprecated `GIT_CREDTYPE_XXX` contants, use
476+
- Remove deprecated `GIT_CREDTYPE_XXX` constants, use
422477
`GIT_CREDENTIAL_XXX` instead.
423478
- Remove deprecated `Patch.patch` getter, use `Patch.text` instead.
424479

@@ -515,7 +570,7 @@ Deprecations:
515570

516571
- Deprecate `Repository.create_remote(...)`, use instead
517572
`Repository.remotes.create(...)`
518-
- Deprecate `GIT_CREDTYPE_XXX` contants, use `GIT_CREDENTIAL_XXX`
573+
- Deprecate `GIT_CREDTYPE_XXX` constants, use `GIT_CREDENTIAL_XXX`
519574
instead.
520575

521576
# 1.2.0 (2020-04-05)
@@ -636,7 +691,7 @@ Breaking changes:
636691

637692
Breaking changes:
638693

639-
- Now the Repository has a new attribue `odb` for object database:
694+
- Now the Repository has a new attribute `odb` for object database:
640695

641696
# Before
642697
repository.read(...)
@@ -841,7 +896,7 @@ Other changes:
841896
[#610](https://github.com/libgit2/pygit2/issues/610)
842897
- Fix tests failing in some cases
843898
[#795](https://github.com/libgit2/pygit2/issues/795)
844-
- Automatize wheels upload to pypi
899+
- Automate wheels upload to pypi
845900
[#563](https://github.com/libgit2/pygit2/issues/563)
846901

847902
# 0.27.0 (2018-03-30)

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.PHONY: build html
22

33
build:
4-
OPENSSL_VERSION=3.2.3 LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.8.4 sh build.sh
4+
OPENSSL_VERSION=3.2.3 LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.9.0 sh build.sh
55

66
html: build
77
make -C docs html

appveyor.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: 1.16.{build}
1+
version: 1.17.{build}
22
image: Visual Studio 2019
33
configuration: Release
44
environment:
@@ -35,7 +35,7 @@ build_script:
3535
# Clone, build and install libgit2
3636
- cmd: |
3737
set LIBGIT2=%APPVEYOR_BUILD_FOLDER%\venv
38-
git clone --depth=1 -b v1.8.1 https://github.com/libgit2/libgit2.git libgit2
38+
git clone --depth=1 -b v1.9.0 https://github.com/libgit2/libgit2.git libgit2
3939
cd libgit2
4040
cmake . -DBUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%LIBGIT2%" -G "%GENERATOR%"
4141
cmake --build . --target install

0 commit comments

Comments
 (0)