Skip to content

Commit 3022237

Browse files
committed
Merge branch 'main' into julio/rd-week-dynamic-pipeline
2 parents bfec85a + d29b8d2 commit 3022237

429 files changed

Lines changed: 30173 additions & 73593 deletions

File tree

Some content is hidden

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

.dockerignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ build/
33
.github/
44
Dockerfile.build
55
.git/
6-
docker-bake.hcl
6+
docker-bake.hcl

.github/CODEOWNERS

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
.gitlab-ci.yml @DataDog/apm-common-components-core
1515
.gitlab/benchmarks.yml @DataDog/apm-common-components-core
1616
.gitlab/fuzz.yml @DataDog/chaos-platform
17-
.gitmodules @DataDog/libdatadog
1817
benchmark/ @DataDog/apm-common-components-core
1918
bin_tests/ @DataDog/libdatadog-profiling
2019
build-common/ @DataDog/apm-common-components-core
@@ -39,15 +38,18 @@ docker-bake.hcl @DataDog/apm-common-components-core
3938
docs @DataDog/libdatadog
4039
examples @DataDog/libdatadog
4140
libdd-alloc/ @DataDog/libdatadog-profiling
41+
libdd-capabilities*/ @DataDog/apm-common-components-core
4242
libdd-common*/ @DataDog/libdatadog
4343
libdd-crashtracker*/ @DataDog/libdatadog-profiling
4444
libdd-data-pipeline*/ @DataDog/libdatadog-apm
4545
libdd-ddsketch*/ @DataDog/libdatadog-apm @DataDog/apm-common-components-core
4646
libdd-dogstatsd-client @DataDog/apm-common-components-core
47-
libdd-library-config*/ @DataDog/apm-sdk-capabilities
48-
libdd-libunwind*/ @DataDog/libdatadog-profiling
47+
libdd-http-client @DataDog/apm-common-components-core
48+
libdd-library-config*/ @DataDog/apm-sdk-capabilities-rust
4949
libdd-log*/ @DataDog/apm-common-components-core
50+
libdd-otel-thread-ctx/ @DataDog/apm-common-components-core
5051
libdd-profiling*/ @DataDog/libdatadog-profiling
52+
libdd-shared-runtime*/ @DataDog/apm-common-components-core
5153
libdd-telemetry*/ @DataDog/apm-common-components-core
5254
libdd-tinybytes @DataDog/apm-common-components-core
5355
libdd-trace-normalization @DataDog/serverless @DataDog/libdatadog-apm
@@ -56,18 +58,21 @@ libdd-trace-protobuf @DataDog/serverless @DataDog/libdatadog-apm
5658
libdd-trace-stats @DataDog/apm-common-components-core
5759
libdd-trace-utils @DataDog/serverless @DataDog/libdatadog-apm
5860
LICENSE* @DataDog/libdatadog
61+
license-tool.toml @DataDog/libdatadog
5962
local-linux.Dockerfile @DataDog/libdatadog
6063
NOTICE @DataDog/libdatadog
6164
README.md @DataDog/libdatadog
6265
repository.datadog.yml @DataDog/apm-common-components-core
63-
ruby/ @DataDog/ruby-guild
6466
rustfmt.toml @DataDog/libdatadog-core
6567
scripts/check_cargo_metadata.sh @DataDog/libdatadog-core
6668
scripts/commits-since-release.sh @DataDog/libdatadog-core
69+
scripts/crates-to-package.sh @DataDog/libdatadog-core
70+
scripts/major-bumps-level.sh @DataDog/libdatadog-core
6771
scripts/publication-order.sh @DataDog/libdatadog-core
6872
scripts/reformat_copyright.sh @DataDog/libdatadog-core
6973
scripts/semver-level.sh @DataDog/libdatadog-core
7074
scripts/update_license_3rdparty.sh @DataDog/libdatadog-core
75+
scripts/Dockerfile.license @DataDog/libdatadog-core
7176
spawn_worker/ @DataDog/libdatadog-php @DataDog/libdatadog-apm
7277
symbolizer-ffi @DataDog/libdatadog-profiling
7378
tests/run-package-tests.ps1 @DataDog/apm-common-components-core
@@ -82,3 +87,6 @@ bin_tests/tests/test_the_tests.rs @DataDog/libdatadog-core
8287
bin_tests/src/bin/test_the_tests.rs @DataDog/libdatadog-core
8388
tools/cc_utils/ @DataDog/libdatadog-php
8489
tools/sidecar_mockgen/ @DataDog/libdatadog-php
90+
libdd-data-pipeline/src/otlp/ @DataDog/apm-sdk-capabilities-rust
91+
libdd-data-pipeline/tests/test_trace_exporter_otlp_export.rs @DataDog/apm-sdk-capabilities-rust
92+
libdd-trace-utils/src/otlp_encoder/ @DataDog/apm-sdk-capabilities-rust

.github/actions/clippy-annotation-reporter/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "clippy-annotation-reporter"
3-
rust-version = "1.78.0"
3+
rust-version = "1.84.1"
44
edition = "2021"
55
version = "0.1.0"
66
description = "GitHub Action for reporting clippy annotation usage in PRs"

.github/actions/clippy-annotation-reporter/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ runs:
2525
steps:
2626
- name: Set up Rust
2727
shell: bash
28-
run: rustup install stable && rustup default stable
28+
run: rustup set profile minimal && rustup install stable && rustup default stable
2929

3030
- name: Fetch all branches
3131
shell: bash

.github/workflows/add_final_status.xsl

Lines changed: 0 additions & 50 deletions
This file was deleted.

.github/workflows/all-checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ jobs:
1616
delay: '3'
1717
retries: '45'
1818
polling_interval: '1'
19-
checks_exclude: 'devflow/merge,dd-gitlab/default-pipeline'
19+
checks_exclude: 'devflow/merge,dd-gitlab/default-pipeline,Rustfmt Auto / rustfmt'

.github/workflows/clippy-annotation-reporter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
with:
2929
fetch-depth: 0 # Full history
3030
- name: Install Rust
31-
run: rustup install stable
31+
run: rustup set profile minimal && rustup install stable
3232
- name: Run annotation reporter
3333
uses: ./.github/actions/clippy-annotation-reporter
3434
with:

.github/workflows/coverage.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
with:
3030
submodules: recursive
3131
- name: Install Rust
32-
run: rustup install nightly-2026-02-08 && rustup default nightly-2026-02-08
32+
run: rustup set profile minimal && rustup install nightly-2026-02-08 && rustup default nightly-2026-02-08
3333
- name: Install cargo-llvm-cov
3434
uses: taiki-e/install-action@2c41309d51ede152b6f2ee6bf3b71e6dc9a8b7df # 2.49.27
3535
with:
@@ -50,3 +50,11 @@ jobs:
5050
token: ${{ secrets.CODECOV_TOKEN }}
5151
files: lcov.info
5252
fail_ci_if_error: true
53+
- name: Upload coverage to Datadog
54+
if: always()
55+
continue-on-error: true
56+
uses: DataDog/coverage-upload-github-action@d2cf302a39c05e0ad22063360a2bf6ce0cc4906c # v1
57+
with:
58+
api_key: ${{ secrets.DATADOG_API_KEY }}
59+
files: lcov.info
60+
format: lcov

.github/workflows/lint.yml

Lines changed: 26 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ jobs:
7575
with:
7676
submodules: recursive
7777
- name: Install nightly-2026-02-08 toolchain and rustfmt
78-
run: rustup install nightly-2026-02-08 && rustup default nightly-2026-02-08 && rustup component add rustfmt
78+
run: rustup set profile minimal && rustup install nightly-2026-02-08 && rustup default nightly-2026-02-08 && rustup component add rustfmt
7979
- name: Cache [rust]
8080
uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # 2.8.1
8181
with:
@@ -107,7 +107,7 @@ jobs:
107107
with:
108108
submodules: recursive
109109
- name: Install ${{ matrix.rust_version }} toolchain and clippy
110-
run: rustup install ${{ matrix.rust_version }} && rustup default ${{ matrix.rust_version }} && rustup component add clippy
110+
run: rustup set profile minimal && rustup install ${{ matrix.rust_version }} && rustup default ${{ matrix.rust_version }} && rustup component add clippy
111111
- name: Cache [rust]
112112
uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # 2.8.1
113113
with:
@@ -122,10 +122,12 @@ jobs:
122122
export AWS_LC_FIPS_SYS_NO_ASM=1
123123
fi
124124
if [[ -z "$CLIPPY_PACKAGES" ]]; then
125-
cargo clippy --workspace --all-targets --all-features -- -D warnings
125+
cargo clippy --workspace --all-targets --all-features -- -D warnings $([ ${{ matrix.rust_version }} = 1.84.1 ] || echo -Aclippy::manual_is_multiple_of)
126+
126127
else
127128
# shellcheck disable=SC2086
128-
cargo clippy $CLIPPY_PACKAGES --all-targets --all-features -- -D warnings
129+
cargo clippy $CLIPPY_PACKAGES --all-targets --all-features -- -D warnings $([ ${{ matrix.rust_version }} = 1.84.1 ] || echo -Aclippy::manual_is_multiple_of)
130+
129131
fi
130132
131133
licensecheck:
@@ -142,71 +144,45 @@ jobs:
142144
# Exclude symbolizer-ffi from the checks (mostly imported code)
143145
run: '! find . \( -name "*.rs" -o -name "*.c" -o -name "*.sh" \) -not -path "./symbolizer-ffi/*" -not -path "./datadog-ipc/plugins/*" -not -path "./datadog-ipc/tarpc/*" -print0 | xargs -0 licensecheck -c ".*" | grep -v "Apache License 2.0"'
144146

145-
# todo: fix upstream warnings; from the readme:
146-
# The most common cause of missing licenses seems to be workspaces that
147-
# don't include forward their license files. Go to the repo for the
148-
# workspace and copy the relevant files from there.
149-
# A package license may receive a confidence warning stating that
150-
# cargo-bundle-licenses is "unsure" or "semi" confident. This means that
151-
# when the found license was compared to a template license it was found to
152-
# have diverged in more than a few words. You should verify that the licence
153-
# text is in fact correct in these cases.
154147
license-3rdparty:
155148
needs: setup
156149
if: needs.setup.outputs.crates-count != '0'
157150
runs-on: ubuntu-latest
158-
name: "Valid LICENSE-3rdparty.yml"
151+
name: "Valid LICENSE-3rdparty.csv"
159152
steps:
160153
- name: Checkout sources
161154
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
162-
- run: stat LICENSE-3rdparty.yml
163-
- name: Cache
155+
# Keep version in sync with: scripts/update_license_3rdparty.sh (TOOL_VERSION) and scripts/Dockerfile.license (ARG TOOL_VERSION)
156+
- name: Cache dd-rust-license-tool
164157
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # 4.2.2
165158
with:
166159
path: |
167160
~/.cargo/registry/
168161
~/.cargo/git/db/
169-
~/.cargo/bin/
162+
~/.cargo/bin/dd-rust-license-tool
170163
~/.cargo/.crates.toml
171-
# cache key contains current version of cargo-bundle-licenses
172-
# when upstream version is updated we can bump the cache key version,
173-
# to cache the latest version of the tool
174-
key: "v1-4.0.0"
175-
# cargo-bundle-licenses v2.0 doesn't understand path differences due to
176-
# sparse vs git index, so force git.
177-
- run: mkdir -p .cargo && printf "[registries.crates-io]\nprotocol = \"git\"\n" > .cargo/config.toml
178-
- run: cargo install --version "4.0.0" cargo-bundle-licenses
179-
- name: "Generate new LICENSE-3rdparty.yml and check against the previous"
180-
env:
181-
CARGO_HOME: "/tmp/dd-cargo"
164+
~/.cargo/.crates2.json
165+
key: dd-rust-license-tool-1.0.6-v2
166+
- run: cargo install --list | grep -qF "dd-rust-license-tool v1.0.6" || cargo install dd-rust-license-tool --version "1.0.6" --locked
167+
- name: Generate new LICENSE-3rdparty.csv and check against the previous
182168
run: |
183-
# Run cargo bundle-licenses without directly checking against a previous snapshot
184-
cargo bundle-licenses \
185-
--format yaml \
186-
--output /tmp/CI.yaml
187-
188-
# Normalize the paths in both files to ignore registry differences
189-
sed -E 's/(registry\/src\/)[^\/]+/\1normalized_path/g' /tmp/CI.yaml > /tmp/CI_normalized.yaml
190-
sed -E 's/(registry\/src\/)[^\/]+/\1normalized_path/g' LICENSE-3rdparty.yml > /tmp/LICENSE-3rdparty_normalized.yml
191-
192-
# Now perform the diff on the normalized files
193-
if ! diff /tmp/CI_normalized.yaml /tmp/LICENSE-3rdparty_normalized.yml; then
194-
echo "Differences detected (see above). You probably need to manually update the license files. To do so:"
195-
echo "cargo install cargo-bundle-licenses"
196-
echo "./scripts/update_license_3rdparty.sh"
197-
echo "...and push a commit with the result. Also, bonus points if someone automates this, wink wink nudge nudge."
169+
if ! dd-rust-license-tool dump > /tmp/CI.csv 2> /tmp/CI.error; then
170+
echo "ERROR: dd-rust-license-tool dump failed! See error output below:"
171+
cat /tmp/CI.error
172+
exit 1
173+
fi
174+
if ! diff /tmp/CI.csv LICENSE-3rdparty.csv; then
175+
echo "Differences detected in LICENSE-3rdparty.csv."
176+
echo "Please run './scripts/update_license_3rdparty.sh' to update the file and commit the changes."
198177
exit 1
199178
fi
200-
201179
echo "No differences found."
202-
203-
204-
- name: export the generated license file on failure
180+
- name: Export generated license file on failure
205181
if: failure()
206-
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
182+
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
207183
with:
208-
name: LICENSE-3rdparty.yml
209-
path: /tmp/CI.yaml
184+
name: LICENSE-3rdparty.csv
185+
path: /tmp/CI.csv
210186
overwrite: true
211187

212188
codeowners-validator:

.github/workflows/pr-title-semver-check.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,9 @@ jobs:
9191

9292
- name: Install Rust ${{ env.RUST_VERSION }}
9393
run: |
94+
rustup set profile minimal
9495
rustup install ${{ env.RUST_VERSION }} && rustup default ${{ env.RUST_VERSION }}
95-
rustup toolchain install nightly-2026-02-08 --profile minimal
96+
rustup toolchain install nightly-2026-02-08
9697
# Link the dated nightly as 'nightly' for tools (like cargo-public-api) that expect it
9798
ln -sf ~/.rustup/toolchains/nightly-2026-02-08-x86_64-unknown-linux-gnu ~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu
9899

0 commit comments

Comments
 (0)