ci(riot): schedule Python 3.15 jobs for 'smoke_test.py ' (PROF-14439) - #19906
Conversation
Codeowners resolved asResolved from the full PR diff against No remaining files require a CODEOWNERS review. |
Circular import analysis
|
Dependency direction analysis
|
🎉 All green!🧪 All tests passed 🔗 Commit SHA: 8c7799f | Docs | View more details | Give us feedback! |
d848db1 to
2579787
Compare
BenchmarksBenchmark execution time: 2026-09-04 19:32:16 Comparing candidate commit 8c7799f in PR branch Found 0 performance improvements and 7 performance regressions! Performance is the same for 576 metrics, 10 unstable metrics, 2 known flaky benchmarks, 16 flaky benchmarks without significant changes.
|
2579787 to
d859c84
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the Riot CI configuration to make Python 3.15 available for opt-in scheduling while keeping the default Riot max version capped at 3.14, and adds the corresponding 3.15 lockfiles for a starter set of suites.
Changes:
- Add
(3, 15)toSUPPORTED_PYTHON_VERSIONSand extend doctests to cover 3.15. - Keep the default Riot cap at
MAX_PYTHON_VERSION = "3.14"while opting six selected venvs into 3.15 viaselect_pys(max_version="3.15"). - Add six new
.riot/requirements/*.txtlockfiles generated under Python 3.15 for the newly introduced 3.15 hashes.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
riotfile.py |
Adds 3.15 to supported versions, keeps default max at 3.14, and opts specific venvs into 3.15 selection. |
.riot/requirements/ee54ec5.txt |
New Python 3.15 lockfile for one of the newly-added 3.15 venv hashes. |
.riot/requirements/c2ce19f.txt |
New Python 3.15 lockfile for one of the newly-added 3.15 venv hashes (includes setuptools in unsafe section). |
.riot/requirements/b388a93.txt |
New Python 3.15 lockfile for one of the newly-added 3.15 venv hashes. |
.riot/requirements/1abe7fb.txt |
New Python 3.15 lockfile for one of the newly-added 3.15 venv hashes. |
.riot/requirements/15d6332.txt |
New Python 3.15 lockfile for one of the newly-added 3.15 venv hashes. |
.riot/requirements/10db676.txt |
New Python 3.15 lockfile for one of the newly-added 3.15 venv hashes. |
Suppressed comments (1)
riotfile.py:71
- str_to_version() can return variable-length tuples (the doctest includes "3" -> (3,)), but the return type annotation is tuple[int, int]. Updating the return annotation to tuple[int, ...] matches the actual behavior.
>>> str_to_version("3")
(3,)
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
d859c84 to
a4e0a2a
Compare
**prev:** [#19906](#19906) | **next:** [#19910](#19910) ## Summary Wrapping context + bytecode injection for 3.15. Delta vs #19906 only (monitoring + 3.15 assemblies). ## Test plan - [ ] CI green on this branch - [ ] Stack merges cleanly into the next PR's base branch Co-authored-by: vlad-scherbich <vlad.scherbich@datadoghq.com> Co-authored-by: gabriele.tornetta <gabriele.tornetta@datadoghq.com>
a4e0a2a to
cc2e9df
Compare
f7e0135 to
bd4659f
Compare
bd4659f to
39cfe79
Compare
7b7d41a to
01c684c
Compare
01c684c to
5e329eb
Compare
**prev:** [#19903](#19903) | **next:** [#19906](#19906) ## Description Delta vs #19903. `logging.get_version()` returns `""` instead of reading the deprecated `logging.__version__`. Also drops rST double-backticks in the `patch()` docstring. Native profiling is not in this PR. ## Testing <!-- How has the PR been validated? Please explain how you tested the PR, both on a functional and safety level. Feel free to include screenshots, DoE results, etc. Note to agents: if you are generating this PR, do not answer and leave a placeholder instead. --> ## Risks <!-- What could go wrong with this PR? Ask yourself what the risks are, then explain how your are mitigating them. What is the rollout strategy? What is the rollback strategy? How are we limiting to a minimum customer exposure to bugs or crashes? Note to agents: if you are generating this PR, do not answer and leave a placeholder instead. --> ## Additional Notes `changelog/no-changelog`. Contributes to #17817 Co-authored-by: vlad.scherbich <vlad.scherbich@datadoghq.com>
5e329eb to
e087bd8
Compare
List 3.15 in SUPPORTED_PYTHON_VERSIONS so select_pys can opt in. Default MAX stays 3.14. Smoke and sourcecode opt in.
e087bd8 to
5afa466
Compare
Defer the bytecode-only injection assembly import and no-op that unsupported helper on Python 3.15, allowing sourcecode instrumentation dependencies to load on the monitoring path. Opt the sourcecode and ddtrace_api suites into 3.15 while keeping the global Python cap at 3.14.
|
/code blockers |
|
View all feedbacks in Devflow UI.
Checking merge blockers for #19906...
Detected 5 merge blocker(s) to address: 🔴 Blocking
🟠 Pending
|
|
/code blockers |
|
View all feedbacks in Devflow UI.
Checking merge blockers for #19906...
Detected 4 merge blocker(s) to address: 🔴 Blocking
🟠 Pending
|
|
/code blockers |
|
View all feedbacks in Devflow UI.
Checking merge blockers for #19906...
Detected 4 merge blocker(s) to address: 🔴 Blocking
🟠 Pending
|
|
/code blockers |
|
View all feedbacks in Devflow UI.
Checking merge blockers for #19906...
Detected 2 merge blocker(s) to address: 🔴 Blocking
🟠 Pending
|
7692bdc
into
main
Description
Delta vs #19267.
Adds
(3, 15)toSUPPORTED_PYTHON_VERSIONSand optssmoke_test/sourcecodeinto 3.15. DefaultMAX_PYTHON_VERSIONstays"3.14".Does not widen
requires-python. Does not enable wrap() on 3.15.Testing
scripts/lint riotandscripts/lint style riotfile.py.Risks
smoke_testis required bybuild_base_venvswhenever 3.15 is in the matrix.Additional Notes
No release note: CI chore,
changelog/no-changelog.Contributes to #17816