Skip to content

ci(py-315): enable cp315 across wheel matrix, riot, and CI - #18146

Closed
vlad-scherbich wants to merge 7 commits into
mainfrom
vlad/enable-py-315-repo-wide
Closed

ci(py-315): enable cp315 across wheel matrix, riot, and CI#18146
vlad-scherbich wants to merge 7 commits into
mainfrom
vlad/enable-py-315-repo-wide

Conversation

@vlad-scherbich

@vlad-scherbich vlad-scherbich commented May 18, 2026

Copy link
Copy Markdown
Contributor

NOTE: Merge after all native profiling components build on 3.15 (i.e., after #17624 lands on main).

PROF-14439

Description

Part of the Python 3.15 integration parity effort (parent tracker: #17809). Follow-up to #17959.

With #17959 the manylinux/musllinux base images now ship a cp315-cp315 interpreter. This PR promotes 3.15 from its quarantined allow-fail job to a first-class entry across the repo:

  • cp315 wheels are now part of the main build linux matrix (no separate allow-fail job)
  • 3.15 is in the canonical SUPPORTED_PYTHON_VERSIONS list and the pyproject classifier
  • 3.15 is added to the OS-matrix and debugging-exploration jobs
  • Both generate-*-versions.yml workflows now also set up Python 3.15

Changes

Wheel matrix (.gitlab/package.yml)

  • .PYTHON_VERSIONS adds "3.15"; .PYTHON_TAGS adds "cp315-cp315"

Supported-versions canonical list

  • riotfile.py:SUPPORTED_PYTHON_VERSIONS adds (3, 15); doctests in version_to_str / str_to_version / select_pys updated

CI matrices

  • .gitlab/multi-os-tests.yml"3.15" added to 4 matrix sites + the bash loop + the needs: build linux entries
  • .gitlab/debugging-exploration.yml"3.15" added to both boto3 / botocore exploration matrices
  • .github/workflows/generate-package-versions.yml + generate-supported-versions.ymlSetup Python 3.15 step added after the 3.14 one

Intentionally NOT touched

Site Reason
.gitlab/package.yml:110 unpin-helper Helper-only path; cp314 (GA) preferred over cp315 (beta) for an out-of-band dev tool
.gitlab/fuzz.yml (PYTHON_VERSION: "3.14") Single-version fuzz runner; bumping to a beta target adds noise without benefit
testrunner 3.15-dev (.gitlab/testrunner.yml, .gitlab/templates/cached-testrunner.yml) Existing TODO already says drop -dev once GA; 3.15.0b1 is still beta
Per-test select_pys(min_version="3.14") in riotfile.py Package-specific compat gates, not the canonical version list
pyproject.toml:36 bytecode>='0.17.0',<1; python_version>='3.14.0' >= already catches 3.15
Pinned runner Python in build_python_3.yml / changelog.yml / report-skipped-flaky.yml These are job runners, unrelated to the supported list

Testing

CI:

  • "build linux" matrix exercising cp315 on x86_64 + aarch64, manylinux + musllinux
  • multi-os tests on cp315 wheels across Ubuntu / macOS / Windows
  • debugging-exploration jobs on 3.15 (allow-fail per their existing pattern)

@vlad-scherbich vlad-scherbich changed the title feat(py-315): enable cp315 across wheel matrix, riot, and CI ci(py-315): enable cp315 across wheel matrix, riot, and CI May 18, 2026
@vlad-scherbich vlad-scherbich added the changelog/no-changelog A changelog entry is not required for this PR. label May 18, 2026
@vlad-scherbich
vlad-scherbich force-pushed the vlad/enable-py-315-repo-wide branch from 76057d3 to 62bdac0 Compare May 18, 2026 18:19
@vlad-scherbich
vlad-scherbich marked this pull request as ready for review May 18, 2026 18:53
@vlad-scherbich
vlad-scherbich requested review from a team as code owners May 18, 2026 18:53
@vlad-scherbich
vlad-scherbich requested review from Yun-Kim and emmettbutler and removed request for a team May 18, 2026 18:53

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 62bdac0592

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread pyproject.toml Outdated
@vlad-scherbich
vlad-scherbich force-pushed the vlad/enable-py-315-repo-wide branch from 62bdac0 to 3d0b0ac Compare May 18, 2026 19:01
Comment thread pyproject.toml Outdated

Copilot AI 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.

Pull request overview

This PR promotes Python 3.15 (cp315) from an allow-fail/quarantined target to a first-class supported version across packaging metadata, the wheel build matrix, and CI job matrices.

Changes:

  • Adds Python 3.15 to the canonical supported-version list (riotfile.py) and expands package requires-python to include 3.15.
  • Enables cp315 across the main Linux wheel build matrix and expands multi-OS and exploration CI matrices to run against 3.15.
  • Updates GitHub Actions workflows to set up Python 3.15 and to build cp315 wheels in the deploy workflow.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
riotfile.py Adds (3, 15) to supported versions and updates doctests accordingly.
pyproject.toml Expands requires-python upper bound to allow Python 3.15.
.gitlab/package.yml Adds 3.15/cp315-cp315 into the main Linux wheel matrix and updates macOS wheel build version lists.
.gitlab/multi-os-tests.yml Adds 3.15 to Ubuntu/macOS/Windows multi-OS test matrices and updates Linux wheel needs entries.
.gitlab/debugging-exploration.yml Adds 3.15 to boto3/botocore exploration matrices.
.gitlab-ci.yml Updates benchmark job image tags to the newer manylinux image.
.github/workflows/generate-supported-versions.yml Adds a step to set up Python 3.15.
.github/workflows/generate-package-versions.yml Adds a step to set up Python 3.15.
.github/workflows/build_deploy.yml Adds cp315* to cibuildwheel build selectors and enables prerelease Python builds.
Comments suppressed due to low confidence (1)

pyproject.toml:23

  • requires-python was bumped to allow Python 3.15 (<3.16), but the classifiers list still stops at Programming Language :: Python :: 3.14. If 3.15 is now supported, add the 3.15 classifier to keep the package metadata consistent (and to match the PR description).
requires-python = ">=3.9,<3.16"
authors = [
    { name = "Datadog, Inc.", email = "dev@datadoghq.com" },
]
classifiers = [

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .gitlab/multi-os-tests.yml
Comment thread .gitlab/package.yml
@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented May 19, 2026

Copy link
Copy Markdown

Codeowners resolved as

.riot/requirements/10005a7.txt                                          @DataDog/apm-python
.riot/requirements/10213a9.txt                                          @DataDog/apm-python
.riot/requirements/102af7f.txt                                          @DataDog/apm-python
.riot/requirements/104722a.txt                                          @DataDog/apm-python
.riot/requirements/104eddc.txt                                          @DataDog/apm-python
.riot/requirements/106d369.txt                                          @DataDog/apm-python
.riot/requirements/10afc02.txt                                          @DataDog/apm-python
.riot/requirements/10b28b2.txt                                          @DataDog/apm-python
.riot/requirements/10db676.txt                                          @DataDog/apm-python
.riot/requirements/10e66c4.txt                                          @DataDog/apm-python
.riot/requirements/10fbb78.txt                                          @DataDog/apm-python
.riot/requirements/110bc24.txt                                          @DataDog/apm-python
.riot/requirements/11326db.txt                                          @DataDog/apm-python
.riot/requirements/113a3ac.txt                                          @DataDog/apm-python
.riot/requirements/119c782.txt                                          @DataDog/apm-python
.riot/requirements/119ca4e.txt                                          @DataDog/apm-python
.riot/requirements/11c1500.txt                                          @DataDog/apm-python
.riot/requirements/11d0baa.txt                                          @DataDog/apm-python
.riot/requirements/11e3514.txt                                          @DataDog/apm-python
.riot/requirements/122f03f.txt                                          @DataDog/apm-python
.riot/requirements/12535da.txt                                          @DataDog/apm-python
.riot/requirements/125deb8.txt                                          @DataDog/apm-python
.riot/requirements/12729e3.txt                                          @DataDog/apm-python
.riot/requirements/133c7bf.txt                                          @DataDog/apm-python
.riot/requirements/1370c4b.txt                                          @DataDog/apm-python
.riot/requirements/1371024.txt                                          @DataDog/apm-python
.riot/requirements/13777b0.txt                                          @DataDog/apm-python
.riot/requirements/13b9ddb.txt                                          @DataDog/apm-python
.riot/requirements/13f4cf1.txt                                          @DataDog/apm-python
.riot/requirements/13f500f.txt                                          @DataDog/apm-python
.riot/requirements/1464fb6.txt                                          @DataDog/apm-python
.riot/requirements/146e4d9.txt                                          @DataDog/apm-python
.riot/requirements/148091b.txt                                          @DataDog/apm-python
.riot/requirements/14a7a5f.txt                                          @DataDog/apm-python
.riot/requirements/1513c25.txt                                          @DataDog/apm-python
.riot/requirements/1520bf1.txt                                          @DataDog/apm-python
.riot/requirements/152375e.txt                                          @DataDog/apm-python
.riot/requirements/15380f5.txt                                          @DataDog/apm-python
.riot/requirements/159f4d9.txt                                          @DataDog/apm-python
.riot/requirements/15d6332.txt                                          @DataDog/apm-python
.riot/requirements/15de94d.txt                                          @DataDog/apm-python
.riot/requirements/15e5020.txt                                          @DataDog/apm-python
.riot/requirements/15ec62e.txt                                          @DataDog/apm-python
.riot/requirements/1606354.txt                                          @DataDog/apm-python
.riot/requirements/1623bff.txt                                          @DataDog/apm-python
.riot/requirements/163d9f6.txt                                          @DataDog/apm-python
.riot/requirements/16464fc.txt                                          @DataDog/apm-python
.riot/requirements/165ee18.txt                                          @DataDog/apm-python
.riot/requirements/1683c63.txt                                          @DataDog/apm-python
.riot/requirements/16c6888.txt                                          @DataDog/apm-python
.riot/requirements/16ccbdd.txt                                          @DataDog/apm-python
.riot/requirements/171a7fc.txt                                          @DataDog/apm-python
.riot/requirements/1724e93.txt                                          @DataDog/apm-python
.riot/requirements/174253b.txt                                          @DataDog/apm-python
.riot/requirements/1772fe4.txt                                          @DataDog/apm-python
.riot/requirements/17b25e5.txt                                          @DataDog/apm-python
.riot/requirements/17d669a.txt                                          @DataDog/apm-python
.riot/requirements/181a15b.txt                                          @DataDog/apm-python
.riot/requirements/18384e8.txt                                          @DataDog/apm-python
.riot/requirements/1857594.txt                                          @DataDog/apm-python
.riot/requirements/185983f.txt                                          @DataDog/apm-python
.riot/requirements/1860d66.txt                                          @DataDog/apm-python
.riot/requirements/186ee30.txt                                          @DataDog/apm-python
.riot/requirements/1872cc5.txt                                          @DataDog/apm-python
.riot/requirements/187f17c.txt                                          @DataDog/apm-python
.riot/requirements/18bfc0f.txt                                          @DataDog/apm-python
.riot/requirements/18d08bd.txt                                          @DataDog/apm-python
.riot/requirements/19576f2.txt                                          @DataDog/apm-python
.riot/requirements/1980c83.txt                                          @DataDog/apm-python
.riot/requirements/1981342.txt                                          @DataDog/apm-python
.riot/requirements/19aebec.txt                                          @DataDog/apm-python
.riot/requirements/19ec2d2.txt                                          @DataDog/apm-python
.riot/requirements/1a1c4a6.txt                                          @DataDog/apm-python
.riot/requirements/1a38fe4.txt                                          @DataDog/apm-python
.riot/requirements/1a52707.txt                                          @DataDog/apm-python
.riot/requirements/1a9ed05.txt                                          @DataDog/apm-python
.riot/requirements/1abe7fb.txt                                          @DataDog/apm-python
.riot/requirements/1b3b386.txt                                          @DataDog/apm-python
.riot/requirements/1b5cfdb.txt                                          @DataDog/apm-python
.riot/requirements/1bc6a91.txt                                          @DataDog/apm-python
.riot/requirements/1be88d7.txt                                          @DataDog/apm-python
.riot/requirements/1bfec91.txt                                          @DataDog/apm-python
.riot/requirements/1c196f7.txt                                          @DataDog/apm-python
.riot/requirements/1c1a5d5.txt                                          @DataDog/apm-python
.riot/requirements/1c23d72.txt                                          @DataDog/apm-python
.riot/requirements/1c6e83b.txt                                          @DataDog/apm-python
.riot/requirements/1c7f150.txt                                          @DataDog/apm-python
.riot/requirements/1ccf668.txt                                          @DataDog/apm-python
.riot/requirements/1d124b3.txt                                          @DataDog/apm-python
.riot/requirements/1d2b438.txt                                          @DataDog/apm-python
.riot/requirements/1df0aa5.txt                                          @DataDog/apm-python
.riot/requirements/1e1b808.txt                                          @DataDog/apm-python
.riot/requirements/1e21794.txt                                          @DataDog/apm-python
.riot/requirements/1e35105.txt                                          @DataDog/apm-python
.riot/requirements/1e85aeb.txt                                          @DataDog/apm-python
.riot/requirements/1ec0f69.txt                                          @DataDog/apm-python
.riot/requirements/1ed3034.txt                                          @DataDog/apm-python
.riot/requirements/1f18f11.txt                                          @DataDog/apm-python
.riot/requirements/1f3337b.txt                                          @DataDog/apm-python
.riot/requirements/1f96562.txt                                          @DataDog/apm-python
.riot/requirements/1fa7591.txt                                          @DataDog/apm-python
.riot/requirements/207f53b.txt                                          @DataDog/apm-python
.riot/requirements/216f2bc.txt                                          @DataDog/apm-python
.riot/requirements/29740a6.txt                                          @DataDog/apm-python
.riot/requirements/29ebed9.txt                                          @DataDog/apm-python
.riot/requirements/2b8e006.txt                                          @DataDog/apm-python
.riot/requirements/2bcbb46.txt                                          @DataDog/apm-python
.riot/requirements/2d32b69.txt                                          @DataDog/apm-python
.riot/requirements/3045857.txt                                          @DataDog/apm-python
.riot/requirements/30915bf.txt                                          @DataDog/apm-python
.riot/requirements/3160132.txt                                          @DataDog/apm-python
.riot/requirements/31e8194.txt                                          @DataDog/apm-python
.riot/requirements/341476e.txt                                          @DataDog/apm-python
.riot/requirements/34b9dda.txt                                          @DataDog/apm-python
.riot/requirements/35593ec.txt                                          @DataDog/apm-python
.riot/requirements/360479f.txt                                          @DataDog/apm-python
.riot/requirements/3949f88.txt                                          @DataDog/apm-python
.riot/requirements/3a49f6a.txt                                          @DataDog/apm-python
.riot/requirements/3c9cb33.txt                                          @DataDog/apm-python
.riot/requirements/3e7ac96.txt                                          @DataDog/apm-python
.riot/requirements/3f4fd40.txt                                          @DataDog/apm-python
.riot/requirements/4a55cef.txt                                          @DataDog/apm-python
.riot/requirements/4b696f6.txt                                          @DataDog/apm-python
.riot/requirements/5172fed.txt                                          @DataDog/apm-python
.riot/requirements/5481194.txt                                          @DataDog/apm-python
.riot/requirements/5657c28.txt                                          @DataDog/apm-python
.riot/requirements/57d1ee5.txt                                          @DataDog/apm-python
.riot/requirements/59ed0f2.txt                                          @DataDog/apm-python
.riot/requirements/5a3bb57.txt                                          @DataDog/apm-python
.riot/requirements/5aaa636.txt                                          @DataDog/apm-python
.riot/requirements/5e492fe.txt                                          @DataDog/apm-python
.riot/requirements/63e58e7.txt                                          @DataDog/apm-python
.riot/requirements/666af14.txt                                          @DataDog/apm-python
.riot/requirements/680c5e9.txt                                          @DataDog/apm-python
.riot/requirements/6dba1dd.txt                                          @DataDog/apm-python
.riot/requirements/6fd442a.txt                                          @DataDog/apm-python
.riot/requirements/714f42e.txt                                          @DataDog/apm-python
.riot/requirements/72400f6.txt                                          @DataDog/apm-python
.riot/requirements/739ae0b.txt                                          @DataDog/apm-python
.riot/requirements/7592cd0.txt                                          @DataDog/apm-python
.riot/requirements/75c62d8.txt                                          @DataDog/apm-python
.riot/requirements/7a6f87d.txt                                          @DataDog/apm-python
.riot/requirements/7d7277d.txt                                          @DataDog/apm-python
.riot/requirements/7fc7a2e.txt                                          @DataDog/apm-python
.riot/requirements/843dc02.txt                                          @DataDog/apm-python
.riot/requirements/84610e2.txt                                          @DataDog/apm-python
.riot/requirements/846f063.txt                                          @DataDog/apm-python
.riot/requirements/85d915f.txt                                          @DataDog/apm-python
.riot/requirements/89ecf15.txt                                          @DataDog/apm-python
.riot/requirements/916bf2f.txt                                          @DataDog/apm-python
.riot/requirements/97e4776.txt                                          @DataDog/apm-python
.riot/requirements/9c64964.txt                                          @DataDog/apm-python
.riot/requirements/9cb4792.txt                                          @DataDog/apm-python
.riot/requirements/a22588d.txt                                          @DataDog/apm-python
.riot/requirements/a40acd4.txt                                          @DataDog/apm-python
.riot/requirements/a8a25c8.txt                                          @DataDog/apm-python
.riot/requirements/a8cd5f9.txt                                          @DataDog/apm-python
.riot/requirements/ab6b7ca.txt                                          @DataDog/apm-python
.riot/requirements/ac52141.txt                                          @DataDog/apm-python
.riot/requirements/adbca69.txt                                          @DataDog/apm-python
.riot/requirements/b388a93.txt                                          @DataDog/apm-python
.riot/requirements/ba72536.txt                                          @DataDog/apm-python
.riot/requirements/bb02597.txt                                          @DataDog/apm-python
.riot/requirements/bc72ade.txt                                          @DataDog/apm-python
.riot/requirements/bcd1bbd.txt                                          @DataDog/apm-python
.riot/requirements/be23862.txt                                          @DataDog/apm-python
.riot/requirements/be29709.txt                                          @DataDog/apm-python
.riot/requirements/c27b380.txt                                          @DataDog/apm-python
.riot/requirements/c27f6e1.txt                                          @DataDog/apm-python
.riot/requirements/c2ce19f.txt                                          @DataDog/apm-python
.riot/requirements/c6c7b9e.txt                                          @DataDog/apm-python
.riot/requirements/ca8f433.txt                                          @DataDog/apm-python
.riot/requirements/cab1c93.txt                                          @DataDog/apm-python
.riot/requirements/cb13dd8.txt                                          @DataDog/apm-python
.riot/requirements/cbe6f67.txt                                          @DataDog/apm-python
.riot/requirements/ceee78c.txt                                          @DataDog/apm-python
.riot/requirements/d04c71e.txt                                          @DataDog/apm-python
.riot/requirements/d181eae.txt                                          @DataDog/apm-python
.riot/requirements/d27dc4c.txt                                          @DataDog/apm-python
.riot/requirements/d33e79a.txt                                          @DataDog/apm-python
.riot/requirements/d632579.txt                                          @DataDog/apm-python
.riot/requirements/d63df32.txt                                          @DataDog/apm-python
.riot/requirements/d8ffa4b.txt                                          @DataDog/apm-python
.riot/requirements/dc3ca59.txt                                          @DataDog/apm-python
.riot/requirements/e00a8b5.txt                                          @DataDog/apm-python
.riot/requirements/ee54ec5.txt                                          @DataDog/apm-python
.riot/requirements/ee76200.txt                                          @DataDog/apm-python
.riot/requirements/ef70880.txt                                          @DataDog/apm-python
.riot/requirements/f09fe73.txt                                          @DataDog/apm-python
.riot/requirements/f1bae87.txt                                          @DataDog/apm-python
.riot/requirements/f41ce99.txt                                          @DataDog/apm-python
.riot/requirements/f45a5dd.txt                                          @DataDog/apm-python
.riot/requirements/f865f94.txt                                          @DataDog/apm-python
.riot/requirements/fccfd51.txt                                          @DataDog/apm-python
tested_versions.json                                                    @DataDog/apm-core-python @DataDog/apm-idm-python

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

Pipelines  Tests

Fix all issues with BitsAI

⚠️ Warnings

🚦 16 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-py | build linux: [arm64, cp315-cp315, v113741589-d2b8243-musllinux_1_2_aarch64]   View in Datadog   GitLab

🔧 Fix in code (Fix with Cursor). AssertionError: Failed with DD_IAST_ENABLED=0: 1

DataDog/apm-reliability/dd-trace-py | debugging/exploration/boto3: [3.15]   View in Datadog   GitLab

🔧 Fix in code (Fix with Cursor). Invalid wheel filename (invalid version): 'ddtrace-*-cp315-cp315-*'.

DataDog/apm-reliability/dd-trace-py | debugging/exploration/botocore: [3.15]   View in Datadog   GitLab

🔧 Fix in code (Fix with Cursor). Invalid wheel filename during pip installation: 'ddtrace-*-cp315-cp315-*'. File does not exist: '/go/src/github.com/DataDog/apm-reliability/dd-trace-py/pywheels/ddtrace-*-${PY_TAG}-${PY_TAG}-*.whl'.

View all 16 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: cf9c7c5 | Docs | Datadog PR Page | Give us feedback!

Copilot AI 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.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

pyproject.toml:34

  • requires-python was extended to <3.16 (implying 3.15 support), but the Trove classifiers list in this file still stops at Programming Language :: Python :: 3.14. If the PR intends to advertise 3.15 support on PyPI, update the classifiers accordingly (or clarify/adjust the PR description if omitting the classifier is intentional due to 3.15 being pre-GA).
# ddtrace has many sub-components which can break when CPython internals
# change over versions, e.g. profiling. So we explicitly mark incompatibility
# with versions we don't support yet.
requires-python = ">=3.9,<3.16"
authors = [
    { name = "Datadog, Inc.", email = "dev@datadoghq.com" },
]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Programming Language :: Python :: Implementation :: CPython",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: 3.14",
]

Comment thread .gitlab/debugging-exploration.yml
Comment thread .github/workflows/generate-supported-versions.yml
Comment thread .github/workflows/generate-package-versions.yml
Comment thread .github/workflows/build_deploy.yml
@vlad-scherbich
vlad-scherbich force-pushed the vlad/enable-py-315-repo-wide branch 2 times, most recently from bd61768 to d026865 Compare May 19, 2026 19:56
@vlad-scherbich
vlad-scherbich requested a review from Copilot May 19, 2026 20:08

Copilot AI 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.

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

@vlad-scherbich
vlad-scherbich requested a review from Copilot May 19, 2026 20:14

@taegyunkim taegyunkim 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.

@vlad-scherbich build windows 3.15 jobs and os tests ubuntu 3.15 are failing

@pr-commenter

pr-commenter Bot commented May 19, 2026

Copy link
Copy Markdown

Benchmarks

Benchmark execution time: 2026-05-20 20:20:50

Comparing candidate commit cf9c7c5 in PR branch vlad/enable-py-315-repo-wide with baseline commit 4119664 in branch main.

Found 0 performance improvements and 2 performance regressions! Performance is the same for 618 metrics, 10 unstable metrics.

scenario:iastaspectsospath-ospathbasename_aspect

  • 🟥 execution_time [+75.677µs; +89.952µs] or [+18.076%; +21.486%]

scenario:span-start

  • 🟥 execution_time [+1.549ms; +1.690ms] or [+10.273%; +11.214%]

Comment thread riotfile.py
@vlad-scherbich
vlad-scherbich force-pushed the vlad/py315-wheel-allow-fail branch from cef86bd to c97aa07 Compare May 20, 2026 15:16
@vlad-scherbich
vlad-scherbich force-pushed the vlad/enable-py-315-repo-wide branch from 25096e9 to f1a7c8c Compare May 20, 2026 16:39
@vlad-scherbich
vlad-scherbich requested review from a team as code owners May 20, 2026 16:39
@vlad-scherbich
vlad-scherbich requested review from dubloom and removed request for a team May 20, 2026 16:39
@vlad-scherbich
vlad-scherbich force-pushed the vlad/enable-py-315-repo-wide branch 2 times, most recently from 0d8f224 to d7359c9 Compare May 20, 2026 16:44
Base automatically changed from vlad/py315-wheel-allow-fail to main May 20, 2026 17:02
@vlad-scherbich
vlad-scherbich force-pushed the vlad/enable-py-315-repo-wide branch from d7359c9 to 3629169 Compare May 20, 2026 18:03
build_deploy.yml: add cp315* to cibw_build, skip cp315t*, enable
prerelease pythons flag (3.15 is still beta).

package.yml: add 3.15 to macOS build matrix for both amd64 and arm64.
The os tests windows job needs build windows: [3.15, amd64] but the
build windows matrix only went up to 3.14.
@vlad-scherbich
vlad-scherbich force-pushed the vlad/enable-py-315-repo-wide branch from b329aaf to cf9c7c5 Compare May 20, 2026 19:50
@vlad-scherbich

Copy link
Copy Markdown
Contributor Author

@vlad-scherbich
vlad-scherbich marked this pull request as draft May 20, 2026 20:08
gnufede added a commit that referenced this pull request May 28, 2026
Adds all .riot/requirements/*.txt lockfiles for Python 3.15 across every
suite that uses select_pys() without a max_version cap. These were
missing after adding (3, 15) to SUPPORTED_PYTHON_VERSIONS, causing the
check_requirements_lockfiles CI job to fail.

Lockfile content sourced from PR #18146 (the coordinated Python 3.15
enablement PR), which generated them by running pip-compile with Python
3.15 installed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot added the stale label Jul 7, 2026
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

This pull request has been automatically closed after a period of inactivity.
After this much time, it will likely be easier to open a new pull request with the
same changes than to update this one from the base branch. Please comment or reopen
if you think this pull request was closed in error.

@github-actions github-actions Bot closed this Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/no-changelog A changelog entry is not required for this PR. stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants