Skip to content

Commit

Permalink
Add Python 3.12 wheels (#1898)
Browse files Browse the repository at this point in the history
Signed-off-by: Rémi Achard <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
  • Loading branch information
remia and doug-walker committed Dec 5, 2023
1 parent d8852b5 commit f2cfec3
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 11 deletions.
25 changes: 20 additions & 5 deletions .github/workflows/wheel_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,9 @@ jobs:
- build: CPython 3.11 64 bits
python: cp311-manylinux*
arch: x86_64
- build: CPython 3.12 64 bits
python: cp312-manylinux*
arch: x86_64
# -------------------------------------------------------------------
# CPython ARM 64 bits
# -------------------------------------------------------------------
Expand All @@ -113,6 +116,9 @@ jobs:
- build: CPython 3.11 ARM 64 bits
python: cp311-manylinux*
arch: aarch64
- build: CPython 3.12 ARM 64 bits
python: cp312-manylinux*
arch: aarch64

steps:
- uses: actions/checkout@v3
Expand All @@ -128,7 +134,7 @@ jobs:
platforms: all

- name: Build wheels
uses: pypa/cibuildwheel@v2.13.1
uses: pypa/cibuildwheel@v2.16.2
env:
CIBW_BUILD: ${{ matrix.python }}
CIBW_ARCHS: ${{ matrix.arch }}
Expand All @@ -143,7 +149,7 @@ jobs:

macos:
name: Build wheels on macOS
runs-on: macos-11
runs-on: macos-12
# Don't run on OCIO forks
if: |
github.event_name != 'schedule' ||
Expand All @@ -169,6 +175,9 @@ jobs:
- build: CPython 3.11 64 bits
python: cp311-*
arch: x86_64
- build: CPython 3.12 64 bits
python: cp312-*
arch: x86_64
# -------------------------------------------------------------------
# CPython ARM 64 bits
# -------------------------------------------------------------------
Expand All @@ -184,6 +193,9 @@ jobs:
- build: CPython 3.11 ARM 64 bits
python: cp311-*
arch: arm64
- build: CPython 3.12 ARM 64 bits
python: cp312-*
arch: arm64

steps:
- uses: actions/checkout@v3
Expand All @@ -194,7 +206,7 @@ jobs:
python-version: '3.8'

- name: Build wheels
uses: pypa/cibuildwheel@v2.13.1
uses: pypa/cibuildwheel@v2.16.2
env:
CIBW_BUILD: ${{ matrix.python }}
CIBW_ARCHS: ${{ matrix.arch }}
Expand All @@ -209,7 +221,7 @@ jobs:

windows:
name: Build wheels on Windows
runs-on: windows-2019
runs-on: windows-2022
# Don't run on OCIO forks
if: |
github.event_name != 'schedule' ||
Expand All @@ -235,6 +247,9 @@ jobs:
- build: CPython 3.11 64 bits
python: cp311-*
arch: AMD64
- build: CPython 3.12 64 bits
python: cp312-*
arch: AMD64

steps:
- uses: actions/checkout@v3
Expand All @@ -245,7 +260,7 @@ jobs:
python-version: '3.8'

- name: Build wheels
uses: pypa/cibuildwheel@v2.13.1
uses: pypa/cibuildwheel@v2.16.2
env:
CIBW_BUILD: ${{ matrix.python }}
CIBW_ARCHS: ${{ matrix.arch }}
Expand Down
8 changes: 6 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ requires = [
"wheel",
"cmake>=3.13",
"ninja; sys_platform != 'win32' and platform_machine != 'arm64'",
# Documentation requirements
# Documentation requirements (see docs/requirements.txt for details)
"urllib3<2",
"docutils>=0.18.1",
"sphinx<=7.1.2",
"six",
"testresources",
"recommonmark",
Expand Down Expand Up @@ -34,4 +37,5 @@ before-build = "share/ci/scripts/linux/yum/install_docs_env.sh"
before-build = "share/ci/scripts/macos/install_docs_env.sh"

[tool.cibuildwheel.windows]
before-build = "bash -c share/ci/scripts/windows/install_docs_env.sh"
environment = { PATH="$GITHUB_WORKSPACE/doxygen;$PATH" }
before-build = 'bash -c "share/ci/scripts/windows/install_docs_env.sh $GITHUB_WORKSPACE/doxygen"'
1 change: 1 addition & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ classifiers =
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Programming Language :: Python :: Implementation :: CPython
Programming Language :: C++
description = OpenColorIO (OCIO) is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation.
Expand Down
2 changes: 1 addition & 1 deletion tests/python/ColorSpaceTest.py
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ def test_transform(self):
self.colorspace.setTransform(self.log_tr, direction)
log_transform = self.colorspace.getTransform(direction)
self.assertIsInstance(log_transform, OCIO.LogTransform)
self.assertEquals(self.log_tr.getBase(), log_transform.getBase())
self.assertEqual(self.log_tr.getBase(), log_transform.getBase())

def test_aliases(self):
"""
Expand Down
6 changes: 3 additions & 3 deletions tests/python/TransformsTest.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,14 @@ def test_copy(self):
other = copy.deepcopy(transform)
self.assertFalse(other is transform)

self.assertEquals(other.getTransformType(), transform.getTransformType())
self.assertEquals(other.getDirection(), transform.getDirection())
self.assertEqual(other.getTransformType(), transform.getTransformType())
self.assertEqual(other.getDirection(), transform.getDirection())
# Not all OCIO.Transform have equals methods
if hasattr(transform, 'equals'):
self.assertTrue(other.equals(transform))

other.setDirection(OCIO.TRANSFORM_DIR_INVERSE)
self.assertNotEquals(other.getDirection(), transform.getDirection())
self.assertNotEqual(other.getDirection(), transform.getDirection())

def test_binding_group_polymorphism(self):
"""
Expand Down

0 comments on commit f2cfec3

Please sign in to comment.