ci: run 3.15 gates against a pinned S3 wheel (PROF-15511) - #194
Merged
Conversation
Temporary until 3.15 natives land on main. 3.14 PyPI jobs are unchanged.
vlad-scherbich
marked this pull request as ready for review
September 1, 2026 17:39
gyuheon0h
approved these changes
Sep 1, 2026
There was a problem hiding this comment.
Pull request overview
This PR temporarily adds a dedicated CI job to run Python 3.15 downstream gate scenarios against a pinned dd-trace-py S3 wheel, until 3.15 native support lands on main upstream.
Changes:
- Adds a new
python_3.15-scoped workflow job in CI that runs 3.15 scenarios with a pinnedddtrace_install_urlfrom S3. - Updates downstream gate documentation to reflect the new 3.15 CI behavior and pin rationale.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| scenarios/python_downstream_gate/README.md | Updates documentation to point 3.15 runs at the dedicated CI job with the temporary S3 wheel pin. |
| .github/workflows/ci.yml | Introduces a new Python 3.15 job that runs selected scenarios using a pinned S3 install script. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Dots are illegal in GitHub Actions job ids; rename python_3.15 to python_3_15.
The da3df551 cp315 wheel still declares >=3.9,<3.15, so pip refuses 3.15.0.
python stays the pre-3.14 scenarios. python_3_14 and python_3_15 run the same families on one S3 wheel so the interpreter is the only variable.
gevent/uvloop 3.15 skipped pip install because the comment was about ddtrace. Later live-samples misses were CodeProvenance allocations, not retain_major/minor drift.
uvloop has no cp315 wheel. Building the sdist SIGSEGVs (pip exit -11) on python:3.15.0b1, so the pair is out of the gate jobs until a wheel exists. Dropping 3.15 only would leave an unpaired 3.14 capture.
greenlet cp315 wheels need _PyGC_VisitFrameStack, which landed in 3.15b2. Current wheels are built against rc1; 3.15.0b1 cannot load them.
vlad-scherbich
marked this pull request as draft
September 1, 2026 18:55
This comment has been minimized.
This comment has been minimized.
da3df551 cp315 SIGSEGVs on 3.15.0rc1 (CPython ABI frozen at rc1). greenlet cp315 needs _PyGC_VisitFrameStack (b2+), so gevent cannot run on b1 either. Lock stays; it passed on b1 with this wheel.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Temporary until 3.15 natives land on main:
3.14 PyPI jobs are unchanged.