chore: harmonize Python version at 3.13
The declared floor, the local pin, the lockfile, the image, and CI had all drifted apart: pyproject said >=3.10, .python-version said 3.11, uv.lock resolved >=3.11, the Dockerfile ships 3.13, and unified-tests hardcoded 3.12. Set the server's floor to 3.13 to match the only interpreter that actually ships, and pin CI to the same version. Three workflows passed python-version-file: pyproject.toml, which makes setup-python read requires-python as a range and install the newest match -- run 33108027458 resolved to CPython 3.14.7, so CI tested a Python nobody deploys and the 3.10 floor was never exercised. Pointing them at .python-version installs an exact version instead. That promotion makes .python-version load-bearing for CI, so add it to the path filters in unittest.yml and live-llm-tests.yml. Those keyed on pyproject.toml for the interpreter before; without this, editing the pin alone would change which Python CI runs on without retriggering the suites that run on it. unified-tests.yml is left alone -- it filters on src/** and tests/** and never keyed on pyproject.toml either. Re-resolving the lockfile drops async-timeout, tomli, and overrides, which were backport shims only needed below 3.13. sdks/python (honcho-ai, >=3.8) and honcho-cli (>=3.11) are left alone; they publish to PyPI, so those floors are consumer-facing. Ruff's inferred target-version moves py310 -> py313, which surfaces ~200 new findings tree-wide (mostly UP017, datetime.timezone.utc -> datetime.UTC). Ruff runs only via pre-commit, not in any workflow, so CI is unaffected; the sweep is left for a follow-up rather than adding unrelated churn here. Fixes DEV-2415 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4acd78d45f
commit
83fc0d4260
|
|
@ -12,6 +12,7 @@ on:
|
|||
- 'tests/live_llm/**'
|
||||
- 'pyproject.toml'
|
||||
- 'uv.lock'
|
||||
- '.python-version'
|
||||
- '.github/workflows/live-llm-tests.yml'
|
||||
# Manual trigger for PRs: add the `run-live-llm` label to run the suite
|
||||
# against the PR's merge commit. The label is purged as soon as the run
|
||||
|
|
@ -111,7 +112,7 @@ jobs:
|
|||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version-file: "pyproject.toml"
|
||||
python-version-file: ".python-version"
|
||||
|
||||
- name: Install the project
|
||||
run: uv sync --all-extras
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ jobs:
|
|||
- name: "Set up Python"
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version-file: "pyproject.toml"
|
||||
python-version-file: ".python-version"
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v2
|
||||
with:
|
||||
|
|
|
|||
|
|
@ -151,8 +151,8 @@ jobs:
|
|||
- name: Verify uv and Python
|
||||
run: |
|
||||
uv --version
|
||||
python3.12 --version
|
||||
which python3.12
|
||||
python3.13 --version
|
||||
which python3.13
|
||||
|
||||
- name: Install the project
|
||||
run: uv sync --all-extras
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ on:
|
|||
- '**.jsx'
|
||||
- 'pyproject.toml'
|
||||
- 'uv.lock'
|
||||
- '.python-version'
|
||||
- 'sdks/typescript/package.json'
|
||||
- 'sdks/typescript/bun.lock'
|
||||
- '.github/workflows/unittest.yml'
|
||||
|
|
@ -24,6 +25,7 @@ on:
|
|||
- '**.jsx'
|
||||
- 'pyproject.toml'
|
||||
- 'uv.lock'
|
||||
- '.python-version'
|
||||
- 'sdks/typescript/package.json'
|
||||
- 'sdks/typescript/bun.lock'
|
||||
- '.github/workflows/unittest.yml'
|
||||
|
|
@ -48,6 +50,7 @@ jobs:
|
|||
- '**.py'
|
||||
- 'pyproject.toml'
|
||||
- 'uv.lock'
|
||||
- '.python-version'
|
||||
- 'migrations/**'
|
||||
- 'sdks/typescript/**'
|
||||
- '.github/workflows/unittest.yml'
|
||||
|
|
@ -85,7 +88,7 @@ jobs:
|
|||
- name: "Set up Python"
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version-file: "pyproject.toml"
|
||||
python-version-file: ".python-version"
|
||||
|
||||
- name: Install bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
3.11
|
||||
3.13
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ authors = [
|
|||
{name = "Plastic Labs", email = "hello@plasticlabs.ai"},
|
||||
]
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.10"
|
||||
requires-python = ">=3.13"
|
||||
dependencies = [
|
||||
"fastapi[standard-no-fastapi-cloud-cli]>=0.131.0",
|
||||
"python-dotenv>=1.0.0",
|
||||
|
|
|
|||
Loading…
Reference in New Issue