From 6dea1dae1aaa57856ca377e6e04c987e7991fd32 Mon Sep 17 00:00:00 2001 From: Reece Humphreys Date: Mon, 9 Mar 2026 19:42:46 -0600 Subject: [PATCH 1/3] [#1313] Bump max supported Python version to include 3.14 --- .github/workflows/canary.yml | 2 +- .github/workflows/merge.yml | 2 +- .github/workflows/publish-wheels.yml | 4 ++-- .github/workflows/pull-request.yml | 8 ++++---- docs/source/Build/installOnLinux.rst | 2 +- docs/source/Build/installOnMacOS.rst | 2 +- docs/source/Build/installOnWindows.rst | 2 +- pyproject.toml | 4 ++-- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index 17be60da7d8..d1ed6a8dca8 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -17,7 +17,7 @@ jobs: timeout-minutes: 75 strategy: matrix: - python-version: ["3.13"] + python-version: ["3.14"] steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml index 05ccbef4838..dccf886a853 100644 --- a/.github/workflows/merge.yml +++ b/.github/workflows/merge.yml @@ -26,7 +26,7 @@ jobs: - name: Build Basilisk uses: ./.github/actions/build with: - python-version: 3.13 + python-version: 3.14 conan-args: --opNav True --allOptPkg --mujoco True --mujocoReplay True - name: Build docs uses: ./.github/actions/docs diff --git a/.github/workflows/publish-wheels.yml b/.github/workflows/publish-wheels.yml index 7cfdb6de28a..55a4594ddba 100644 --- a/.github/workflows/publish-wheels.yml +++ b/.github/workflows/publish-wheels.yml @@ -66,7 +66,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: 3.13 + python-version: 3.14 - name: Build SDist run: pipx run build --sdist @@ -87,7 +87,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: 3.13 + python-version: 3.14 - name: Download sdist uses: actions/download-artifact@v4 diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index fbf97719ed7..35ec115a68b 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -22,7 +22,7 @@ jobs: strategy: fail-fast: false matrix: - python: ["3.13"] + python: ["3.14"] name: Linux (${{ matrix.python }}) steps: - uses: actions/checkout@v4 @@ -48,7 +48,7 @@ jobs: strategy: fail-fast: false matrix: - python: ["3.13"] + python: ["3.14"] name: Windows (${{ matrix.python }}) env: MPLBACKEND: agg @@ -90,7 +90,7 @@ jobs: conan_args: ["--opNav True --mujoco True --mujocoReplay True"] include: # An extra Basilisk build to test building without visualization enabled - - python: "3.13" + - python: "3.14" pytest_flags: -n auto -m "not ciSkip" -rs --timeout=300 --timeout-method=thread -v conan_args: --opNav True --mujoco True --mujocoReplay True --vizInterface False job_suffix: "--vizInterface False" @@ -129,7 +129,7 @@ jobs: - name: Build Basilisk uses: ./.github/actions/build with: - python-version: 3.13 + python-version: 3.14 conan-args: --opNav True --allOptPkg --mujoco True --mujocoReplay True - name: Build docs uses: ./.github/actions/docs diff --git a/docs/source/Build/installOnLinux.rst b/docs/source/Build/installOnLinux.rst index f342c67857e..2e41dc5173b 100644 --- a/docs/source/Build/installOnLinux.rst +++ b/docs/source/Build/installOnLinux.rst @@ -12,7 +12,7 @@ Software setup In order to run Basilisk, the following software will be necessary. This document outline how to install this support software. -- `Python `__ 3.8 to 3.13. Version 3.8 is deprecated and will be removed April 2026. +- `Python `__ 3.8 to 3.14. Version 3.8 is deprecated and will be removed April 2026. - `GCC `__ - (Optional) Get the `GitKraken `__ application to be able to pull and manage a copy of Basilisk diff --git a/docs/source/Build/installOnMacOS.rst b/docs/source/Build/installOnMacOS.rst index 3050a7674a6..d1ff126cb94 100644 --- a/docs/source/Build/installOnMacOS.rst +++ b/docs/source/Build/installOnMacOS.rst @@ -8,7 +8,7 @@ Setup On macOS ============== These instruction outline how to install Basilisk (BSK) on a clean version of macOS. -Basilisk requires the use of Python 3.8 to 3.13. Version 3.8 is deprecated and will be removed April 2026. +Basilisk requires the use of Python 3.8 to 3.14. Version 3.8 is deprecated and will be removed April 2026. The following python package dependencies are automatically checked and installed in the steps below. diff --git a/docs/source/Build/installOnWindows.rst b/docs/source/Build/installOnWindows.rst index 9ca712ccef7..6075dc96d74 100644 --- a/docs/source/Build/installOnWindows.rst +++ b/docs/source/Build/installOnWindows.rst @@ -13,7 +13,7 @@ Software setup In order to run Basilisk, the following software will be necessary: -- `Python `__ 3.8 to 3.13. +- `Python `__ 3.8 to 3.14. Version 3.8 is deprecated and will be removed April 2026. - `pip `__ - Default compiler is Visual Studios 17 2022 diff --git a/pyproject.toml b/pyproject.toml index 1f35f379abe..93f8f6b3b5d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,7 +19,7 @@ requires = [ [project] name = 'bsk' dynamic = ["version", "dependencies"] -requires-python = ">=3.8, <3.14" +requires-python = ">=3.8, <3.15" readme = "README.md" license = {file = "LICENSE"} @@ -54,7 +54,7 @@ test = [ ] [tool.cibuildwheel] -build = ["cp39-*", "cp310-*", "cp311-*", "cp312-*", "cp313-*"] +build = ["cp39-*", "cp310-*", "cp311-*", "cp312-*", "cp313-*", "cp314-*"] skip = ["*-win32", "cp38-macosx_arm64", "*-musllinux_*"] build-verbosity = 1 test-extras = ["test"] From acb7dc28ca375a8faabc9eea3213a00af8af3db7 Mon Sep 17 00:00:00 2001 From: Reece Humphreys Date: Mon, 9 Mar 2026 19:48:13 -0600 Subject: [PATCH 2/3] [#1313] Add release note snippet --- .../Support/bskReleaseNotesSnippets/1313-python-314-support.rst | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 docs/source/Support/bskReleaseNotesSnippets/1313-python-314-support.rst diff --git a/docs/source/Support/bskReleaseNotesSnippets/1313-python-314-support.rst b/docs/source/Support/bskReleaseNotesSnippets/1313-python-314-support.rst new file mode 100644 index 00000000000..382319c5bd4 --- /dev/null +++ b/docs/source/Support/bskReleaseNotesSnippets/1313-python-314-support.rst @@ -0,0 +1,2 @@ +- Added Python 3.14 support across packaging and CI. +- Updated platform install guides to document Basilisk support for Python 3.14. From 78ef05ccc37ef8684107c50f81334403d81c99f7 Mon Sep 17 00:00:00 2001 From: Hanspeter Schaub Date: Wed, 18 Mar 2026 12:18:15 -0600 Subject: [PATCH 3/3] [#1313] rename CI tests We now use the MAX and MIN Python labels to denote runs using the highest and lowest python version --- .github/workflows/pull-request.yml | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 35ec115a68b..68d224588f2 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -19,17 +19,13 @@ jobs: runs-on: ubuntu-22.04 timeout-minutes: 90 needs: pre-commit - strategy: - fail-fast: false - matrix: - python: ["3.14"] - name: Linux (${{ matrix.python }}) + name: Linux (MAX Python) steps: - uses: actions/checkout@v4 - uses: ./.github/actions/data-cache - uses: ./.github/actions/build with: - python-version: ${{ matrix.python }} + python-version: 3.14 conan-args: --opNav True --mujoco True --mujocoReplay True - name: Pytest working-directory: src @@ -45,11 +41,7 @@ jobs: runs-on: windows-2025 timeout-minutes: 105 needs: pre-commit - strategy: - fail-fast: false - matrix: - python: ["3.14"] - name: Windows (${{ matrix.python }}) + name: Windows (MAX Python) env: MPLBACKEND: agg steps: @@ -57,7 +49,7 @@ jobs: - uses: ./.github/actions/data-cache - uses: ./.github/actions/build with: - python-version: ${{ matrix.python }} + python-version: 3.14 conan-args: --opNav True --mujoco True --mujocoReplay True - name: Pytest shell: pwsh @@ -82,6 +74,7 @@ jobs: fail-fast: false matrix: job_suffix: [""] + python_label: ["MIN Python"] python: ["3.8"] pytest_flags: [ @@ -91,6 +84,7 @@ jobs: include: # An extra Basilisk build to test building without visualization enabled - python: "3.14" + python_label: "MAX Python" pytest_flags: -n auto -m "not ciSkip" -rs --timeout=300 --timeout-method=thread -v conan_args: --opNav True --mujoco True --mujocoReplay True --vizInterface False job_suffix: "--vizInterface False" @@ -98,12 +92,13 @@ jobs: # TODO: Once Python 3.8 support is dropped, delete this include and exclude and remove 3.8 from the python # test matrix. - python: "3.8" + python_label: "MIN Python" pytest_flags: -n auto -m "not ciSkip" -rs --timeout=300 --timeout-method=thread -v -p no:pytest_forbid_skips exclude: - python: "3.8" pytest_flags: '-n auto -m "not ciSkip" -rs --error-for-skips --timeout=300 --timeout-method=thread -v' - name: macOS (${{ matrix.python }}) ${{ matrix.job_suffix }} + name: macOS (${{ matrix.python_label }}) ${{ matrix.job_suffix }} steps: - uses: actions/checkout@v4 - uses: ./.github/actions/data-cache