From b9a0a33a6edbf3f9a761bc782b455daf9ad41203 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 2 Jun 2026 14:05:14 +0200 Subject: [PATCH 1/2] 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"] From a13f8a2f328624590c3d2e3132b33ee46db0a31c Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 2 Jun 2026 14:15:05 +0200 Subject: [PATCH 2/2] development.lock.txt: use Cython 3.2.5 --- requirements.d/development.lock.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.d/development.lock.txt b/requirements.d/development.lock.txt index 6b30feb81..a1eebcf14 100644 --- a/requirements.d/development.lock.txt +++ b/requirements.d/development.lock.txt @@ -11,6 +11,6 @@ pytest-xdist==3.8.0 coverage[toml]==7.13.5 pytest-cov==7.1.0 pytest-benchmark==5.2.3 -Cython==3.2.4 +Cython==3.2.5 pre-commit==4.5.1 types-PyYAML==6.0.12.20260518