ci: add Python 3.14 support
This commit is contained in:
1 parent
8a15c2d7db
commit
148b3b3780
8 files changed
+32
-9
No files matched your search
@@ -34,7 +34,7 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
python-version: ["3.12", "3.13"]
|
||||
python-version: ["3.12", "3.13", "3.14"]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
+3
-3
@@ -23,7 +23,7 @@ This project follows the principles of respectful collaboration. Please be kind,
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Python 3.12 or higher
|
||||
- Python 3.12 or higher (tested on 3.12-3.14)
|
||||
- Git
|
||||
- Basic knowledge of tar archives and compression
|
||||
|
||||
@@ -198,7 +198,7 @@ This project uses [Ruff](https://docs.astral.sh/ruff/) for linting and formattin
|
||||
Settings are defined in `pyproject.toml`:
|
||||
|
||||
- Line length: 88 characters
|
||||
- Target Python version: 3.12+
|
||||
- Target Python version: 3.12+ (tested on 3.12-3.14)
|
||||
- Import sorting with isort
|
||||
- Quote style: double quotes
|
||||
|
||||
@@ -356,7 +356,7 @@ When suggesting features:
|
||||
|
||||
### Compatibility
|
||||
|
||||
- Support Python 3.12+
|
||||
- Support Python 3.12+ with CI coverage for 3.12-3.14
|
||||
- Test on multiple platforms (Windows, macOS, Linux)
|
||||
- Consider different filesystem behaviors
|
||||
- Maintain backwards compatibility when possible
|
||||
|
||||
@@ -453,7 +453,7 @@ except KeyboardInterrupt:
|
||||
|
||||
## 📋 Requirements
|
||||
|
||||
- 🐍 Python 3.12 or higher
|
||||
- 🐍 Python 3.12 or higher (tested on 3.12-3.14)
|
||||
- 📦 zstandard >= 0.19.0
|
||||
|
||||
## 🛠️ Development
|
||||
|
||||
+1
-1
@@ -451,7 +451,7 @@ except KeyboardInterrupt:
|
||||
|
||||
## 📋 系统要求
|
||||
|
||||
- 🐍 Python 3.12 或更高版本
|
||||
- 🐍 Python 3.12 或更高版本(已测试 3.12-3.14)
|
||||
- 📦 zstandard >= 0.19.0
|
||||
|
||||
## 🛠️ 开发指南
|
||||
|
||||
+2
-2
@@ -116,7 +116,7 @@ ruff format --check src tests
|
||||
Settings are defined in `pyproject.toml`:
|
||||
|
||||
- Line length: 88 characters
|
||||
- Target Python version: 3.12+
|
||||
- Target Python version: 3.12+ (tested on 3.12-3.14)
|
||||
- Import sorting with isort
|
||||
- Quote style: double quotes
|
||||
|
||||
@@ -315,7 +315,7 @@ docs(readme): update installation instructions
|
||||
|
||||
### Compatibility
|
||||
|
||||
- Support Python 3.12+
|
||||
- Support Python 3.12+ with CI coverage for 3.12-3.14
|
||||
- Test on multiple platforms (Windows, macOS, Linux)
|
||||
- Consider different filesystem behaviors
|
||||
- Maintain backwards compatibility when possible
|
||||
|
||||
+1
-1
@@ -183,5 +183,5 @@ Licensed under the [BSD 3-Clause](https://github.com/xixu-me/tzst/blob/main/LICE
|
||||
|
||||
## Requirements
|
||||
|
||||
- Python 3.12 or higher
|
||||
- Python 3.12 or higher (tested on 3.12-3.14)
|
||||
- zstandard >= 0.19.0
|
||||
@@ -18,6 +18,7 @@ classifiers = [
|
||||
"Operating System :: OS Independent",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Programming Language :: Python :: 3.13",
|
||||
"Programming Language :: Python :: 3.14",
|
||||
"Topic :: System :: Archiving :: Compression",
|
||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||
]
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
"""Project metadata and CI support tests."""
|
||||
|
||||
import tomllib
|
||||
from pathlib import Path
|
||||
|
||||
REPO_ROOT = Path(__file__).resolve().parents[2]
|
||||
|
||||
|
||||
def test_pyproject_declares_python_314_classifier():
|
||||
"""Package metadata should advertise Python 3.14 support."""
|
||||
pyproject = tomllib.loads((REPO_ROOT / "pyproject.toml").read_text("utf-8"))
|
||||
|
||||
classifiers = pyproject["project"]["classifiers"]
|
||||
|
||||
assert "Programming Language :: Python :: 3.14" in classifiers
|
||||
|
||||
|
||||
def test_ci_matrix_includes_python_314():
|
||||
"""Main test workflow should run on Python 3.14."""
|
||||
workflow = (REPO_ROOT / ".github" / "workflows" / "ci.yml").read_text("utf-8")
|
||||
|
||||
assert 'python-version: ["3.12", "3.13", "3.14"]' in workflow
|
||||
Reference in new issue
Block a user