Skip to content

ci: run 3.15 gates against a pinned S3 wheel (PROF-15511) - #194

Merged
vlad-scherbich merged 8 commits into
mainfrom
vlad/ci-pin-python-315-wheel
Sep 1, 2026
Merged

ci: run 3.15 gates against a pinned S3 wheel (PROF-15511)#194
vlad-scherbich merged 8 commits into
mainfrom
vlad/ci-pin-python-315-wheel

Conversation

@vlad-scherbich

@vlad-scherbich vlad-scherbich commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Temporary until 3.15 natives land on main. 3.14 PyPI jobs are unchanged.
@vlad-scherbich vlad-scherbich changed the title ci: run 3.15 gates against a pinned S3 wheel ci: run 3.15 gates against a pinned S3 wheel (PROF-15511) Sep 1, 2026
@vlad-scherbich
vlad-scherbich marked this pull request as ready for review September 1, 2026 17:39
@vlad-scherbich
vlad-scherbich requested a review from a team as a code owner September 1, 2026 17:39
@vlad-scherbich
vlad-scherbich requested a lite review from Copilot September 1, 2026 17:40

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.

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 pinned ddtrace_install_url from 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.

Comment thread .github/workflows/ci.yml Outdated
Comment thread scenarios/python_downstream_gate/README.md Outdated
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
vlad-scherbich marked this pull request as draft September 1, 2026 18:55
@datadog-official

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.
@vlad-scherbich
vlad-scherbich marked this pull request as ready for review September 1, 2026 19:14
@vlad-scherbich
vlad-scherbich merged commit 8936ccb into main Sep 1, 2026
40 checks passed
@vlad-scherbich
vlad-scherbich deleted the vlad/ci-pin-python-315-wheel branch September 1, 2026 19:15
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