wu-sheng opened a new pull request, #386: URL: https://github.com/apache/skywalking-python/pull/386
## Summary - **Fix root cause of PR #374 failures**: missing `import importlib.util` in plugin loader caused `NameError` on Python 3.12+, plus CI test step venv mismatch - **Drop Python 3.8/3.9** (EOL), **add 3.12/3.13/3.14** to CI matrix and Docker images - Replace deprecated `find_module`/`load_module` with `find_spec`/`module_from_spec` across plugin loader and doc generator - Mark plugins/lint dependency groups as optional; use `>=` ranges so `poetry lock` resolves on newer Python - Replace unapproved `getsentry/paths-filter` GHA with approved `dorny/paths-filter` - Update `testcontainers` `DockerCompose` API for v4 compatibility ### Key design decisions - **Plugin group deps changed from exact pins to `>=` ranges**: The exact versions tested per plugin are NOT affected — those are controlled by each plugin's `support_matrix` dict and enforced via Docker `requirements.txt`. The pyproject.toml plugin group is only for dev-machine installation. - **CI test step uses `--without plugins,lint`**: Plugin integration tests run inside Docker containers, so the host only needs `pytest` + `testcontainers`. This avoids resolving old plugin deps (e.g., django 3.2, celery 5.1) on Python 3.12+. ### Verified locally Docker images build and agent loads all 35 plugins on Python 3.10, 3.11, 3.12, 3.13, and 3.14: ``` === Python 3.10 === Plugins discovered: 35 — SUCCESS === Python 3.11 === Plugins discovered: 35 — SUCCESS === Python 3.12 === Plugins discovered: 35 — SUCCESS === Python 3.13 === Plugins discovered: 35 — SUCCESS === Python 3.14 === Plugins discovered: 35 — SUCCESS ``` ## Test plan - [ ] CI plugin tests pass on Python 3.10/3.11 (existing coverage) - [ ] CI plugin tests pass on Python 3.12/3.13/3.14 (new) - [ ] E2E tests pass across all Python versions - [ ] Docker images build for all variants - [ ] Lint and doc-gen checks pass Supersedes #374 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
