Skip to content

feat(ci): add 3.14/3.15 base images and scenario exclusions (PROF-15511) - #165

Draft
vlad-scherbich wants to merge 3 commits into
mainfrom
vlad/gate-infra
Draft

feat(ci): add 3.14/3.15 base images and scenario exclusions (PROF-15511)#165
vlad-scherbich wants to merge 3 commits into
mainfrom
vlad/gate-infra

Conversation

@vlad-scherbich

@vlad-scherbich vlad-scherbich commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Prev: #174 (merged) | Next: #166 (parallel after #165: #167, #168)

Motivation

Foundation for the Python 3.14 → 3.15 downstream gate on dd-trace-py. Rebased on latest main.

Summary

Infra only — no scenario directories in this PR.

  • RE2-safe scenario exclusionlist-scenarios -exclude + test.yml wiring; ci.yml sets test_scenarios_exclude: '_3\.15$|^python_downstream_gate$'
  • Base imagesbase_images/Dockerfile.python-3.14 and python-3.15
  • Gate indexscenarios/python_downstream_gate/README.md (docs only)
  • Downstream docs — root README + GitHub STS policy (dd-trace-py.github.trigger-ci.sts.yaml)

Removed from this PR (were accidental rebase noise): node_allocations flake fix, pyproject.toml exceptions ruff ignore (→ #166).

Demo FAIL / PASS (local, no commit)

To demo the new exclude check failing locally:

# break want line in cmd/list-scenarios/main_test.go (TestRun_ExcludeDropsMatchedNames)
go test -v ./cmd/list-scenarios/...
git restore cmd/list-scenarios/main_test.go   # PASS again

Test plan

  • go test ./cmd/list-scenarios/...
  • go test -run TestSchemaValidation
  • Downstream gate with DDTRACE_INSTALL_URL (after stack lands + dd-trace-py wiring)

@vlad-scherbich
vlad-scherbich changed the base branch from main to vlad/chore-ruff-pre-commit July 27, 2026 21:41
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-infra branch 3 times, most recently from a283a8c to 9dfaad8 Compare July 27, 2026 22:05
@vlad-scherbich vlad-scherbich changed the title feat(ci): add 3.14/3.15 base images and scenario exclude for downstre… feat(ci): add 3.14/3.15 base images and scenario exclusions (PROF-15511) Jul 27, 2026
Base automatically changed from vlad/chore-ruff-pre-commit to main July 28, 2026 07:11
@vlad-scherbich
vlad-scherbich marked this pull request as ready for review August 6, 2026 18:58
@vlad-scherbich
vlad-scherbich requested a review from a team as a code owner August 6, 2026 18:58
@vlad-scherbich
vlad-scherbich requested a review from Copilot August 6, 2026 18:58
@vlad-scherbich
vlad-scherbich marked this pull request as draft August 6, 2026 19:01

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@KowalskiThomas KowalskiThomas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see many changes in the diff that seem unrelated to what the description says, maybe bad rebase?

vlad-scherbich added a commit that referenced this pull request Aug 16, 2026
Demo-only: TestRun_ExcludeDropsMatchedNames expects live_heap in the
included set. Revert this commit (or restore the want line) to demo PASS.
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-infra branch 2 times, most recently from 49e69dd to 9836924 Compare August 16, 2026 20:13
- ddprof_live_heap: widen alloc-space margin to 15% (CI often ~94% vs 100%
  due to C++ runtime overhead; see scenario README)
- ddprof_julia: pin julia:1.11.5-bookworm instead of :latest, and allow the
  first CPU profile cycle to fail when JIT symbols are not yet exported
- ddprof_live_heap: widen alloc-space margin to 15% (CI often ~94% vs 100%
  due to C++ runtime overhead; see scenario README)
- ddprof_julia: pin julia:1.11.5-bookworm instead of :latest, and allow the
  first CPU profile cycle to fail when JIT symbols are not yet exported
…am gate

Add RE2-safe list-scenarios -exclude and ci.yml test_scenarios_exclude so
wheel-only Python scenarios are not silently skipped. Ship Python 3.14/3.15
base images, dd-trace-py STS trigger policy, and migration gate index README.
Scenario workloads land in follow-up PRs.
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.

3 participants