Skip to content

Add Python 3.13 Support for Blender 5.1#24

Merged
GoodPie merged 2 commits intomainfrom
22-bug-the-extension-is-not-compatible-with-blender-51
Mar 29, 2026
Merged

Add Python 3.13 Support for Blender 5.1#24
GoodPie merged 2 commits intomainfrom
22-bug-the-extension-is-not-compatible-with-blender-51

Conversation

@GoodPie
Copy link
Copy Markdown
Owner

@GoodPie GoodPie commented Mar 29, 2026

Description

Added additional builds for Blender 5.1, adding support for Python 3.13 (keeping support for Python 3.11).

@GoodPie GoodPie self-assigned this Mar 29, 2026
Copilot AI review requested due to automatic review settings March 29, 2026 14:36
@GoodPie GoodPie added the enhancement New feature or request label Mar 29, 2026
@GoodPie GoodPie linked an issue Mar 29, 2026 that may be closed by this pull request
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the CD workflow to build, test, and package artifacts for Blender 5.1 by adding Python 3.13 alongside the existing Python 3.11 support.

Changes:

  • Extend cibuildwheel builds to include CPython 3.13 wheels across Linux/macOS/Windows.
  • Run Python unit tests on a matrix of Python 3.11 and 3.13.
  • Package Blender extensions for both Blender 5.0 (cp311) and 5.1 (cp313), and adjust artifact naming/downloading accordingly.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +126 to +128
mkdir -p wheels
cp all-wheels/*${{ matrix.python-tag }}*.whl wheels/ || true
echo "Filtered wheels for ${{ matrix.python-tag }}:"
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The wheel filtering step doesn’t verify that all expected wheels for the selected Python tag/platforms were copied before packaging. Since setup_addon.py only checks for a non-empty wheels/ directory, this job could still build and upload an extension that’s missing one or more platform wheels (e.g., if a macOS/Windows wheel build/upload failed). Consider failing the job here by explicitly checking for the expected wheel files (based on the CIBW_BUILD targets) and exiting non-zero if any are missing, rather than proceeding to package an incomplete addon.

Suggested change
mkdir -p wheels
cp all-wheels/*${{ matrix.python-tag }}*.whl wheels/ || true
echo "Filtered wheels for ${{ matrix.python-tag }}:"
set -euo pipefail
mkdir -p wheels
PY_TAG="${{ matrix.python-tag }}"
echo "Filtering wheels for Python tag: ${PY_TAG}"
# Count wheels matching the Python tag in the source directory
SRC_COUNT=$(ls all-wheels/*"${PY_TAG}"*.whl 2>/dev/null | wc -l || true)
if [ "${SRC_COUNT}" -eq 0 ]; then
echo "Error: No wheels found in all-wheels/ for Python tag '${PY_TAG}'."
exit 1
fi
# Copy all matching wheels into the wheels directory
cp all-wheels/*"${PY_TAG}"*.whl wheels/
# Verify that all expected wheels were copied
DST_COUNT=$(ls wheels/*"${PY_TAG}"*.whl 2>/dev/null | wc -l || true)
if [ "${DST_COUNT}" -ne "${SRC_COUNT}" ]; then
echo "Error: Expected ${SRC_COUNT} wheels for Python tag '${PY_TAG}', but found ${DST_COUNT} in wheels/."
exit 1
fi
echo "Filtered wheels for ${PY_TAG}:"

Copilot uses AI. Check for mistakes.
@GoodPie GoodPie merged commit 49a5a0d into main Mar 29, 2026
16 checks passed
@GoodPie GoodPie deleted the 22-bug-the-extension-is-not-compatible-with-blender-51 branch March 29, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: The extension is not compatible with Blender 5.1

2 participants