diff --git a/.github/workflows/build-wheel-linux.yml b/.github/workflows/build-wheel-linux.yml index c500343..637c95a 100644 --- a/.github/workflows/build-wheel-linux.yml +++ b/.github/workflows/build-wheel-linux.yml @@ -42,7 +42,9 @@ jobs: # if: false # for temporarily disabling for debugging runs-on: [self-hosted, Linux, platform-builder-Rocky-8.6] - container: dockcross/manylinux_2_28-x64:latest + container: + image: dockcross/manylinux_2_28-x64:latest + #options: --pull always name: Build manylinux_2_28-x64 @@ -91,6 +93,14 @@ jobs: name: wheel-manylinux2014-3.12 path: wheelhouse/*.whl + # ################################################################ + - run: ./scripts/wheel-linux.sh 3.13 + - uses: actions/upload-artifact@v4 + name: Upload wheel 3.13 + with: + name: wheel-manylinux2014-3.13 + path: wheelhouse/*.whl + test: needs: build @@ -98,7 +108,7 @@ jobs: strategy: fail-fast: false matrix: # We don't test 3.6, as it is not supported anymore by github actions - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] runs-on: [self-hosted, Linux, platform-builder-Rocky-8.6] @@ -122,7 +132,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] needs: [test, build] diff --git a/.github/workflows/build-wheel-macos.yml b/.github/workflows/build-wheel-macos.yml index 1c848ed..cd6c1a3 100644 --- a/.github/workflows/build-wheel-macos.yml +++ b/.github/workflows/build-wheel-macos.yml @@ -92,6 +92,15 @@ jobs: path: wheelhouse/*.whl - run: rm -fr wheelhouse + - run: ./scripts/wheel-macos.sh "3.13" + - run: ls -l wheelhouse + - uses: actions/upload-artifact@v4 + name: Upload wheel 3.13 ${{ matrix.arch_type }} + with: + name: wheel-macos-${{ matrix.arch_type }}-3.13 + path: wheelhouse/*.whl + - run: rm -fr wheelhouse + test: needs: build @@ -100,7 +109,7 @@ jobs: max-parallel: 1 matrix: arch_type: [ARM64, X64] - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] runs-on: [self-hosted, macOS, "${{ matrix.arch_type }}"] @@ -130,7 +139,7 @@ jobs: max-parallel: 1 matrix: arch_type: [ARM64, X64] - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] runs-on: [self-hosted, macOS, "${{ matrix.arch_type }}"] @@ -138,6 +147,8 @@ jobs: - run: mkdir artifact-${{ matrix.arch_type }}-${{ matrix.python-version }} + - uses: actions/checkout@v4 + - uses: actions/download-artifact@v4 with: name: wheel-macos-${{ matrix.arch_type }}-${{ matrix.python-version }} diff --git a/.github/workflows/build-wheel-windows.yml b/.github/workflows/build-wheel-windows.yml index 9849b82..2a54dc9 100644 --- a/.github/workflows/build-wheel-windows.yml +++ b/.github/workflows/build-wheel-windows.yml @@ -144,6 +144,21 @@ jobs: ################################################################ + - name: Set up Python 3.13 + uses: actions/setup-python@v4 + with: + python-version: "3.13" + architecture: ${{ matrix.architecture }} + + - run: ./scripts/wheel-windows.sh "3.13" + - uses: actions/upload-artifact@v4 + name: Upload wheel 3.13 + with: + name: wheel-windows-3.13-${{ matrix.architecture }} + path: wheelhouse/*.whl + + ################################################################ + test: needs: build @@ -151,7 +166,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] architecture: ["x64"] defaults: @@ -195,7 +210,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] architecture: ["x64"] steps: diff --git a/scripts/wheel-linux.sh b/scripts/wheel-linux.sh index 812de5f..09160d5 100755 --- a/scripts/wheel-linux.sh +++ b/scripts/wheel-linux.sh @@ -19,11 +19,11 @@ TOPDIR=$(/bin/pwd) LD_LIBRARY_PATH=$TOPDIR/install/lib:$TOPDIR/install/lib64:$LD_LIBRARY_PATH -sudo /opt/python/cp${version}-cp${version}*/bin/pip3 install 'setuptools>=72.1.0' -/opt/python/cp${version}-cp${version}*/bin/pip3 list +sudo /opt/python/cp${version}-cp${version}/bin/pip3 install 'setuptools>=72.1.0' +/opt/python/cp${version}-cp${version}/bin/pip3 list rm -fr dist wheelhouse -/opt/python/cp${version}-cp${version}*/bin/python3 setup.py --binary-wheel bdist_wheel +/opt/python/cp${version}-cp${version}/bin/python3 setup.py --binary-wheel bdist_wheel # Do it twice to get the list of libraries @@ -35,6 +35,6 @@ pip3 install -r scripts/requirements.txt python3 ./scripts/copy-licences.py libs rm -fr dist wheelhouse -/opt/python/cp${version}-cp${version}*/bin/python3 setup.py --binary-wheel bdist_wheel +/opt/python/cp${version}-cp${version}/bin/python3 setup.py --binary-wheel bdist_wheel auditwheel repair dist/*.whl rm -fr dist diff --git a/setup.py b/setup.py index 093c856..453f9c7 100644 --- a/setup.py +++ b/setup.py @@ -118,6 +118,7 @@ def shared(directory): "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Operating System :: OS Independent",