Skip to content

Vlad/python migration scenarios - #161

Closed
vlad-scherbich wants to merge 7 commits into
mainfrom
vlad/python-migration-scenarios
Closed

Vlad/python migration scenarios#161
vlad-scherbich wants to merge 7 commits into
mainfrom
vlad/python-migration-scenarios

Conversation

@vlad-scherbich

Copy link
Copy Markdown
Contributor

No description provided.

Add mem-domain, exceptions, async-generator, and lock profiling scenarios
for Python 3.12, plus GitHub STS policy for dd-trace-py workflow triggers.
…candidate

Replace the 3.12 migration set with paired 3.14/3.15 scenarios for the
3.14→3.15 gate. 3.15 scenarios rely on DDTRACE_INSTALL_URL (downstream CI);
exclude them from prof-correctness main CI until PyPI wheels exist.
Hold a 16 MiB bytearray allocation across periodic heap uploads and
assert allocate_mem_domain_buffer appears in heap-space on profiles 2+.
Replace the standalone python_live_heap_3.13 scenario with a paired
python_live_heap_3.14 (baseline) + python_live_heap_3.15 (candidate) so
live-heap actually tests the 3.14->3.15 migration delta like the other four
families. Both dirs are wheel-only (persistent live-heap is unreleased), so
they build against DDTRACE_INSTALL_URL and are excluded from main CI until the
feature ships.

Update the downstream gate to 10 scenarios: add the live-heap row + coverage
entry, extend the gate regexp to include live_heap, clarify wheel-install
rules, and note floor-version (oldest-supported) coverage as future work.
Drop the now-unused base_images/Dockerfile.python-3.13 and gitignore .vscode.
The python job selected scenarios with a negative-lookahead regex
(python(?!.*_3\.15$).*), but the matcher is Go's RE2 which rejects lookahead,
so list-scenarios errored and the entire Python gate was skipped on push CI.

Add an -exclude flag to cmd/list-scenarios (RE2, unanchored) and a matching
test_scenarios_exclude input to test.yml, then have ci.yml run 'python.*'
excluding the wheel-only scenarios that can't run against PyPI ddtrace: every
*_3.15, python_live_heap_3.14 (persistent live-heap unreleased), and the
python_downstream_gate index dir.

Also fix ruff: drop a stray blank line in the live_heap main.py import blocks
(I001) and ignore EM101/SIM105 for the exceptions scenarios, whose deliberate
string-literal raise + try/except/pass is the profiled workload.
@vlad-scherbich

Copy link
Copy Markdown
Contributor Author

close in favor of #165

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant