Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: test with Python 3.13 #10821

Merged
merged 75 commits into from
Dec 18, 2024
Merged

ci: test with Python 3.13 #10821

merged 75 commits into from
Dec 18, 2024

Conversation

brettlangdon
Copy link
Member

@brettlangdon brettlangdon commented Sep 26, 2024

This change adjusts CI and the library itself to work under Python 3.13. Any tests that failed under 3.13 are skipped on 3.13 for now and will be unskipped in a future change.

Checklist

  • PR author has checked that all the criteria below are met
  • The PR description includes an overview of the change
  • The PR description articulates the motivation for the change
  • The change includes tests OR the PR description describes a testing strategy
  • The PR description notes risks associated with the change, if any
  • Newly-added code is easy to change
  • The change follows the library release note guidelines
  • The change includes or references documentation updates if necessary
  • Backport labels are set (if applicable)

Reviewer Checklist

  • Reviewer has checked that all the criteria below are met
  • Title is accurate
  • All changes are related to the pull request's stated goal
  • Avoids breaking API changes
  • Testing strategy adequately addresses listed risks
  • Newly-added code is easy to change
  • Release note makes sense to a user of the library
  • If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment
  • Backport labels are set in a manner that is consistent with the release branch maintenance policy

Copy link
Contributor

github-actions bot commented Sep 26, 2024

CODEOWNERS have been resolved as:

.riot/requirements/102dfdd.txt                                          @DataDog/apm-python
.riot/requirements/104daf8.txt                                          @DataDog/apm-python
.riot/requirements/104f450.txt                                          @DataDog/apm-python
.riot/requirements/1053dce.txt                                          @DataDog/apm-python
.riot/requirements/114bad8.txt                                          @DataDog/apm-python
.riot/requirements/11f2bd0.txt                                          @DataDog/apm-python
.riot/requirements/11fd02a.txt                                          @DataDog/apm-python
.riot/requirements/1261ed3.txt                                          @DataDog/apm-python
.riot/requirements/1304e20.txt                                          @DataDog/apm-python
.riot/requirements/1332b9d.txt                                          @DataDog/apm-python
.riot/requirements/13658ae.txt                                          @DataDog/apm-python
.riot/requirements/136fddd.txt                                          @DataDog/apm-python
.riot/requirements/1374394.txt                                          @DataDog/apm-python
.riot/requirements/1381214.txt                                          @DataDog/apm-python
.riot/requirements/13ae267.txt                                          @DataDog/apm-python
.riot/requirements/141bfd1.txt                                          @DataDog/apm-python
.riot/requirements/141f7eb.txt                                          @DataDog/apm-python
.riot/requirements/1463930.txt                                          @DataDog/apm-python
.riot/requirements/14be2f6.txt                                          @DataDog/apm-python
.riot/requirements/14d7e8a.txt                                          @DataDog/apm-python
.riot/requirements/14f1594.txt                                          @DataDog/apm-python
.riot/requirements/152e97f.txt                                          @DataDog/apm-python
.riot/requirements/1584f8c.txt                                          @DataDog/apm-python
.riot/requirements/164c3ce.txt                                          @DataDog/apm-python
.riot/requirements/167b853.txt                                          @DataDog/apm-python
.riot/requirements/16acf84.txt                                          @DataDog/apm-python
.riot/requirements/16cc321.txt                                          @DataDog/apm-python
.riot/requirements/16d2d1f.txt                                          @DataDog/apm-python
.riot/requirements/16de9c4.txt                                          @DataDog/apm-python
.riot/requirements/178f7d5.txt                                          @DataDog/apm-python
.riot/requirements/17d40ef.txt                                          @DataDog/apm-python
.riot/requirements/1819cb6.txt                                          @DataDog/apm-python
.riot/requirements/188244e.txt                                          @DataDog/apm-python
.riot/requirements/18c6e70.txt                                          @DataDog/apm-python
.riot/requirements/18e9526.txt                                          @DataDog/apm-python
.riot/requirements/192c7c0.txt                                          @DataDog/apm-python
.riot/requirements/19bbf6d.txt                                          @DataDog/apm-python
.riot/requirements/1a485c9.txt                                          @DataDog/apm-python
.riot/requirements/1a508dc.txt                                          @DataDog/apm-python
.riot/requirements/1acabe0.txt                                          @DataDog/apm-python
.riot/requirements/1ada88e.txt                                          @DataDog/apm-python
.riot/requirements/1aed5dc.txt                                          @DataDog/apm-python
.riot/requirements/1b86c06.txt                                          @DataDog/apm-python
.riot/requirements/1b8d922.txt                                          @DataDog/apm-python
.riot/requirements/1ba390a.txt                                          @DataDog/apm-python
.riot/requirements/1bf4d76.txt                                          @DataDog/apm-python
.riot/requirements/1c22cf9.txt                                          @DataDog/apm-python
.riot/requirements/1cb554e.txt                                          @DataDog/apm-python
.riot/requirements/1ce0711.txt                                          @DataDog/apm-python
.riot/requirements/1ce93b3.txt                                          @DataDog/apm-python
.riot/requirements/1d74d67.txt                                          @DataDog/apm-python
.riot/requirements/1d8a93c.txt                                          @DataDog/apm-python
.riot/requirements/1dd5678.txt                                          @DataDog/apm-python
.riot/requirements/1e19c17.txt                                          @DataDog/apm-python
.riot/requirements/1e4bb51.txt                                          @DataDog/apm-python
.riot/requirements/1e4dfe1.txt                                          @DataDog/apm-python
.riot/requirements/1e659c4.txt                                          @DataDog/apm-python
.riot/requirements/1e70094.txt                                          @DataDog/apm-python
.riot/requirements/1ebb239.txt                                          @DataDog/apm-python
.riot/requirements/1ec9462.txt                                          @DataDog/apm-python
.riot/requirements/1f3b209.txt                                          @DataDog/apm-python
.riot/requirements/1fa3005.txt                                          @DataDog/apm-python
.riot/requirements/1fc9ecc.txt                                          @DataDog/apm-python
.riot/requirements/1fe8dd2.txt                                          @DataDog/apm-python
.riot/requirements/248da41.txt                                          @DataDog/apm-python
.riot/requirements/2538ed0.txt                                          @DataDog/apm-python
.riot/requirements/2581b3a.txt                                          @DataDog/apm-python
.riot/requirements/2644218.txt                                          @DataDog/apm-python
.riot/requirements/27d0ff8.txt                                          @DataDog/apm-python
.riot/requirements/27e3d7b.txt                                          @DataDog/apm-python
.riot/requirements/2d6c3d0.txt                                          @DataDog/apm-python
.riot/requirements/2dd0811.txt                                          @DataDog/apm-python
.riot/requirements/3ab519c.txt                                          @DataDog/apm-python
.riot/requirements/3b804dc.txt                                          @DataDog/apm-python
.riot/requirements/3c3f295.txt                                          @DataDog/apm-python
.riot/requirements/3dd53da.txt                                          @DataDog/apm-python
.riot/requirements/3f1be84.txt                                          @DataDog/apm-python
.riot/requirements/44eeaa9.txt                                          @DataDog/apm-python
.riot/requirements/4fd1520.txt                                          @DataDog/apm-python
.riot/requirements/5b922fc.txt                                          @DataDog/apm-python
.riot/requirements/6cf373b.txt                                          @DataDog/apm-python
.riot/requirements/70e034f.txt                                          @DataDog/apm-python
.riot/requirements/74ccb83.txt                                          @DataDog/apm-python
.riot/requirements/788c304.txt                                          @DataDog/apm-python
.riot/requirements/7a40e08.txt                                          @DataDog/apm-python
.riot/requirements/8ce955f.txt                                          @DataDog/apm-python
.riot/requirements/91fe586.txt                                          @DataDog/apm-python
.riot/requirements/9a07d4a.txt                                          @DataDog/apm-python
.riot/requirements/9a5c0d9.txt                                          @DataDog/apm-python
.riot/requirements/a0cc2a4.txt                                          @DataDog/apm-python
.riot/requirements/a9f396a.txt                                          @DataDog/apm-python
.riot/requirements/ae8bd25.txt                                          @DataDog/apm-python
.riot/requirements/b29075f.txt                                          @DataDog/apm-python
.riot/requirements/b403d9d.txt                                          @DataDog/apm-python
.riot/requirements/bc64f49.txt                                          @DataDog/apm-python
.riot/requirements/bc7a1f4.txt                                          @DataDog/apm-python
.riot/requirements/bcbec2a.txt                                          @DataDog/apm-python
.riot/requirements/bebdd41.txt                                          @DataDog/apm-python
.riot/requirements/c1351c9.txt                                          @DataDog/apm-python
.riot/requirements/c4d4455.txt                                          @DataDog/apm-python
.riot/requirements/c77bbb6.txt                                          @DataDog/apm-python
.riot/requirements/c8b476b.txt                                          @DataDog/apm-python
.riot/requirements/d5098dd.txt                                          @DataDog/apm-python
.riot/requirements/d7dfbc2.txt                                          @DataDog/apm-python
.riot/requirements/d81ad99.txt                                          @DataDog/apm-python
.riot/requirements/db78045.txt                                          @DataDog/apm-python
.riot/requirements/dbc6a48.txt                                          @DataDog/apm-python
.riot/requirements/dbeb1d7.txt                                          @DataDog/apm-python
.riot/requirements/ddd8721.txt                                          @DataDog/apm-python
.riot/requirements/dedea98.txt                                          @DataDog/apm-python
.riot/requirements/df7a937.txt                                          @DataDog/apm-python
.riot/requirements/e06abee.txt                                          @DataDog/apm-python
.riot/requirements/e20152c.txt                                          @DataDog/apm-python
.riot/requirements/e2bf559.txt                                          @DataDog/apm-python
.riot/requirements/ee48b16.txt                                          @DataDog/apm-python
.riot/requirements/f20c964.txt                                          @DataDog/apm-python
.riot/requirements/f339e99.txt                                          @DataDog/apm-python
.riot/requirements/f33b994.txt                                          @DataDog/apm-python
.riot/requirements/f46a802.txt                                          @DataDog/apm-python
.riot/requirements/f4fafb3.txt                                          @DataDog/apm-python
.riot/requirements/fbee8ab.txt                                          @DataDog/apm-python
releasenotes/notes/threethirteen-d40d659d8939fe5e.yaml                  @DataDog/apm-python
.github/workflows/build_deploy.yml                                      @DataDog/python-guild @DataDog/apm-core-python
.github/workflows/build_python_3.yml                                    @DataDog/python-guild @DataDog/apm-core-python
.github/workflows/generate-package-versions.yml                         @DataDog/python-guild @DataDog/apm-core-python
.github/workflows/requirements-locks.yml                                @DataDog/python-guild @DataDog/apm-core-python
.gitlab/download-dependency-wheels.sh                                   @DataDog/python-guild @DataDog/apm-core-python
.gitlab/package.yml                                                     @DataDog/python-guild @DataDog/apm-core-python
.gitlab/testrunner.yml                                                  @DataDog/python-guild @DataDog/apm-core-python
.gitlab/tests.yml                                                       @DataDog/python-guild @DataDog/apm-core-python
ddtrace/appsec/_iast/_taint_tracking/__init__.py                        @DataDog/asm-python
ddtrace/debugging/_expressions.py                                       @DataDog/debugger-python
ddtrace/internal/_threads.cpp                                           @DataDog/apm-core-python
ddtrace/internal/injection.py                                           @DataDog/debugger-python @DataDog/apm-core-python
ddtrace/internal/wrapping/__init__.py                                   @DataDog/apm-core-python
ddtrace/internal/wrapping/context.py                                    @DataDog/apm-core-python
ddtrace/profiling/collector/stack.pyx                                   @DataDog/profiling-python
docker-compose.yml                                                      @DataDog/apm-core-python
docker/.python-version                                                  @DataDog/apm-core-python
docker/Dockerfile                                                       @DataDog/apm-core-python
docs/versioning.rst                                                     @DataDog/python-guild
hatch.toml                                                              @DataDog/python-guild
lib-injection/dl_wheels.py                                              @DataDog/apm-core-python
lib-injection/sources/sitecustomize.py                                  @DataDog/apm-core-python
pyproject.toml                                                          @DataDog/python-guild
riotfile.py                                                             @DataDog/apm-python
setup.py                                                                @DataDog/python-guild
src/core/Cargo.lock                                                     @DataDog/apm-core-python
src/core/Cargo.toml                                                     @DataDog/apm-core-python
tests/contrib/futures/test_propagation.py                               @DataDog/apm-core-python @DataDog/apm-idm-python
tests/internal/crashtracker/test_crashtracker.py                        @DataDog/apm-core-python
tests/internal/symbol_db/test_symbols.py                                @DataDog/debugger-python
tests/internal/test_forksafe.py                                         @DataDog/apm-core-python
tests/internal/test_injection.py                                        @DataDog/debugger-python @DataDog/apm-core-python
tests/internal/test_wrapping.py                                         @DataDog/debugger-python @DataDog/apm-core-python
.riot/requirements/1df4764.txt                                          @DataDog/apm-python
.riot/requirements/4132bce.txt                                          @DataDog/apm-python
.riot/requirements/7bbf828.txt                                          @DataDog/apm-python

@pr-commenter
Copy link

pr-commenter bot commented Sep 26, 2024

Benchmarks

Benchmark execution time: 2024-12-18 16:03:46

Comparing candidate commit ff569a5 in PR branch brettlangdon/3.13 with baseline commit a7e9404 in branch main.

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

@datadog-dd-trace-py-rkomorn
Copy link

datadog-dd-trace-py-rkomorn bot commented Oct 7, 2024

Datadog Report

Branch report: brettlangdon/3.13
Commit report: 7be0e66
Test service: dd-trace-py

✅ 0 Failed, 167 Passed, 1301 Skipped, 3m 0.16s Total duration (33m 34.63s time saved)

comment in docker-compose for local dev
update riot locks for 3.13
limit riot envs that do not build with 3.13
@emmettbutler
Copy link
Collaborator

This is blocked by MatthieuDartiailh/bytecode#146

@emmettbutler emmettbutler reopened this Dec 9, 2024
@emmettbutler emmettbutler self-assigned this Dec 9, 2024
Copy link
Contributor

@erikayasuda erikayasuda left a comment

Choose a reason for hiding this comment

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

Just some NB questions, otherwise LGTM.

I think we need to add a 3.13 image in magic mirror before merging this? Looks like the 3.13 download job is failing

ddtrace/internal/injection.py Outdated Show resolved Hide resolved
ddtrace/internal/wrapping/__init__.py Show resolved Hide resolved
releasenotes/notes/threethirteen-d40d659d8939fe5e.yaml Outdated Show resolved Hide resolved
@emmettbutler emmettbutler requested a review from sanchda December 16, 2024 22:14
Copy link
Contributor

@sanchda sanchda left a comment

Choose a reason for hiding this comment

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

Looks good from profiling

ddtrace/profiling/collector/stack.pyx Show resolved Hide resolved
setup.py Show resolved Hide resolved
Copy link
Contributor

@P403n1x87 P403n1x87 left a comment

Choose a reason for hiding this comment

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

A few nits, otherwise LGTM

@emmettbutler emmettbutler merged commit c7b888d into main Dec 18, 2024
599 of 600 checks passed
@emmettbutler emmettbutler deleted the brettlangdon/3.13 branch December 18, 2024 16:23
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.

6 participants