Skip to content

Commit cfe8bb6

Browse files
authored
Merge branch 'main' into jblz/patch-1
2 parents 785c7b9 + 52037dc commit cfe8bb6

File tree

611 files changed

+22694
-7632
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

611 files changed

+22694
-7632
lines changed

.github/workflows/all-green.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,32 @@
11
name: All Green
22
on:
33
pull_request:
4-
push:
5-
branches:
6-
- main
74

85
concurrency:
96
group: ${{ github.workflow }}-${{ github.ref }}
107
cancel-in-progress: true
118

129
jobs:
1310
all-green:
11+
name: all-green # do not change this name, see https://github.com/DataDog/ensure-ci-success/blob/main/docs/limitations.md
1412
runs-on: ubuntu-latest
1513
permissions:
1614
checks: read
1715
contents: read
1816
steps:
19-
- uses: wechuli/allcheckspassed@e22f45a4f25f4cf821d1273705ac233355400db1
17+
- uses: DataDog/ensure-ci-success@727e7fe39ae2e1ce7ea336ec85a7369ab0731754 # v2.1.1
2018
with:
21-
delay: 10 # wait for this delay before starting
22-
polling_interval: 1 # after a failure, how long do it wait before checking again
23-
retries: 60 # how many retries before stopping
24-
checks_exclude: 'Bootstrap import analysis,require-checklist,Validate changelog'
19+
initial-delay-seconds: 10 # wait for this delay before starting
20+
polling-interval-seconds: 1 # after a failure, how long do it wait before checking again
21+
max-retries: 60 # how many retries before stopping
22+
ignored-name-patterns: |
23+
Bootstrap import analysis
24+
require-checklist
25+
Validate changelog
26+
devflow/*
2527
2628
# Why some checks are excluded?
2729
#
2830
# - Bootstrap import analysis: TO BE ADDED (Success rate of 88% as of 2025-04-17)
2931
# - require-checklist: this job is triggered by a change on PR description, and already explcititly required
30-
# - Validate changelog: this job is triggered by a change on labels, and already explcititly required
32+
# - Validate changelog: this job is triggered by a change on labels, and already explcititly required

.github/workflows/build_python_3.yml

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
MATRIX_INCLUDE=$(
3434
{
3535
cibuildwheel --print-build-identifiers --platform linux --arch x86_64,i686 | jq -cR '{only: ., os: "ubuntu-latest"}' \
36-
&& cibuildwheel --print-build-identifiers --platform linux --arch aarch64 | jq -cR '{only: ., os: "arm-4core-linux"}' \
36+
&& cibuildwheel --print-build-identifiers --platform linux --arch aarch64 | jq -cR '{only: ., os: "arm-4core-linux-ubuntu24.04"}' \
3737
&& cibuildwheel --print-build-identifiers --platform windows --arch AMD64,x86 | grep -v 313 | jq -cR '{only: ., os: "windows-latest"}' \
3838
&& cibuildwheel --print-build-identifiers --platform macos --arch x86_64 | jq -cR '{only: ., os: "macos-13"}' \
3939
&& cibuildwheel --print-build-identifiers --platform macos --arch arm64 | jq -cR '{only: ., os: "macos-latest"}'
@@ -59,33 +59,20 @@ jobs:
5959
fetch-depth: 0
6060

6161
- uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
62-
if: matrix.os != 'arm-4core-linux'
62+
if: matrix.os != 'arm-4core-linux-ubuntu24.04'
6363
name: Install Python
6464
with:
6565
python-version: '3.8'
6666

67-
- name: Install docker and pipx
68-
if: matrix.os == 'arm-4core-linux'
69-
# The ARM64 Ubuntu has less things installed by default
70-
# We need docker, pip and venv for cibuildwheel
71-
# acl allows us to use docker in the same session
72-
run: |
73-
curl -fsSL https://get.docker.com -o get-docker.sh
74-
sudo sh get-docker.sh
75-
sudo usermod -a -G docker $USER
76-
sudo apt install -y acl python3.10-venv python3-pip
77-
sudo setfacl --modify user:runner:rw /var/run/docker.sock
78-
python3 -m pip install pipx
79-
8067
- name: Set up QEMU
81-
if: runner.os == 'Linux' && matrix.os != 'arm-4core-linux'
68+
if: runner.os == 'Linux' && matrix.os != 'arm-4core-linux-ubuntu24.04'
8269
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
8370
with:
8471
platforms: all
8572

8673
- name: Build wheels arm64
87-
if: always() && matrix.os == 'arm-4core-linux'
88-
run: /home/runner/.local/bin/pipx run cibuildwheel==2.22.0 --only ${{ matrix.only }}
74+
if: always() && matrix.os == 'arm-4core-linux-ubuntu24.04'
75+
run: pipx run cibuildwheel==2.22.0 --only ${{ matrix.only }}
8976
env:
9077
CIBW_SKIP: ${{ inputs.cibw_skip }}
9178
CIBW_PRERELEASE_PYTHONS: ${{ inputs.cibw_prerelease_pythons }}
@@ -119,7 +106,7 @@ jobs:
119106
# CIBW_BUILD_VERBOSITY_MACOS: 3
120107

121108
- name: Build wheels
122-
if: always() && matrix.os != 'arm-4core-linux'
109+
if: always() && matrix.os != 'arm-4core-linux-ubuntu24.04'
123110
uses: pypa/cibuildwheel@d04cacbc9866d432033b1d09142936e6a0e2121a # v2.23.2
124111
with:
125112
only: ${{ matrix.only }}

.gitlab-ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ variables:
1010
REPO_NOTIFICATION_CHANNEL: "#apm-python-release"
1111
RELEASE_ALLOW_TEST_FAILURES: false
1212
RELEASE_ALLOW_BENCHMARK_FAILURES: false
13+
DD_DISABLE_VPA: true
1314
# CI_DEBUG_SERVICES: "true"
1415

1516
default:
@@ -29,7 +30,7 @@ workflow:
2930
- when: always
3031

3132
include:
32-
- remote: https://gitlab-templates.ddbuild.io/libdatadog/include/one-pipeline.yml
33+
- local: ".gitlab/one-pipeline.locked.yml"
3334
- local: ".gitlab/services.yml" # Include early so others can use the definitions
3435
- local: ".gitlab/package.yml"
3536
- local: ".gitlab/release.yml"

.gitlab/benchmarks/microbenchmarks.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,8 @@ microbenchmarks:
152152
# Flaky timeouts on starting up
153153
# - "appsec_iast_django_startup"
154154
- "appsec_iast_propagation"
155+
- "errortracking_django_simple"
156+
- "errortracking_flask_sqli"
155157
# Flaky. Timeout errors
156158
# - "encoder"
157159
- "http_propagation_extract"
@@ -161,7 +163,6 @@ microbenchmarks:
161163
- "packages_update_imported_dependencies"
162164
- "telemetry_add_metric"
163165
- "startup"
164-
- "ddtrace_run"
165166

166167
"microbenchmarks flaky":
167168
extends: .benchmarks
@@ -177,6 +178,7 @@ benchmarks-pr-comment:
177178
tags: ["arch:amd64"]
178179
stage: report
179180
when: always
181+
allow_failure: true
180182
script: |
181183
export REPORTS_DIR="$(pwd)/reports/" && (mkdir "${REPORTS_DIR}" || :)
182184
if [[ -n "$CI_JOB_TOKEN" ]];
@@ -187,9 +189,10 @@ benchmarks-pr-comment:
187189
export PATH="$PATH:/platform/steps"
188190
189191
(for i in {1..2}; do upload-results-to-benchmarking-api.sh && break; done) || :
190-
post-pr-comment.sh || :
191-
except:
192-
- main
192+
if [ "$CI_COMMIT_REF_NAME" != "main" ];
193+
then
194+
post-pr-comment.sh || :
195+
fi
193196
variables:
194197
UPSTREAM_PROJECT_ID: $CI_PROJECT_ID # The ID of the current project. This ID is unique across all projects on the GitLab instance.
195198
UPSTREAM_PROJECT_NAME: $CI_PROJECT_NAME # "dd-trace-py"

.gitlab/one-pipeline.locked.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# DO NOT EDIT THIS FILE MANUALLY
2+
# This file is auto-generated by automation.
3+
include:
4+
- remote: https://gitlab-templates.ddbuild.io/libdatadog/one-pipeline/ca/05e116339b9780a138a474d0348e97debfca97f27bbc4ca489cf4e4c90d9cc94/one-pipeline.yml

.gitlab/services.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
name: registry.ddbuild.io/images/mirror/dd-apm-test-agent/ddapm-test-agent:v1.21.0
1616
alias: testagent
1717
variables:
18-
LOG_LEVEL: INFO
18+
LOG_LEVEL: ERROR
1919
SNAPSHOT_DIR: ${CI_PROJECT_DIR}/tests/snapshots
2020
SNAPSHOT_CI: 1
2121
PORT: 9126

.gitlab/tests.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ include:
8585
done
8686
./scripts/check-diff ".riot/requirements/" \
8787
"Changes detected after running riot. Consider deleting changed files, running scripts/compile-and-prune-test-requirements and committing the result."
88+
./scripts/check-diff "ddtrace/contrib/integration_registry/registry.yaml" \
89+
"Registry YAML file (ddtrace/contrib/integration_registry/registry.yaml) was modified. Please run: scripts/integration_registry/update_and_format_registry.py and commit the changes."
8890
8991
9092
.test_base_riot_snapshot:

.riot/requirements/1024326.txt

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.10
3+
# by the following command:
4+
#
5+
# pip-compile --no-annotate .riot/requirements/1024326.in
6+
#
7+
attrs==25.3.0
8+
certifi==2025.4.26
9+
cffi==1.17.1
10+
charset-normalizer==3.4.2
11+
coverage[toml]==7.8.0
12+
cryptography==44.0.3
13+
exceptiongroup==1.3.0
14+
hypothesis==6.45.0
15+
idna==3.10
16+
iniconfig==2.1.0
17+
jinja2==3.1.6
18+
linkify-it-py==2.0.3
19+
markdown-it-py[linkify,plugins]==3.0.0
20+
markupsafe==3.0.2
21+
mdit-py-plugins==0.4.2
22+
mdurl==0.1.2
23+
memray==1.17.2
24+
mock==5.2.0
25+
opentracing==2.4.0
26+
packaging==25.0
27+
platformdirs==4.3.8
28+
pluggy==1.5.0
29+
psycopg2-binary==2.9.10
30+
pycparser==2.22
31+
pycryptodome==3.22.0
32+
pygments==2.19.1
33+
pytest==8.3.5
34+
pytest-cov==6.1.1
35+
pytest-memray==1.7.0
36+
pytest-mock==3.14.0
37+
requests==2.32.3
38+
rich==14.0.0
39+
sortedcontainers==2.4.0
40+
textual==3.2.0
41+
tomli==2.2.1
42+
typing-extensions==4.13.2
43+
uc-micro-py==1.0.3
44+
urllib3==2.4.0

.riot/requirements/2b3511f.txt renamed to .riot/requirements/103234b.txt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,29 @@
22
# This file is autogenerated by pip-compile with Python 3.9
33
# by the following command:
44
#
5-
# pip-compile --no-annotate .riot/requirements/2b3511f.in
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/103234b.in
66
#
7-
attrs==23.2.0
8-
coverage[toml]==7.6.0
7+
attrs==25.3.0
8+
coverage[toml]==7.8.0
99
django==2.2.28
1010
django-configurations==2.3.2
1111
djangorestframework==3.12.4
1212
exceptiongroup==1.2.2
1313
hypothesis==6.45.0
14-
importlib-metadata==8.0.0
15-
iniconfig==2.0.0
16-
mock==5.1.0
14+
importlib-metadata==8.6.1
15+
iniconfig==2.1.0
16+
mock==5.2.0
1717
opentracing==2.4.0
18-
packaging==24.1
18+
packaging==24.2
1919
pluggy==1.5.0
20-
pytest==8.2.2
21-
pytest-cov==5.0.0
20+
pytest==8.3.5
21+
pytest-cov==6.1.1
2222
pytest-django[testing]==3.10.0
2323
pytest-mock==3.14.0
24-
pytest-randomly==3.15.0
25-
pytz==2024.1
26-
six==1.16.0
24+
pytest-randomly==3.16.0
25+
pytz==2025.2
26+
six==1.17.0
2727
sortedcontainers==2.4.0
28-
sqlparse==0.5.1
29-
tomli==2.0.1
30-
zipp==3.19.2
28+
sqlparse==0.5.3
29+
tomli==2.2.1
30+
zipp==3.21.0

.riot/requirements/1069d84.txt

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.11
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/1069d84.in
6+
#
7+
astunparse==1.6.3
8+
attrs==25.3.0
9+
blinker==1.9.0
10+
certifi==2025.4.26
11+
charset-normalizer==3.4.2
12+
click==8.1.8
13+
coverage[toml]==7.8.0
14+
flask==3.1.0
15+
hypothesis==6.45.0
16+
idna==3.10
17+
iniconfig==2.1.0
18+
itsdangerous==2.2.0
19+
jinja2==3.1.6
20+
markupsafe==3.0.2
21+
mock==5.2.0
22+
opentracing==2.4.0
23+
packaging==25.0
24+
pluggy==1.5.0
25+
pytest==8.3.5
26+
pytest-cov==6.1.1
27+
pytest-mock==3.14.0
28+
requests==2.32.3
29+
six==1.17.0
30+
sortedcontainers==2.4.0
31+
urllib3==2.4.0
32+
virtualenv-clone==0.5.7
33+
werkzeug==3.1.3
34+
wheel==0.45.1

.riot/requirements/10802a6.txt

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.12
3+
# by the following command:
4+
#
5+
# pip-compile --no-annotate .riot/requirements/10802a6.in
6+
#
7+
astunparse==1.6.3
8+
attrs==25.3.0
9+
blinker==1.9.0
10+
certifi==2025.4.26
11+
charset-normalizer==3.4.2
12+
click==8.1.8
13+
coverage[toml]==7.8.0
14+
flask==3.1.0
15+
hypothesis==6.45.0
16+
idna==3.10
17+
iniconfig==2.1.0
18+
itsdangerous==2.2.0
19+
jinja2==3.1.6
20+
markupsafe==3.0.2
21+
mock==5.2.0
22+
opentracing==2.4.0
23+
packaging==25.0
24+
pluggy==1.5.0
25+
pytest==8.3.5
26+
pytest-cov==6.1.1
27+
pytest-mock==3.14.0
28+
requests==2.32.3
29+
six==1.17.0
30+
sortedcontainers==2.4.0
31+
urllib3==2.4.0
32+
virtualenv-clone==0.5.7
33+
werkzeug==3.1.3
34+
wheel==0.45.1

.riot/requirements/10853b3.txt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.9
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/10853b3.in
6+
#
7+
attrs==25.3.0
8+
certifi==2025.1.31
9+
charset-normalizer==3.4.1
10+
coverage[toml]==7.8.0
11+
exceptiongroup==1.2.2
12+
hypothesis==6.45.0
13+
idna==3.10
14+
importlib-metadata==8.6.1
15+
iniconfig==2.1.0
16+
mock==5.2.0
17+
opensearch-py[requests]==1.1.0
18+
opentracing==2.4.0
19+
packaging==24.2
20+
pluggy==1.5.0
21+
pytest==8.3.5
22+
pytest-cov==6.1.1
23+
pytest-mock==3.14.0
24+
pytest-randomly==3.16.0
25+
requests==2.32.3
26+
sortedcontainers==2.4.0
27+
tomli==2.2.1
28+
urllib3==1.26.20
29+
zipp==3.21.0

0 commit comments

Comments
 (0)