Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
"python",
"python_lambda",
"ruby",
"rust",
]
default_libs_with_dev = [
"cpp",
Expand Down
35 changes: 30 additions & 5 deletions utils/build/docker/rust/install_ddtrace.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ set -eu
cd /usr/app

REPO_URL=https://github.com/DataDog/dd-trace-rs
PROD_TAG=datadog-opentelemetry-v0.3.1

if [ -e /binaries/rust-load-from-git ]; then
rev_or_branch=$(</binaries/rust-load-from-git)
Expand All @@ -16,10 +15,36 @@ fi

if [ -e /binaries/dd-trace-rs ]; then
echo "install from /binaries/datadog-opentelemetry with metrics-http and metrics-grpc features"
cargo add --path /binaries/dd-trace-rs/datadog-opentelemetry --features metrics-http,metrics-grpc

cd /binaries/dd-trace-rs

# get the version from the cargo.lock
current_version=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[] | select(.name == "datadog-opentelemetry") | .version')

# bump minor (middle segment); reset patch to 0 — expects MAJOR.MINOR.PATCH
IFS=. read -r major minor patch <<<"$current_version"
if [[ -z "${minor:-}" || -z "${patch:-}" ]]; then
echo "expected semver MAJOR.MINOR.PATCH, got: $current_version" >&2
exit 1
fi
new_version="${major}.$((minor + 1)).0"

if [ -e /binaries/dd-trace-rs/.git ]; then
dev_version="${new_version}-dev+$(git -C /binaries/dd-trace-rs rev-parse --short HEAD)"
else
dev_version="${new_version}-dev"
fi

echo "generating dev version $dev_version from $current_version"
cargo release version -p datadog-opentelemetry "$dev_version" -x --no-confirm

cd /usr/app
cargo add datadog-opentelemetry --path /binaries/dd-trace-rs/datadog-opentelemetry --features metrics-http,metrics-grpc,logs-http,logs-grpc
else
# TODO: add lastest release from crates.io
echo "install from --git $REPO_URL --tag $PROD_TAG with metrics-http and metrics-grpc features"
cargo add --git "$REPO_URL" --tag "$PROD_TAG" datadog-opentelemetry --features metrics-http,metrics-grpc
echo "install from crates.io with metrics-http and metrics-grpc features"

# remove previous depedency on datadog-opentelemetry and add the new one from crates.io
cargo remove datadog-opentelemetry || true
cargo add datadog-opentelemetry --features metrics-http,metrics-grpc,logs-http,logs-grpc
fi

34 changes: 17 additions & 17 deletions utils/build/docker/rust/parametric/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion utils/build/docker/rust/parametric/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,4 @@ opentelemetry-stdout = { version = "0.31.0", features = ["trace", "logs"] }
opentelemetry-semantic-conventions = { version = "0.31.0" }


datadog-opentelemetry = { path = "../../../../../binaries/dd-trace-rs/datadog-opentelemetry", features = ["logs-grpc", "logs-http"] }
datadog-opentelemetry = { path = "../../../../../binaries/dd-trace-rs/datadog-opentelemetry", features = ["metrics-grpc", "metrics-http", "logs-grpc", "logs-http"] }
4 changes: 3 additions & 1 deletion utils/build/docker/rust/parametric/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ COPY utils/build/docker/rust/parametric/../install_ddtrace.sh ./binaries/ /binar
COPY utils/build/docker/rust/parametric/Cargo.toml /usr/app/
COPY utils/build/docker/rust/parametric/src /usr/app/

RUN apt-get update && apt-get install -y --no-install-recommends openssh-client git
RUN apt-get update && apt-get install -y --no-install-recommends openssh-client git jq build-essential perl libssl-dev

RUN cargo install cargo-release@0.25.18 --locked

RUN /binaries/install_ddtrace.sh

Expand Down
1 change: 0 additions & 1 deletion utils/scripts/compute_libraries_and_scenarios.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,6 @@ def get_outputs(self) -> dict[str, Any]:
"version": "prod",
}
for library in sorted(self.selected)
if library not in ("rust",)
] + [
{
"library": library,
Expand Down
Loading