Skip to content

Commit

Permalink
Build Python 3.13 wheels, require macOS >= 13 (was 10.9) (#57)
Browse files Browse the repository at this point in the history
  • Loading branch information
letmaik authored Feb 1, 2025
1 parent dc71bd1 commit e2e1eca
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 22 deletions.
2 changes: 2 additions & 0 deletions .github/scripts/build-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ elif [ $PYTHON_VERSION == "3.11" ]; then
PYBIN="/opt/python/cp311-cp311/bin"
elif [ $PYTHON_VERSION == "3.12" ]; then
PYBIN="/opt/python/cp312-cp312/bin"
elif [ $PYTHON_VERSION == "3.13" ]; then
PYBIN="/opt/python/cp313-cp313/bin"
else
echo "Unsupported Python version $PYTHON_VERSION"
exit 1
Expand Down
63 changes: 44 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,75 +34,99 @@ jobs:
python-arch: 'x86_64'
python-version: '3.12'
numpy-version: '2.0.*'

- os-image: ubuntu-latest
os-name: linux
docker-image: quay.io/pypa/manylinux2014_x86_64
python-arch: 'x86_64'
python-version: '3.13'
numpy-version: '2.2.*'

- os-image: ubuntu-22.04-arm
os-name: linux
docker-image: quay.io/pypa/manylinux2014_aarch64
python-arch: 'aarch64'
python-version: '3.9'
numpy-version: '2.0.*'
- os-image: ubuntu-latest
- os-image: ubuntu-22.04-arm
os-name: linux
docker-image: quay.io/pypa/manylinux2014_aarch64
python-arch: 'aarch64'
python-version: '3.10'
numpy-version: '2.0.*'
- os-image: ubuntu-latest
- os-image: ubuntu-22.04-arm
os-name: linux
docker-image: quay.io/pypa/manylinux2014_aarch64
python-arch: 'aarch64'
python-version: '3.11'
numpy-version: '2.0.*'
- os-image: ubuntu-latest
- os-image: ubuntu-22.04-arm
os-name: linux
docker-image: quay.io/pypa/manylinux2014_aarch64
python-arch: 'aarch64'
python-version: '3.12'
numpy-version: '2.0.*'
- os-image: ubuntu-22.04-arm
os-name: linux
docker-image: quay.io/pypa/manylinux2014_aarch64
python-arch: 'aarch64'
python-version: '3.13'
numpy-version: '2.2.*'

- os-image: macos-12
- os-image: macos-13
os-name: mac
macos-min-version: '10.9'
macos-min-version: '13.0'
python-arch: 'x86_64'
python-version: '3.9'
numpy-version: '2.0.*'
- os-image: macos-12
- os-image: macos-13
os-name: mac
macos-min-version: '10.9'
macos-min-version: '13.0'
python-arch: 'x86_64'
python-version: '3.10'
numpy-version: '2.0.*'
- os-image: macos-12
- os-image: macos-13
os-name: mac
macos-min-version: '10.9'
macos-min-version: '13.0'
python-arch: 'x86_64'
python-version: '3.11'
numpy-version: '2.0.*'
- os-image: macos-12
- os-image: macos-13
os-name: mac
macos-min-version: '10.9'
macos-min-version: '13.0'
python-arch: 'x86_64'
python-version: '3.12'
numpy-version: '2.0.*'
- os-image: macos-13
os-name: mac
macos-min-version: '13.0'
python-arch: 'x86_64'
python-version: '3.13'
numpy-version: '2.2.*'

- os-image: macos-14 # M1
os-name: mac
python-arch: arm64
macos-min-version: '11.0'
macos-min-version: '14.0'
python-version: '3.10'
numpy-version: '2.0.*'
- os-image: macos-14 # M1
os-name: mac
python-arch: arm64
macos-min-version: '11.0'
macos-min-version: '14.0'
python-version: '3.11'
numpy-version: '2.0.*'
- os-image: macos-14 # M1
os-name: mac
python-arch: arm64
macos-min-version: '11.0'
macos-min-version: '14.0'
python-version: '3.12'
numpy-version: '2.0.*'
- os-image: macos-14 # M1
os-name: mac
python-arch: arm64
macos-min-version: '14.0'
python-version: '3.13'
numpy-version: '2.2.*'

- os-image: windows-2019
os-name: windows
Expand All @@ -124,6 +148,11 @@ jobs:
python-arch: 'x86_64'
python-version: '3.12'
numpy-version: '2.0.*'
- os-image: windows-2019
os-name: windows
python-arch: 'x86_64'
python-version: '3.13'
numpy-version: '2.2.*'

runs-on: ${{ matrix.config.os-image }}

Expand All @@ -132,10 +161,6 @@ jobs:
with:
submodules: true

- name: Set up QEMU
if: matrix.config.python-arch == 'aarch64'
uses: docker/setup-qemu-action@v3

- name: Build wheels (Linux)
if: matrix.config.os-name == 'linux'
run: docker run --rm -e PYTHON_ARCH -e PYTHON_VERSION -e NUMPY_VERSION -v `pwd`:/io ${{ matrix.config.docker-image }} /io/.github/scripts/build-linux.sh
Expand Down
2 changes: 1 addition & 1 deletion lensfunpy/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "1.15.0"
__version__ = "1.16.0"
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["setuptools", "Cython", "numpy"]
build-backend = "setuptools.build_meta"
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,12 @@ def windows_lensfun_compile():
cwd = os.getcwd()

# Download cmake to build lensfun
cmake_version = '3.13.4'
cmake_version = '3.16.9'
cmake_url = 'https://github.com/Kitware/CMake/releases/download/v{v}/cmake-{v}-win32-x86.zip'.format(v=cmake_version)
cmake = os.path.abspath('external/cmake-{}-win32-x86/bin/cmake.exe'.format(cmake_version))

# Download vcpkg to build dependencies of lensfun
vcpkg_commit = '2023.11.20'
vcpkg_commit = '2025.01.13'
vcpkg_url = 'https://github.com/Microsoft/vcpkg/archive/{}.zip'.format(vcpkg_commit)
vcpkg_dir = os.path.abspath('external/vcpkg-{}'.format(vcpkg_commit))
vcpkg_bootstrap = os.path.join(vcpkg_dir, 'bootstrap-vcpkg.bat')
Expand Down

0 comments on commit e2e1eca

Please sign in to comment.