From f1c91c277f1baac2ca8d60dd1e45361551ad3140 Mon Sep 17 00:00:00 2001 From: Tres Seaver Date: Wed, 22 Dec 2021 15:13:37 -0500 Subject: [PATCH 01/24] feat: add 'py.typed' declaration (#119) Check typing under CI using new 'mypy' nox session. --- .github/workflows/presubmit.yml | 16 ++++++++++++++++ mypy.ini | 3 +++ noxfile.py | 12 ++++++++++++ src/google_crc32c/__init__.py | 2 +- src/google_crc32c/cext.py | 6 +++--- src/google_crc32c/py.typed | 2 ++ tests/test___init__.py | 2 +- 7 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 mypy.ini create mode 100644 src/google_crc32c/py.typed diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index 1158c765..a9a0eb2f 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -7,6 +7,22 @@ on: jobs: + mypy: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: "3.6" + - name: Install nox + run: | + python -m ensurepip + python -m pip install nox + - name: Run mypy + run: | + nox -s mypy + build-wheels-linux: name: ${{ matrix.os }} strategy: diff --git a/mypy.ini b/mypy.ini new file mode 100644 index 00000000..19d08026 --- /dev/null +++ b/mypy.ini @@ -0,0 +1,3 @@ +[mypy] +python_version = 3.6 +exclude = tests/unit/resources/ diff --git a/noxfile.py b/noxfile.py index 2648c42c..1d247094 100644 --- a/noxfile.py +++ b/noxfile.py @@ -47,3 +47,15 @@ def check(session): # Run py.test against the unit tests. session.run("py.test", "tests") session.run("python", f"{HERE}/scripts/check_crc32c_extension.py", *session.posargs) + + +@nox.session(python="3.6") +def mypy(session): + """Verify type hints are mypy compatible.""" + session.install("-e", ".") + session.install( + "mypy", + "types-mock", + "types-setuptools", + ) + session.run("mypy", "src/google_crc32c/", "tests/") diff --git a/src/google_crc32c/__init__.py b/src/google_crc32c/__init__.py index 272b001e..cae23411 100644 --- a/src/google_crc32c/__init__.py +++ b/src/google_crc32c/__init__.py @@ -25,7 +25,7 @@ from google_crc32c import cext as impl implementation = "c" except ImportError as exc: - from google_crc32c import python as impl + from google_crc32c import python as impl # type: ignore warnings.warn(_SLOW_CRC32C_WARNING, RuntimeWarning) implementation = "python" diff --git a/src/google_crc32c/cext.py b/src/google_crc32c/cext.py index d7c452d6..4a764e38 100644 --- a/src/google_crc32c/cext.py +++ b/src/google_crc32c/cext.py @@ -16,9 +16,9 @@ # NOTE: ``__config__`` **must** be the first import because it (may) # modify the search path used to locate shared libraries. -import google_crc32c.__config__ -from google_crc32c._crc32c import extend -from google_crc32c._crc32c import value +import google_crc32c.__config__ # type: ignore +from google_crc32c._crc32c import extend # type: ignore +from google_crc32c._crc32c import value # type: ignore from google_crc32c._checksum import CommonChecksum diff --git a/src/google_crc32c/py.typed b/src/google_crc32c/py.typed new file mode 100644 index 00000000..076325e2 --- /dev/null +++ b/src/google_crc32c/py.typed @@ -0,0 +1,2 @@ +# Marker file for PEP 561. +# The google_crc32c package uses inline types. diff --git a/tests/test___init__.py b/tests/test___init__.py index e7c44066..327713da 100644 --- a/tests/test___init__.py +++ b/tests/test___init__.py @@ -15,7 +15,7 @@ import itertools from unittest import mock -import pytest +import pytest # type: ignore import google_crc32c From 7e6ec40dfa6006667111189df2223457951f9743 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 7 Mar 2022 17:16:09 +0100 Subject: [PATCH 02/24] chore(deps): update actions/checkout action to v3 (#123) --- .github/workflows/presubmit.yml | 8 ++++---- .github/workflows/python-publish.yml | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index a9a0eb2f..459802fe 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -10,7 +10,7 @@ jobs: mypy: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v2 with: @@ -32,7 +32,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' @@ -79,7 +79,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' @@ -147,7 +147,7 @@ jobs: steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 7d41d4b4..39f9f458 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -13,7 +13,7 @@ jobs: build-source-distribution: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v2 - name: Build @@ -32,7 +32,7 @@ jobs: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' @@ -82,7 +82,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' @@ -133,7 +133,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' @@ -197,7 +197,7 @@ jobs: steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'recursive' From cb35f279f62ea21e0a722046717d88d65a39808b Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 8 Mar 2022 02:27:07 +0100 Subject: [PATCH 03/24] chore(deps): update actions/upload-artifact action to v3 (#127) --- .github/workflows/presubmit.yml | 6 +++--- .github/workflows/python-publish.yml | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index 459802fe..51e21dc7 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -63,7 +63,7 @@ jobs: CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: py.test -v {project}/tests/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: python-package-distributions path: wheelhouse/ @@ -126,7 +126,7 @@ jobs: CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: py.test -v {project}/tests/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: python-package-distributions path: wheelhouse/ @@ -210,7 +210,7 @@ jobs: CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: py.test -v {project}/tests - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: python-package-distributions path: wheelhouse/ diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 39f9f458..5828e062 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -18,7 +18,7 @@ jobs: uses: actions/setup-python@v2 - name: Build run: python setup.py sdist - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: python-package-distributions path: dist/ @@ -62,7 +62,7 @@ jobs: CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: py.test -v {project}/tests/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: python-package-distributions path: wheelhouse/ @@ -115,7 +115,7 @@ jobs: CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: py.test -v {project}/tests/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: python-package-distributions path: wheelhouse/ @@ -177,7 +177,7 @@ jobs: CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: py.test -v {project}/tests/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: python-package-distributions path: wheelhouse/ @@ -252,7 +252,7 @@ jobs: CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: py.test -v {project}/tests - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: python-package-distributions path: wheelhouse/ From 95ea5495aa75fd7454008b10fd4abdeba67ebdc8 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 8 Mar 2022 18:35:53 +0100 Subject: [PATCH 04/24] chore(deps): update actions/setup-python action to v3 (#126) Co-authored-by: Anthonios Partheniou --- .github/workflows/presubmit.yml | 2 +- .github/workflows/python-publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index 51e21dc7..2bd71553 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: "3.6" - name: Install nox diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 5828e062..7765f548 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 - name: Build run: python setup.py sdist - uses: actions/upload-artifact@v3 From 79ae5fecd135319314fa79af25d8bebabf506753 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 9 Mar 2022 00:19:55 +0100 Subject: [PATCH 05/24] chore(deps): update actions/download-artifact action to v3 (#125) Co-authored-by: Anthonios Partheniou --- .github/workflows/python-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 7765f548..ffd5004f 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -269,12 +269,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Download all the dists - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: python-package-distributions path: dist/ - name: Download all the wheels - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: python-package-distributions path: wheelhouse/ From cbea7186ea06c32c19c56f222435447d3a3e18bc Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 9 Mar 2022 12:29:07 +0100 Subject: [PATCH 06/24] chore(deps): update pypa/cibuildwheel action to v2.3.1 (#122) Co-authored-by: Anthonios Partheniou --- .github/workflows/presubmit.yml | 6 +++--- .github/workflows/python-publish.yml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index 2bd71553..d1badc31 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@v2.1.1 + uses: pypa/cibuildwheel@v2.3.1 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -113,7 +113,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@v2.1.1 + uses: pypa/cibuildwheel@v2.3.1 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -200,7 +200,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@v2.1.1 + uses: pypa/cibuildwheel@v2.3.1 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} # For presubmit, skip build / test for pypy diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index ffd5004f..3427d35b 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@v2.1.1 + uses: pypa/cibuildwheel@v2.3.1 env: CIBW_ARCHS_LINUX: x86_64 CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 @@ -92,7 +92,7 @@ jobs: uses: docker/setup-qemu-action@v1 - name: Build Wheels - uses: pypa/cibuildwheel@v2.1.1 + uses: pypa/cibuildwheel@v2.3.1 env: CIBW_ARCHS_LINUX: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -167,7 +167,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@v2.1.1 + uses: pypa/cibuildwheel@v2.3.1 env: CIBW_ARCHS_MACOS: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -242,7 +242,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@v2.1.1 + uses: pypa/cibuildwheel@v2.3.1 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} CIBW_ENVIRONMENT: > From c21cb8923728801d732c11f6531a2415a1e5cd3f Mon Sep 17 00:00:00 2001 From: Arie Bovenberg Date: Thu, 10 Mar 2022 02:11:25 +0100 Subject: [PATCH 07/24] fix: add empty slots to CommonChecksum (#121) Co-authored-by: Anthonios Partheniou --- src/google_crc32c/_checksum.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/google_crc32c/_checksum.py b/src/google_crc32c/_checksum.py index fa299c7c..51767467 100644 --- a/src/google_crc32c/_checksum.py +++ b/src/google_crc32c/_checksum.py @@ -24,6 +24,7 @@ class CommonChecksum(object): initial_value (Optional[bytes]): the initial chunk of data from which the CRC32C checksum is computed. Defaults to b''. """ + __slots__ = () def __init__(self, initial_value=b""): self._crc = 0 From 1eec92a0ff9e20fcd22d2317a8c3d62ecf8c5c5f Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 10 Mar 2022 12:49:04 -0500 Subject: [PATCH 08/24] chore(main): release 1.4.0 (#124) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- CHANGELOG.md | 12 ++++++++++++ setup.cfg | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 924eb8e9..61d426cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,18 @@ [1]: https://pypi.org/project/google-crc32c/#history +## [1.4.0](https://github.com/googleapis/python-crc32c/compare/v1.3.0...v1.4.0) (2022-03-10) + + +### Features + +* add 'py.typed' declaration ([#119](https://github.com/googleapis/python-crc32c/issues/119)) ([f1c91c2](https://github.com/googleapis/python-crc32c/commit/f1c91c277f1baac2ca8d60dd1e45361551ad3140)) + + +### Bug Fixes + +* add empty slots to CommonChecksum ([#121](https://github.com/googleapis/python-crc32c/issues/121)) ([c21cb89](https://github.com/googleapis/python-crc32c/commit/c21cb8923728801d732c11f6531a2415a1e5cd3f)) + ## [1.3.0](https://www.github.com/googleapis/python-crc32c/compare/v1.2.0...v1.3.0) (2021-10-05) diff --git a/setup.cfg b/setup.cfg index 02fa4e84..bc45ab8a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -14,7 +14,7 @@ [metadata] name = google-crc32c -version = 1.3.0 +version = 1.4.0 description = A python wrapper of the C library 'Google CRC32C' url = https://github.com/googleapis/python-crc32c long_description = file: README.md From d303f651a105d4e97b967fc0412d5dbb70f2b785 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 23 Mar 2022 10:22:44 +0100 Subject: [PATCH 09/24] chore(deps): update actions/cache action to v3 (#129) --- .github/workflows/presubmit.yml | 4 ++-- .github/workflows/python-publish.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index d1badc31..48a1c7cd 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -90,7 +90,7 @@ jobs: - id: load-cache name: Load cached C library - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ github.workspace }}/usr key: @@ -158,7 +158,7 @@ jobs: - id: load-cache name: Load cached C library - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ github.workspace }}\usr key: diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 3427d35b..cc89c0ee 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -144,7 +144,7 @@ jobs: - id: load-cache name: Load cached C library - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ github.workspace }}/usr key: @@ -208,7 +208,7 @@ jobs: - id: load-cache name: Load cached C library - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ github.workspace }}\usr key: From 194c2863a67ff6685be6c9f30f660fecec891dd6 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sun, 3 Apr 2022 21:39:53 +0200 Subject: [PATCH 10/24] chore(deps): update pypa/cibuildwheel action to v2.4.0 (#130) --- .github/workflows/presubmit.yml | 6 +++--- .github/workflows/python-publish.yml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index 48a1c7cd..a304504c 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@v2.3.1 + uses: pypa/cibuildwheel@v2.4.0 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -113,7 +113,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@v2.3.1 + uses: pypa/cibuildwheel@v2.4.0 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -200,7 +200,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@v2.3.1 + uses: pypa/cibuildwheel@v2.4.0 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} # For presubmit, skip build / test for pypy diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index cc89c0ee..eb9ac7ca 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@v2.3.1 + uses: pypa/cibuildwheel@v2.4.0 env: CIBW_ARCHS_LINUX: x86_64 CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 @@ -92,7 +92,7 @@ jobs: uses: docker/setup-qemu-action@v1 - name: Build Wheels - uses: pypa/cibuildwheel@v2.3.1 + uses: pypa/cibuildwheel@v2.4.0 env: CIBW_ARCHS_LINUX: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -167,7 +167,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@v2.3.1 + uses: pypa/cibuildwheel@v2.4.0 env: CIBW_ARCHS_MACOS: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -242,7 +242,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@v2.3.1 + uses: pypa/cibuildwheel@v2.4.0 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} CIBW_ENVIRONMENT: > From a92134dd51cb5dfe667698595420682e929e8a48 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 29 Apr 2022 19:02:38 +0200 Subject: [PATCH 11/24] chore(deps): update pypa/cibuildwheel action to v2.5.0 (#132) --- .github/workflows/presubmit.yml | 6 +++--- .github/workflows/python-publish.yml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index a304504c..b56fd7a7 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@v2.4.0 + uses: pypa/cibuildwheel@2.5.0 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -113,7 +113,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@v2.4.0 + uses: pypa/cibuildwheel@2.5.0 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -200,7 +200,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@v2.4.0 + uses: pypa/cibuildwheel@2.5.0 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} # For presubmit, skip build / test for pypy diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index eb9ac7ca..7165e914 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@v2.4.0 + uses: pypa/cibuildwheel@2.5.0 env: CIBW_ARCHS_LINUX: x86_64 CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 @@ -92,7 +92,7 @@ jobs: uses: docker/setup-qemu-action@v1 - name: Build Wheels - uses: pypa/cibuildwheel@v2.4.0 + uses: pypa/cibuildwheel@2.5.0 env: CIBW_ARCHS_LINUX: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -167,7 +167,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@v2.4.0 + uses: pypa/cibuildwheel@2.5.0 env: CIBW_ARCHS_MACOS: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -242,7 +242,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@v2.4.0 + uses: pypa/cibuildwheel@2.5.0 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} CIBW_ENVIRONMENT: > From a595e758c08df445a99c3bf132ee8e80a3ec4308 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 5 May 2022 20:12:53 +0200 Subject: [PATCH 12/24] chore(deps): update docker/setup-qemu-action action to v2 (#133) --- .github/workflows/python-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 7165e914..6a27275c 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -89,7 +89,7 @@ jobs: - name: Set up QEMU for ARM64 cross compile if: ${{ matrix.arch }} == 'aarch64' id: qemu - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v2 - name: Build Wheels uses: pypa/cibuildwheel@2.5.0 From 964f33b993dad79a392dae0a223b390c7f7558b0 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 25 May 2022 22:35:27 +0200 Subject: [PATCH 13/24] chore(deps): update pypa/cibuildwheel action to v2.6.0 (#135) --- .github/workflows/presubmit.yml | 6 +++--- .github/workflows/python-publish.yml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index b56fd7a7..5a20724d 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@2.5.0 + uses: pypa/cibuildwheel@2.6.0 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -113,7 +113,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@2.5.0 + uses: pypa/cibuildwheel@2.6.0 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -200,7 +200,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@2.5.0 + uses: pypa/cibuildwheel@2.6.0 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} # For presubmit, skip build / test for pypy diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 6a27275c..9c35abce 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@2.5.0 + uses: pypa/cibuildwheel@2.6.0 env: CIBW_ARCHS_LINUX: x86_64 CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 @@ -92,7 +92,7 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Build Wheels - uses: pypa/cibuildwheel@2.5.0 + uses: pypa/cibuildwheel@2.6.0 env: CIBW_ARCHS_LINUX: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -167,7 +167,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@2.5.0 + uses: pypa/cibuildwheel@2.6.0 env: CIBW_ARCHS_MACOS: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -242,7 +242,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@2.5.0 + uses: pypa/cibuildwheel@2.6.0 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} CIBW_ENVIRONMENT: > From 0fb3b88131aeee316e6d6f607fa32ec4767e4386 Mon Sep 17 00:00:00 2001 From: Dan Lee <71398022+dandhlee@users.noreply.github.com> Date: Thu, 2 Jun 2022 20:44:46 -0400 Subject: [PATCH 14/24] docs: fix changelog header to consistent size (#136) --- CHANGELOG.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61d426cd..b52ef36c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,7 +35,7 @@ * update list of supported wheel platforms / architectures ([#105](https://www.github.com/googleapis/python-crc32c/issues/105)) ([edc8d2d](https://www.github.com/googleapis/python-crc32c/commit/edc8d2dbe643f0c2bf1180f855e1585b0e81bdba)) -### [1.1.5](https://www.github.com/googleapis/python-crc32c/compare/v1.1.4...v1.1.5) (2021-09-07) +## [1.1.5](https://www.github.com/googleapis/python-crc32c/compare/v1.1.4...v1.1.5) (2021-09-07) ### Bug Fixes @@ -43,7 +43,7 @@ * revert to silent fallback to pure-Python build ([#93](https://www.github.com/googleapis/python-crc32c/issues/93)) ([789a420](https://www.github.com/googleapis/python-crc32c/commit/789a4203648d1b43f060332510177cf3867f82c4)) * fix segfault on MacOS 11 ("Big Sur") for Python < 3.9 ([#93](https://www.github.com/googleapis/python-crc32c/issues/93)) ([789a420](https://www.github.com/googleapis/python-crc32c/commit/789a4203648d1b43f060332510177cf3867f82c4)) -### [1.1.4](https://www.github.com/googleapis/python-crc32c/compare/v1.1.4...v1.1.4) (2021-09-02) +## [1.1.4](https://www.github.com/googleapis/python-crc32c/compare/v1.1.4...v1.1.4) (2021-09-02) ### Bug Fixes @@ -52,7 +52,7 @@ * restore building 'manylinux1' wheels ([#87](https://www.github.com/googleapis/python-crc32c/issues/87)) ([ebb9c68](https://www.github.com/googleapis/python-crc32c/commit/ebb9c68aca66e6b89d832e9e237679ac8b9ad344)) * use correct Python 3.10 specifier ([#88](https://www.github.com/googleapis/python-crc32c/issues/88)) ([0c1b740](https://www.github.com/googleapis/python-crc32c/commit/0c1b740c195caed8ac1e67fc38d87073223a6b3d)) -### [1.1.4](https://www.github.com/googleapis/python-crc32c/compare/v1.1.3...v1.1.4) (2021-09-01) +## [1.1.4](https://www.github.com/googleapis/python-crc32c/compare/v1.1.3...v1.1.4) (2021-09-01) ### Bug Fixes @@ -60,14 +60,14 @@ * advise setting 'CRC32C_PURE_PYTHON' after build failure ([#84](https://www.github.com/googleapis/python-crc32c/issues/84)) ([6aa1cd6](https://www.github.com/googleapis/python-crc32c/commit/6aa1cd69376b57fbc9bc2c470ed63a270279623d)) * restore building 'manylinux1' wheels ([#87](https://www.github.com/googleapis/python-crc32c/issues/87)) ([ebb9c68](https://www.github.com/googleapis/python-crc32c/commit/ebb9c68aca66e6b89d832e9e237679ac8b9ad344)) -### [1.1.3](https://www.github.com/googleapis/python-crc32c/compare/v1.1.2...v1.1.3) (2021-08-30) +## [1.1.3](https://www.github.com/googleapis/python-crc32c/compare/v1.1.2...v1.1.3) (2021-08-30) ### Performance Improvements * replace CFFI with a native C extension ([#76](https://www.github.com/googleapis/python-crc32c/issues/76)) ([b1bf461](https://www.github.com/googleapis/python-crc32c/commit/b1bf461cc0539962ac16a62860cae3cd2384cb4f)) -### [1.1.2](https://www.github.com/googleapis/python-crc32c/compare/v1.1.1...v1.1.2) (2021-01-20) +## [1.1.2](https://www.github.com/googleapis/python-crc32c/compare/v1.1.1...v1.1.2) (2021-01-20) ### Bug Fixes @@ -80,7 +80,7 @@ * add aarch64 to the readme as produced wheels ([#62](https://www.github.com/googleapis/python-crc32c/issues/62)) ([4ef317d](https://www.github.com/googleapis/python-crc32c/commit/4ef317d0efcd654842d17e03749b801303c8bc30)) -### [1.1.1](https://www.github.com/googleapis/python-crc32c/compare/v1.1.0...v1.1.1) (2021-01-14) +## [1.1.1](https://www.github.com/googleapis/python-crc32c/compare/v1.1.0...v1.1.1) (2021-01-14) ### Bug Fixes @@ -104,7 +104,7 @@ * add LICENSE to package manifest ([#34](https://www.github.com/googleapis/python-crc32c/issues/34)) ([6c8883b](https://www.github.com/googleapis/python-crc32c/commit/6c8883b2c41aaa6f0dd5991896ad58e73f516182)) -### [1.0.0](https://www.github.com/googleapis/python-crc32c/compare/v0.1.0...v1.0.0) (2020-08-07) +## [1.0.0](https://www.github.com/googleapis/python-crc32c/compare/v0.1.0...v1.0.0) (2020-08-07) ### Breaking Changes * prefix module name with 'google_' to avoid conflict with ICRAR version ([#30](https://www.github.com/googleapis/python-crc32c/issues/30)) ([b50f43e](https://www.github.com/googleapis/python-crc32c/commit/b50f43e7bc40d91ccdade9ccc577a93c0ed05f3a)), closes [#29](https://www.github.com/googleapis/python-crc32c/issues/29) From 12059b53faaf22b684c323b9ad7a8a2ef96ac120 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 15 Jul 2022 16:48:31 +0200 Subject: [PATCH 15/24] chore(deps): update actions/setup-python action to v4 (#138) --- .github/workflows/presubmit.yml | 2 +- .github/workflows/python-publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index 5a20724d..4535c38b 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Set up Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: "3.6" - name: Install nox diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 9c35abce..9b992277 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Set up Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 - name: Build run: python setup.py sdist - uses: actions/upload-artifact@v3 From 32eefef8b96f9994e1ba4b3e60b91dc809d25fea Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 15 Jul 2022 18:11:19 +0200 Subject: [PATCH 16/24] chore(deps): update pypa/cibuildwheel action to v2.8.0 (#137) Co-authored-by: Anthonios Partheniou --- .github/workflows/presubmit.yml | 6 +++--- .github/workflows/python-publish.yml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index 4535c38b..ac7880f9 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@2.6.0 + uses: pypa/cibuildwheel@v2.8.0 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -113,7 +113,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@2.6.0 + uses: pypa/cibuildwheel@v2.8.0 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -200,7 +200,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@2.6.0 + uses: pypa/cibuildwheel@v2.8.0 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} # For presubmit, skip build / test for pypy diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 9b992277..b27607b2 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@2.6.0 + uses: pypa/cibuildwheel@v2.8.0 env: CIBW_ARCHS_LINUX: x86_64 CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 @@ -92,7 +92,7 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Build Wheels - uses: pypa/cibuildwheel@2.6.0 + uses: pypa/cibuildwheel@v2.8.0 env: CIBW_ARCHS_LINUX: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -167,7 +167,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@2.6.0 + uses: pypa/cibuildwheel@v2.8.0 env: CIBW_ARCHS_MACOS: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -242,7 +242,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@2.6.0 + uses: pypa/cibuildwheel@v2.8.0 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} CIBW_ENVIRONMENT: > From 9be2d165b3ed7861e5329c305ab192d65b61b18f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 2 Aug 2022 16:12:44 +0200 Subject: [PATCH 17/24] chore(deps): update pypa/cibuildwheel action to v2.8.1 (#140) --- .github/workflows/presubmit.yml | 6 +++--- .github/workflows/python-publish.yml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index ac7880f9..9ad65ceb 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.0 + uses: pypa/cibuildwheel@v2.8.1 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -113,7 +113,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.0 + uses: pypa/cibuildwheel@v2.8.1 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -200,7 +200,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.0 + uses: pypa/cibuildwheel@v2.8.1 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} # For presubmit, skip build / test for pypy diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index b27607b2..82634c13 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.0 + uses: pypa/cibuildwheel@v2.8.1 env: CIBW_ARCHS_LINUX: x86_64 CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 @@ -92,7 +92,7 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.0 + uses: pypa/cibuildwheel@v2.8.1 env: CIBW_ARCHS_LINUX: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -167,7 +167,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.0 + uses: pypa/cibuildwheel@v2.8.1 env: CIBW_ARCHS_MACOS: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -242,7 +242,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.0 + uses: pypa/cibuildwheel@v2.8.1 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} CIBW_ENVIRONMENT: > From 6df4e4fa01d3130714750eeac784d79bf7b9e729 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 12 Aug 2022 01:12:51 +0200 Subject: [PATCH 18/24] chore(deps): update pypa/cibuildwheel action to v2.9.0 (#141) --- .github/workflows/presubmit.yml | 6 +++--- .github/workflows/python-publish.yml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index 9ad65ceb..17ba5d13 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -113,7 +113,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 env: # For presubmit, just build / test the most common arch CIBW_ARCHS: native @@ -200,7 +200,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} # For presubmit, skip build / test for pypy diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 82634c13..7086c7e0 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -37,7 +37,7 @@ jobs: submodules: 'recursive' - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 env: CIBW_ARCHS_LINUX: x86_64 CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 @@ -92,7 +92,7 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 env: CIBW_ARCHS_LINUX: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -167,7 +167,7 @@ jobs: make -C build all install - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 env: CIBW_ARCHS_MACOS: ${{ matrix.arch }} CIBW_ENVIRONMENT: > @@ -242,7 +242,7 @@ jobs: fi - name: Build Wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 env: CIBW_ARCHS_WINDOWS: ${{ steps.platform-arch.outputs.arch }} CIBW_ENVIRONMENT: > From 17dbc5506855a14d54ceac6962be2ff613a04608 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 29 Aug 2022 17:35:17 +0200 Subject: [PATCH 19/24] chore: Update google crc32c to 1.1.2 (#142) This fixes aarch64 musllinux wheels build issue. --- google_crc32c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google_crc32c b/google_crc32c index 75e82b8b..02e65f4f 160000 --- a/google_crc32c +++ b/google_crc32c @@ -1 +1 @@ -Subproject commit 75e82b8bc35fd013a6220427e7f61f8adeebf9b7 +Subproject commit 02e65f4fd3065d27b2e29324800ca6d04df16126 From 59cc99b3446a60b057845df1e432fc59ffaf885e Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 29 Aug 2022 19:16:07 +0200 Subject: [PATCH 20/24] ci: fix manylinux1 build (#143) * chore: Update google crc32c to 1.1.2 This fixes aarch64 musllinux wheels build issue. * ci: fix manylinux1 build * fix typo * revert Co-authored-by: Anthonios Partheniou --- .github/workflows/python-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 7086c7e0..bb5c3e78 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -41,7 +41,7 @@ jobs: env: CIBW_ARCHS_LINUX: x86_64 CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 - CIBW_SKIP: "cp310-*" # manylinux1 has no support for 3.10.x Python + CIBW_BUILD: "cp3[6-9]-manylinux*" # manylinux1 has no support for 3.10+ Python or PyPy CIBW_ENVIRONMENT: > CRC32C_PURE_PYTHON="0" CRC32C_INSTALL_PREFIX="$(pwd)/usr" @@ -51,7 +51,7 @@ jobs: # be able to link with it. CIBW_BEFORE_BUILD: > python -m pip install --upgrade setuptools pip wheel && - python -m pip install cmake && + python -m pip install --only-binary cmake cmake && cmake -S google_crc32c -B build \ -DCMAKE_BUILD_TYPE=Release \ -DCRC32C_BUILD_TESTS=no \ From 63f5166815682d3430a771c51c7fd5a81d2fd259 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 31 Aug 2022 16:35:16 +0200 Subject: [PATCH 21/24] feat: add support for Python 3.11 (#144) * chore: Update google crc32c to 1.1.2 This fixes aarch64 musllinux wheels build issue. * ci: fix manylinux1 build * feat: add support for Python 3.11 Co-authored-by: Anthonios Partheniou --- noxfile.py | 4 ++-- setup.cfg | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/noxfile.py b/noxfile.py index 1d247094..1e146a42 100644 --- a/noxfile.py +++ b/noxfile.py @@ -24,7 +24,7 @@ HERE = os.path.dirname(__file__) -@nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10"]) +@nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]) def build_libcrc32c(session): session.env["PY_BIN"] = f"python{session.python}" session.env["REPO_ROOT"] = HERE @@ -39,7 +39,7 @@ def build_libcrc32c(session): raise Exception("Unsupported") -@nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10"]) +@nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]) def check(session): session.install("pytest") session.install("--no-index", f"--find-links={HERE}/wheels", "google-crc32c") diff --git a/setup.cfg b/setup.cfg index bc45ab8a..1ec2cb29 100644 --- a/setup.cfg +++ b/setup.cfg @@ -35,7 +35,8 @@ classifiers = Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 - + Programming Language :: Python :: 3.11 + [options] zip_safe = True python_requires = >=3.6 From 9c408be41b46e198d1707e9ca7cd4a31c492b121 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Wed, 31 Aug 2022 12:44:50 -0400 Subject: [PATCH 22/24] build: switch to release-please for tagging (#146) --- .github/release-please.yml | 1 + .github/release-trigger.yml | 1 + 2 files changed, 2 insertions(+) create mode 100644 .github/release-trigger.yml diff --git a/.github/release-please.yml b/.github/release-please.yml index 4507ad05..466597e5 100644 --- a/.github/release-please.yml +++ b/.github/release-please.yml @@ -1 +1,2 @@ releaseType: python +handleGHRelease: true diff --git a/.github/release-trigger.yml b/.github/release-trigger.yml new file mode 100644 index 00000000..d4ca9418 --- /dev/null +++ b/.github/release-trigger.yml @@ -0,0 +1 @@ +enabled: true From f9745b8089fa2645be7b8823c979f5192df3eec7 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Wed, 31 Aug 2022 13:24:17 -0400 Subject: [PATCH 23/24] fix: drop support for python 3.6 (#145) * fix: drop support for python 3.6 * workaround setuptools editable install issue --- .appveyor.yml | 78 ---------------------------- .github/workflows/presubmit.yml | 5 +- README.md | 2 +- mypy.ini | 2 +- noxfile.py | 6 +-- scripts/manylinux/build.sh | 4 +- scripts/manylinux/build_on_centos.sh | 5 +- scripts/manylinux/check.sh | 6 +-- scripts/osx/build.sh | 24 +++++---- scripts/osx/check.sh | 50 +++++++++--------- scripts/windows/test.bat | 5 -- setup.cfg | 3 +- 12 files changed, 56 insertions(+), 134 deletions(-) delete mode 100644 .appveyor.yml diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 76edf9ab..00000000 --- a/.appveyor.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -image: Visual Studio 2017 - -# We always use a 64-bit machine, but can build x86 distributions -# with the TARGET_ARCH variable. -platform: - - x64 - -environment: - matrix: - - CMAKE_GENERATOR: "Visual Studio 15 2017" - PYTHON35: "C:\\Python35" - PYTHON36: "C:\\Python36" - PYTHON37: "C:\\Python37" - - CMAKE_GENERATOR: "Visual Studio 15 2017 Win64" - PYTHON35: "C:\\Python35-x64" - PYTHON36: "C:\\Python36-x64" - PYTHON37: "C:\\Python37-x64" - -matrix: - fast_finish: true - -install: - # Fetch submodules - - git submodule update --init --recursive - - cmake --version - - # Make sure Python environments are up to date. - # Pin wheel to 0.26.0 to avoid Windows ABI tag for built wheel - # For context: https://github.com/pypa/wheel/issues/161 and - # https://github.com/pypa/wheel/issues/171 - - "%PYTHON35%\\python -m pip install --upgrade pip wheel==0.26.0" - - "%PYTHON36%\\python -m pip install --upgrade pip wheel==0.26.0" - - "%PYTHON37%\\python -m pip install --upgrade pip wheel==0.26.0" - - # Set up environment - - git submodule update --init --recursive - - set BUILD_DIR=%APPVEYOR_BUILD_FOLDER%\crc32c\build - - set CRC32C_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%\usr - -build_script: - # First, build libcrc32c - - mkdir %BUILD_DIR% - - cd %BUILD_DIR% - - cmake - -G "%CMAKE_GENERATOR%" - -DCMAKE_BUILD_TYPE=Release - -DCRC32C_BUILD_TESTS=no - -DCRC32C_BUILD_BENCHMARKS=no - -DBUILD_SHARED_LIBS=yes - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=yes - -DCMAKE_INSTALL_PREFIX:PATH=%CRC32C_INSTALL_PREFIX% - .. - - cmake --build . --config RelWithDebInfo --target install - - dir %CRC32C_INSTALL_PREFIX% /b /s - - # Build wheels (requires CRC32C_INSTALL_PREFIX is set) - - cd %APPVEYOR_BUILD_FOLDER% - - "%PYTHON35%\\python -m pip wheel ." - - "%PYTHON36%\\python -m pip wheel ." - - "%PYTHON37%\\python -m pip wheel ." - -test_script: - # Install the wheel with pip - - "%PYTHON35%\\python -m pip install --no-index --find-links=. google-crc32c" - - "%PYTHON36%\\python -m pip install --no-index --find-links=. google-crc32c" - - "%PYTHON37%\\python -m pip install --no-index --find-links=. google-crc32c" - # Install pytest with pip - - "%PYTHON35%\\python -m pip install pytest" - - "%PYTHON36%\\python -m pip install pytest" - - "%PYTHON37%\\python -m pip install pytest" - # Run the tests - - "%PYTHON35%/python -m pytest tests" - - "%PYTHON36%/python -m pytest tests" - - "%PYTHON37%/python -m pytest tests" - -artifacts: - - path: 'google_crc32c*win*.whl' diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index 17ba5d13..52c44c76 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -14,12 +14,15 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: "3.6" + python-version: "3.9" - name: Install nox run: | python -m ensurepip python -m pip install nox - name: Run mypy + env: + # workaround for https://github.com/pypa/setuptools/issues/3557 + SETUPTOOLS_ENABLE_FEATURES: legacy-editable run: | nox -s mypy diff --git a/README.md b/README.md index 3cf27035..adf13671 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ C toolchain. # Currently Published Wheels -Wheels are currently published for Python 3.6, 3.7, 3.8, 3.9, 3.10, and +Wheels are currently published for Python 3.7, 3.8, 3.9, 3.10, 3.11 and pypy-3.7 for multiple architectures. For information on building your own, please view [BUILDING.md](BUILDING.md). diff --git a/mypy.ini b/mypy.ini index 19d08026..8efb6f72 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,3 +1,3 @@ [mypy] -python_version = 3.6 +python_version = 3.9 exclude = tests/unit/resources/ diff --git a/noxfile.py b/noxfile.py index 1e146a42..c03ba807 100644 --- a/noxfile.py +++ b/noxfile.py @@ -24,7 +24,7 @@ HERE = os.path.dirname(__file__) -@nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]) +@nox.session(python=["3.7", "3.8", "3.9", "3.10", "3.11"]) def build_libcrc32c(session): session.env["PY_BIN"] = f"python{session.python}" session.env["REPO_ROOT"] = HERE @@ -39,7 +39,7 @@ def build_libcrc32c(session): raise Exception("Unsupported") -@nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]) +@nox.session(python=["3.7", "3.8", "3.9", "3.10", "3.11"]) def check(session): session.install("pytest") session.install("--no-index", f"--find-links={HERE}/wheels", "google-crc32c") @@ -49,7 +49,7 @@ def check(session): session.run("python", f"{HERE}/scripts/check_crc32c_extension.py", *session.posargs) -@nox.session(python="3.6") +@nox.session(python="3.9") def mypy(session): """Verify type hints are mypy compatible.""" session.install("-e", ".") diff --git a/scripts/manylinux/build.sh b/scripts/manylinux/build.sh index 6dfb4582..31e18b7b 100755 --- a/scripts/manylinux/build.sh +++ b/scripts/manylinux/build.sh @@ -27,8 +27,8 @@ git submodule update --init --recursive # Note: PyPA's support for the 'manylinux1' image ends on 2022-01-01. # See: https://github.com/pypa/manylinux/issues/994 -# No 3.10 support for 'manylinux1'. -if [[ "${BUILD_PYTHON}" != "3.10"* ]]; then +# No 3.1* support for 'manylinux1'. +if [[ "${BUILD_PYTHON}" != "3.1"* ]]; then docker pull quay.io/pypa/manylinux1_x86_64 docker run \ --rm \ diff --git a/scripts/manylinux/build_on_centos.sh b/scripts/manylinux/build_on_centos.sh index efc027f6..e6d2871d 100755 --- a/scripts/manylinux/build_on_centos.sh +++ b/scripts/manylinux/build_on_centos.sh @@ -45,10 +45,7 @@ if [[ -z ${BUILD_PYTHON} ]]; then # Collect all target Python versions. for PYTHON_BIN in /opt/python/*/bin; do # H/T: https://stackoverflow.com/a/229606/1068170 - if [[ "${PYTHON_BIN}" == *"36"* ]]; then - PYTHON_VERSIONS="${PYTHON_VERSIONS} ${PYTHON_BIN}" - continue - elif [[ "${PYTHON_BIN}" == *"37"* ]]; then + if [[ "${PYTHON_BIN}" == *"37"* ]]; then PYTHON_VERSIONS="${PYTHON_VERSIONS} ${PYTHON_BIN}" continue elif [[ "${PYTHON_BIN}" == *"38"* ]]; then diff --git a/scripts/manylinux/check.sh b/scripts/manylinux/check.sh index 8e042ec5..a069ff9d 100755 --- a/scripts/manylinux/check.sh +++ b/scripts/manylinux/check.sh @@ -21,11 +21,11 @@ echo "CHECKING ON LINUX" VERSION=$(awk "/version \= ([0-9.]+)/" setup.cfg) PACKAGE_VERSION=${VERSION:10} WHEEL_FILE="wheels/google_crc32c-${PACKAGE_VERSION}-cp36-cp36m-manylinux1_x86_64.whl" -PYTHON=python3.6 +PYTHON=python3.7 -# Using pyenv, set 3.6.1 as a local python version. +# Using pyenv, set 3.7.13 as a local python version. # pyenv versions -pyenv local 3.6.1 +pyenv local 3.7.13 # Make sure we can create a virtual environment. ${PYTHON} -m pip install --upgrade setuptools pip wheel diff --git a/scripts/osx/build.sh b/scripts/osx/build.sh index 64af4b02..bccfb838 100755 --- a/scripts/osx/build.sh +++ b/scripts/osx/build.sh @@ -24,10 +24,11 @@ SCRIPTS_DIR=$(dirname ${OSX_DIR}) export REPO_ROOT=$(dirname ${SCRIPTS_DIR}) # NOTE: These are the Python.org versions of Python. -PYTHON36="/Library/Frameworks/Python.framework/Versions/3.6/bin" PYTHON37="/Library/Frameworks/Python.framework/Versions/3.7/bin" PYTHON38="/Library/Frameworks/Python.framework/Versions/3.8/bin" PYTHON39="/Library/Frameworks/Python.framework/Versions/3.9/bin" +PYTHON310="/Library/Frameworks/Python.framework/Versions/3.10/bin" +PYTHON311="/Library/Frameworks/Python.framework/Versions/3.11/bin" # Build and install `libcrc32c` export PY_BIN="${PY_BIN:-python3}" @@ -38,11 +39,6 @@ git submodule update --init --recursive ${OSX_DIR}/build_c_lib.sh -# Build wheel for Python 3.6. -export PY_BIN="python3.6" -export PY_TAG="cp36-cp36m" -${OSX_DIR}/build_python_wheel.sh - # Build wheel for Python 3.7. export PY_BIN="python3.7" export PY_TAG="cp37-cp37m" @@ -54,12 +50,20 @@ export PY_BIN="python3.8" export PY_TAG="cp38-cp38" ${OSX_DIR}/build_python_wheel.sh -# TODO: As of 2020-12-11, 3.9 is not available on our CI # Build wheel for Python 3.9. -#export PY_BIN="python3.9" -#export PY_TAG="cp39-cp39" -#${OSX_DIR}/build_python_wheel.sh +export PY_BIN="python3.9" +export PY_TAG="cp39-cp39" +${OSX_DIR}/build_python_wheel.sh +# Build wheel for Python 3.10. +export PY_BIN="python3.10" +export PY_TAG="cp310-cp310" +${OSX_DIR}/build_python_wheel.sh + +# Build wheel for Python 3.11. +export PY_BIN="python3.11" +export PY_TAG="cp311-cp311" +${OSX_DIR}/build_python_wheel.sh # Clean up. rm -fr ${CRC32C_INSTALL_PREFIX} diff --git a/scripts/osx/check.sh b/scripts/osx/check.sh index fc0c6847..10d7b270 100755 --- a/scripts/osx/check.sh +++ b/scripts/osx/check.sh @@ -28,13 +28,11 @@ export REPO_ROOT=$(dirname ${SCRIPTS_DIR}) ls ${REPO_ROOT}/wheels # NOTE: These are the Python.org versions of Python. -PYTHON36="/Library/Frameworks/Python.framework/Versions/3.6/bin" PYTHON37="/Library/Frameworks/Python.framework/Versions/3.7/bin" PYTHON38="/Library/Frameworks/Python.framework/Versions/3.8/bin" - -# PYTHON37="/users/crwilcox/.pyenv/versions/3.7.2/bin" -# PYTHON36="/users/crwilcox/.pyenv/versions/3.6.6/bin" -# PYTHON35="/users/crwilcox/.pyenv/versions/3.5.6/bin" +PYTHON39="/Library/Frameworks/Python.framework/Versions/3.9/bin" +PYTHON310="/Library/Frameworks/Python.framework/Versions/3.10/bin" +PYTHON311="/Library/Frameworks/Python.framework/Versions/3.11/bin" # Make sure we have an updated `pip`. curl https://bootstrap.pypa.io/get-pip.py | ${PYTHON37}/python3 @@ -44,17 +42,6 @@ ${PYTHON37}/python3 -m pip install --upgrade delocate LISTDEPS_CMD="${PYTHON37}/delocate-listdeps --all --depending" VIRTUALENV_CMD="${PYTHON37}/python3 -m venv" - -${PYTHON36}/python3 -m venv venv36 -curl https://bootstrap.pypa.io/get-pip.py | venv36/bin/python3 -WHL=${REPO_ROOT}/wheels/google_crc32c-${PACKAGE_VERSION}-cp36-cp36m-macosx_10_9_x86_64.whl -venv36/bin/pip install ${WHL} -venv36/bin/python ${REPO_ROOT}/scripts/check_crc32c_extension.py -venv36/bin/pip install pytest -venv36/bin/py.test ${REPO_ROOT}/tests -${LISTDEPS_CMD} ${WHL} -rm -fr venv36 - ${PYTHON37}/python3 -m venv venv37 curl https://bootstrap.pypa.io/get-pip.py | venv37/bin/python3 WHL=${REPO_ROOT}/wheels/google_crc32c-${PACKAGE_VERSION}-cp37-cp37m-macosx_10_9_x86_64.whl @@ -75,11 +62,26 @@ venv38/bin/python ${REPO_ROOT}/scripts/check_crc32c_extension.py ${LISTDEPS_CMD} ${WHL} rm -fr venv38 -# TODO: As of 2020-12-11, 3.9 is not available on our CI -# ${PYTHON39}/python3 -m venv venv39 -# curl https://bootstrap.pypa.io/get-pip.py | venv39/bin/python3 -# WHL=${REPO_ROOT}/wheels/google_crc32c-${PACKAGE_VERSION}-cp39-cp39-macosx_10_9_x86_64.whl -# venv37/bin/pip install ${WHL} -# venv37/bin/python ${REPO_ROOT}/scripts/check_crc32c_extension.py -# ${LISTDEPS_CMD} ${WHL} -# rm -fr venv39 +${PYTHON39}/python3 -m venv venv39 +curl https://bootstrap.pypa.io/get-pip.py | venv39/bin/python3 +WHL=${REPO_ROOT}/wheels/google_crc32c-${PACKAGE_VERSION}-cp39-cp39-macosx_10_9_x86_64.whl +venv39/bin/pip install ${WHL} +venv39/bin/python ${REPO_ROOT}/scripts/check_crc32c_extension.py +${LISTDEPS_CMD} ${WHL} +rm -fr venv39 + +${PYTHON310}/python3 -m venv venv310 +curl https://bootstrap.pypa.io/get-pip.py | venv310/bin/python3 +WHL=${REPO_ROOT}/wheels/google_crc32c-${PACKAGE_VERSION}-cp310-cp310-macosx_10_9_x86_64.whl +venv310/bin/pip install ${WHL} +venv310/bin/python ${REPO_ROOT}/scripts/check_crc32c_extension.py +${LISTDEPS_CMD} ${WHL} +rm -fr venv310 + +${PYTHON311}/python3 -m venv venv311 +curl https://bootstrap.pypa.io/get-pip.py | venv311/bin/python3 +WHL=${REPO_ROOT}/wheels/google_crc32c-${PACKAGE_VERSION}-cp311-cp311-macosx_10_9_x86_64.whl +venv311/bin/pip install ${WHL} +venv311/bin/python ${REPO_ROOT}/scripts/check_crc32c_extension.py +${LISTDEPS_CMD} ${WHL} +rm -fr venv311 diff --git a/scripts/windows/test.bat b/scripts/windows/test.bat index be6d363b..dc169a5c 100644 --- a/scripts/windows/test.bat +++ b/scripts/windows/test.bat @@ -19,12 +19,7 @@ if "%PYTHON_VERSION%"=="" ( set PYTHON_VERSION=3.9 ) -if "%PYTHON_VERSION%"=="3.10-dev" ( - set PYTHON_VERSION=3.10 -) - @rem update python deps and build wheels (requires CRC32C_INSTALL_PREFIX is set) -@rem FOR %%V IN (3.5-64,3.5-32,3.6-64,3.6-32,3.7-64,3.7-32) DO ( @REM FOR %%V IN (3.9-64,3.9-32) DO ( FOR %%V IN (%PYTHON_VERSION%-32, %PYTHON_VERSION%-64) DO ( py -%%V -m pip install --no-index --find-links=wheels google-crc32c --force-reinstall diff --git a/setup.cfg b/setup.cfg index 1ec2cb29..46c181d1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -30,7 +30,6 @@ classifiers = License :: OSI Approved :: Apache Software License Operating System :: OS Independent Programming Language :: Python :: 3 - Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 @@ -39,7 +38,7 @@ classifiers = [options] zip_safe = True -python_requires = >=3.6 +python_requires = >=3.7 [options.extras_require] testing = pytest From 55e54f7a081b91a2601d0f5a64d712c449ed81f1 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 31 Aug 2022 13:38:52 -0400 Subject: [PATCH 24/24] chore(main): release 1.5.0 (#147) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- CHANGELOG.md | 17 +++++++++++++++++ setup.cfg | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b52ef36c..efb079d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,23 @@ [1]: https://pypi.org/project/google-crc32c/#history +## [1.5.0](https://github.com/googleapis/python-crc32c/compare/v1.4.0...v1.5.0) (2022-08-31) + + +### Features + +* add support for Python 3.11 ([#144](https://github.com/googleapis/python-crc32c/issues/144)) ([63f5166](https://github.com/googleapis/python-crc32c/commit/63f5166815682d3430a771c51c7fd5a81d2fd259)) + + +### Bug Fixes + +* drop support for python 3.6 ([#145](https://github.com/googleapis/python-crc32c/issues/145)) ([f9745b8](https://github.com/googleapis/python-crc32c/commit/f9745b8089fa2645be7b8823c979f5192df3eec7)) + + +### Documentation + +* fix changelog header to consistent size ([#136](https://github.com/googleapis/python-crc32c/issues/136)) ([0fb3b88](https://github.com/googleapis/python-crc32c/commit/0fb3b88131aeee316e6d6f607fa32ec4767e4386)) + ## [1.4.0](https://github.com/googleapis/python-crc32c/compare/v1.3.0...v1.4.0) (2022-03-10) diff --git a/setup.cfg b/setup.cfg index 46c181d1..4882f93e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -14,7 +14,7 @@ [metadata] name = google-crc32c -version = 1.4.0 +version = 1.5.0 description = A python wrapper of the C library 'Google CRC32C' url = https://github.com/googleapis/python-crc32c long_description = file: README.md