|
1 | 1 | # Python downstream gate (dd-trace-py) |
2 | 2 |
|
3 | | -Paired **3.14 (baseline)** and **3.15 (candidate)** prof-correctness scenarios |
4 | | -exercise the Python profiling stack for the 3.14 → 3.15 migration. They are the |
5 | | -intended default set when dd-trace-py triggers downstream CI on profiling changes. |
6 | | - |
7 | | -**Scenarios land in follow-up PRs** (core families first, then feature-specific |
8 | | -pairs). This directory is an index only — not a runnable scenario. |
| 3 | +Two prof-correctness scenarios exercise **persistent live-heap** profiling on |
| 4 | +**3.14 (baseline)** and **3.15 (candidate)**. Both dirs are **wheel-only** |
| 5 | +(persistent live-heap is not in a published PyPI release yet). |
9 | 6 |
|
10 | 7 | ## Scenarios |
11 | 8 |
|
12 | | -| Family | 3.14 (baseline) | 3.15 (candidate) | PR | |
13 | | -|--------|-----------------|---------------------|-----| |
14 | | -| _(pending)_ | — | — | Core scenarios in follow-up PRs | |
| 9 | +| Family | 3.14 (baseline) | 3.15 (candidate) | |
| 10 | +|--------|-------------------|------------------| |
| 11 | +| live-heap | `python_live_heap_3.14` | `python_live_heap_3.15` | |
15 | 12 |
|
16 | 13 | ## Default downstream regexp |
17 | 14 |
|
18 | | -Once scenarios are added, dd-trace-py should pass an explicit regexp (not the |
19 | | -downstream workflow default of `python.*`). The regexp grows as families merge; |
20 | | -see each PR for the current value. |
21 | | - |
22 | | -Override via `workflow_dispatch` → `test_scenarios`, or when triggering |
23 | | -[`downstream-python.yml`](../../.github/workflows/downstream-python.yml) manually. |
24 | | - |
25 | | -## Wheel install |
| 15 | +``` |
| 16 | +python_live_heap_3\.(14|15) |
| 17 | +``` |
26 | 18 |
|
27 | | -Every scenario builds against a **dd-trace-py wheel** via `DDTRACE_INSTALL_URL` |
28 | | -(as `downstream-python.yml` does: |
29 | | -`https://dd-trace-py-builds.s3.amazonaws.com/<sha>/install.sh`), pre-installed in |
30 | | -the base image. |
| 19 | +## CI exclude |
31 | 20 |
|
32 | | -- **All `*_3.15` folders** — PyPI wheels may not be published for 3.15 yet; |
33 | | - excluded from prof-correctness `main` CI (see `test_scenarios_exclude` in |
34 | | - [`.github/workflows/ci.yml`](../../.github/workflows/ci.yml)). |
35 | | -- **Wheel-only 3.14 folders** — scenarios that depend on unreleased ddtrace |
36 | | - features are also excluded from `main` CI until the feature ships. |
| 21 | +Both folders require `DDTRACE_INSTALL_URL`. `python_live_heap_3.14` is also |
| 22 | +listed in [`ci.yml`](../../.github/workflows/ci.yml) `test_scenarios_exclude` |
| 23 | +until the feature ships in a PyPI release. |
37 | 24 |
|
38 | 25 | ## Local run |
39 | 26 |
|
40 | 27 | ```sh |
41 | 28 | export DDTRACE_INSTALL_URL="https://dd-trace-py-builds.s3.amazonaws.com/<commit-sha>/install.sh" |
42 | | -TEST_SCENARIOS='<gate-regexp>' go test -v -run TestScenarios |
| 29 | +TEST_SCENARIOS='python_live_heap_3\.(14|15)' go test -v -run TestScenarios |
43 | 30 | ``` |
44 | | - |
45 | | -## Gate lifecycle |
46 | | - |
47 | | -This gate tests the **migration delta** (3.14 → 3.15). It is time-boxed: retire |
48 | | -the paired 14v15 framing at 3.15 GA and fold workloads into steady-state |
49 | | -prof-correctness on {oldest, newest} supported Python versions. |
50 | | - |
51 | | -## Further reading |
52 | | - |
53 | | -- prof-correctness downstream wiring: [README](../../README.md#downstream-from-dd-trace-py) |
0 commit comments