DoDiODev opened a new pull request, #9005:
URL: https://github.com/apache/devlake/pull/9005
### Summary
Bump the Python runtime used across the project from **3.9** to **3.11**.
This is a
pure runtime bump: no library versions are changed and the existing Pydantic
v1
code keeps working on 3.11.
### Changes
| File | Change |
|------|--------|
| `backend/Dockerfile` | server image base `python:3.9-slim-bookworm` →
`python:3.11-slim-bookworm` |
| `backend/python/uv.sh` | default `uv venv` python `3.9` → `3.11` |
| `backend/python/pydevlake/pyproject.toml` | `python = "~3.9"` →
`">=3.11,<3.12"` |
| `backend/python/plugins/azuredevops/pyproject.toml` | `python = "~3.9"` →
`">=3.11,<3.12"` |
| `backend/python/test/fakeplugin/pyproject.toml` | `python = "~3.9"` →
`">=3.11,<3.12"` |
| `.devcontainer/devcontainer.json` | python feature `3.9` → `3.11` |
| `backend/python/DevelopmentSetup.md` | docs now reference `python3.11` |
### Explicitly out of scope
- **No library upgrades.** `sqlmodel`, `pydantic`, `pytest`, `inflect`,
`fire`,
`jsonpointer` etc. stay unchanged. Pydantic v2 / SQLModel migration and the
corresponding `poetry.lock` regeneration are handled in a **follow-up PR**
to keep
this change reviewable and independently revertable.
- No Node/frontend changes (the devcontainer Node feature stays at `18`).
### Testing
Automated (on Python 3.11.15):
- `make build-pydevlake` ✅ (resolves with `pydantic 1.10.26`, `sqlmodel
0.0.8`)
- `make unit-test-python` ✅ (azuredevops: 8 passed / 1 skipped, pydevlake:
10 passed)
Manual:
- Built the server image `base` stage from `backend/Dockerfile` → image
reports
`Python 3.11.15`, Python remote plugins build successfully.
- Started the azuredevops remote plugin and validated its `plugin-info` RPC
handshake payload (name, extension, 12 subtasks, 14 migration scripts) on
3.11.
- Ran a real data-collection flow (Jira, git, SonarQube) end to end.
### Known unrelated issue
`devcontainer build` currently fails to pull
`mcr.microsoft.com/devcontainers/go:1-1.26-bookworm`
(`.devcontainer/Dockerfile`). This base-image reference is **not** touched
by this PR
and fails identically on `main`; it is independent of the Python 3.11 change.
### Rollback
Revert this single commit; it only changes version strings and has no schema
or data impact.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]