Skip to content

Commit

Permalink
Merge pull request #95 from inveniosoftware-contrib/prepare-next
Browse files Browse the repository at this point in the history
Support Python 3.12 and drop 3.7
  • Loading branch information
pombredanne authored Feb 13, 2024
2 parents 499ac70 + 61efd1e commit 440ccf9
Show file tree
Hide file tree
Showing 6 changed files with 11,440 additions and 3,988 deletions.
67 changes: 49 additions & 18 deletions .github/workflows/test-and-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest]
arch: [auto64]
build: ["cp{37,38,39,310,311}-*"]
#os: [macos-latest, windows-latest]
#arch: [auto64]
#build: ["cp{38,39,310,311,312}-*"]

include:
- os: ubuntu-latest
arch: auto64
type: manylinux1
build: "cp{37,38,39}-*"
build: "cp{38,39}-*"
CIBW_MANYLINUX_X86_64_IMAGE: manylinux1

- os: ubuntu-latest
Expand All @@ -53,26 +53,26 @@ jobs:
build: "cp310-*"
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2010

# the manylinux2014 image also contains python 3.11 and pypy3.9
# the manylinux2014 image also contains python 3.11 and 3.12
- os: ubuntu-latest
arch: auto64
type: manylinux2014
build: "cp311-*"
build: "cp311-* cp312-*"
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014

- os: macos-latest
arch: universal2
build: "cp{37,38,39,310,311}-*"
build: "cp{38,39,310,311,312}-*"

- os: windows-latest
arch: auto64
build: "cp{37,38,39,310,311}-*"
build: "cp{38,39,310,311,312}-*"

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Build wheels and run tests
uses: pypa/cibuildwheel@v2.11.4
uses: pypa/cibuildwheel@v2.16.5
env:
CIBW_BUILD: ${{ matrix.build }}
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.CIBW_MANYLINUX_X86_64_IMAGE }}
Expand All @@ -81,16 +81,17 @@ jobs:
CIBW_TEST_COMMAND: pytest {package}/tests -n4

- name: Collect built wheels
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: intbitset-wheels-${{ matrix.os }}-${{ matrix.ach }}-${{ matrix.type }}
path: wheelhouse/*.whl

build_sdist:
name: Build source distribution
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Checkout and install reqs
run: |
Expand All @@ -102,10 +103,32 @@ jobs:
twine check dist/*
- name: Collect built sdist
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: intbitset-sdist
path: dist/*.tar.gz

merge:
runs-on: ubuntu-latest
needs: [build_sdist, build_wheels]
steps:
- name: Merge created wheels and sdist in a single zip
uses: actions/upload-artifact/merge@v4
with:
name: intbitset-build
pattern: intbitset-*

check_dist:
name: Check distributions are PyPi-correct
needs: merge
runs-on: ubuntu-22.04
steps:
- uses: actions/download-artifact@v4
with:
path: intbitset-build
- run: find . -ls
- run: pipx run twine check --strict intbitset-build/*/*

test_on_many_oses:
name: Run tests ${{ matrix.python }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
Expand All @@ -116,16 +139,24 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-18.04, ubuntu-20.04, ubuntu-22.04, macos-10.15, macos-11, macos-12, windows-2019, windows-2022]
python: ["3.7", "3.8", "3.9", "3.10", "3.11"]
os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, macos-13, windows-2019, windows-2022]
python: ["3.8", "3.9", "3.10", "3.11", "3.12"]

include:
- os: macos-14
python: "3.10"
- os: macos-14
python: "3.11"
- os: macos-14
python: "3.12"

steps:
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: "${{ matrix.python }}"

- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Install
run: pip install -e .[tests]
Expand Down
6 changes: 4 additions & 2 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ Changes

Here you can see the list of key changes between each intbitset release.

Version 3.0.3.dev
Version 3.1.0
------------------

(next)
- Support Python 3.12, macOS 12, 13 and 14
- Regenerate C code accordingly
- Drop support for Python 3.7


Version 3.0.2
Expand Down
14 changes: 6 additions & 8 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,25 @@
intbitset
===========

.. image:: https://img.shields.io/travis/inveniosoftware/intbitset.svg
:target: https://travis-ci.org/inveniosoftware/intbitset

.. image:: https://img.shields.io/github/tag/inveniosoftware/intbitset.svg
:target: https://github.com/inveniosoftware/intbitset/releases
:target: https://github.com/inveniosoftware-contrib/intbitset/releases

.. image:: https://img.shields.io/pypi/dm/intbitset.svg
:target: https://pypi.python.org/pypi/intbitset

.. image:: https://img.shields.io/github/license/inveniosoftware/intbitset.svg
:target: https://github.com/inveniosoftware/intbitset/blob/master/LICENSE
:target: https://github.com/inveniosoftware-contrib/intbitset/blob/master/LICENSE


Installation
============

intbitset is on PyPI so all you need pip: ::
intbitset is on PyPI ::

pip install intbitset

We provide pre-built wheels for the most common operating systems and CPU
architectures. Otherwise, you will need a C compiler.
We provide pre-built wheels for the most common operating systems and common 64 bits CPU
architectures. Otherwise, you will need a C compiler if you build from sources.


Documentation
Expand Down Expand Up @@ -66,6 +63,7 @@ can be built using Sphinx: ::
pip install sphinx
python setup.py build_sphinx


Testing
=======

Expand Down
Loading

0 comments on commit 440ccf9

Please sign in to comment.