From b9a0a33a6edbf3f9a761bc782b455daf9ad41203 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 2 Jun 2026 14:05:14 +0200 Subject: [PATCH] ci: add Python 3.15 to CI testing and tox configuration --- .github/workflows/canary.yml | 4 ++-- .github/workflows/ci.yml | 2 +- pyproject.toml | 17 ++++++++++++++++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index 0d100c35e..5a44d5442 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -25,8 +25,8 @@ jobs: python-version: '3.12' toxenv: py312-pyfuse3 - os: ubuntu-24.04 - python-version: '3.14' - toxenv: py314-mfusepy + python-version: '3.15-dev' + toxenv: py315-mfusepy - os: macos-15 python-version: '3.14' toxenv: py314-none diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a24be3d59..e1f8723db 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -145,7 +145,7 @@ jobs: {"os": "ubuntu-22.04", "python-version": "3.11", "toxenv": "docs"}, {"os": "ubuntu-22.04", "python-version": "3.10", "toxenv": "py310-llfuse"}, {"os": "ubuntu-24.04", "python-version": "3.12", "toxenv": "py312-pyfuse3"}, - {"os": "ubuntu-24.04", "python-version": "3.14", "toxenv": "py314-mfusepy"} + {"os": "ubuntu-24.04", "python-version": "3.15-dev", "toxenv": "py315-mfusepy"} ] }' || '{ "include": [ diff --git a/pyproject.toml b/pyproject.toml index e66d11ce2..a4323abf5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "Topic :: Security :: Cryptography", "Topic :: System :: Archiving :: Backup", ] @@ -175,7 +176,7 @@ ignore_missing_imports = true requires = ["tox>=4.19", "pkgconfig", "cython", "wheel", "setuptools_scm"] # Important: when adding/removing Python versions here, # also update the section "Test environments with different FUSE implementations" accordingly. -env_list = ["py{310,311,312,313,314}-{none,llfuse,pyfuse3,mfusepy}", "docs", "ruff", "mypy", "bandit"] +env_list = ["py{310,311,312,313,314,315}-{none,llfuse,pyfuse3,mfusepy}", "docs", "ruff", "mypy", "bandit"] [tool.tox.env_run_base] package = "editable-legacy" # without this it does not find setup_docs when running under fakeroot @@ -257,6 +258,20 @@ extras = ["pyfuse3", "sftp", "s3", "rclone"] set_env = {BORG_FUSE_IMPL = "mfusepy"} extras = ["mfusepy", "sftp", "s3", "rclone"] +[tool.tox.env.py315-none] + +[tool.tox.env.py315-llfuse] +set_env = {BORG_FUSE_IMPL = "llfuse"} +extras = ["llfuse", "sftp", "s3", "rclone"] + +[tool.tox.env.py315-pyfuse3] +set_env = {BORG_FUSE_IMPL = "pyfuse3"} +extras = ["pyfuse3", "sftp", "s3", "rclone"] + +[tool.tox.env.py315-mfusepy] +set_env = {BORG_FUSE_IMPL = "mfusepy"} +extras = ["mfusepy", "sftp", "s3", "rclone"] + [tool.tox.env.ruff] skip_install = true deps = ["ruff"]