|
5 | 5 | cd /usr/app |
6 | 6 |
|
7 | 7 | REPO_URL=https://github.com/DataDog/dd-trace-rs |
8 | | -PROD_TAG=datadog-opentelemetry-v0.3.1 |
9 | 8 |
|
10 | 9 | if [ -e /binaries/rust-load-from-git ]; then |
11 | 10 | rev_or_branch=$(</binaries/rust-load-from-git) |
|
16 | 15 |
|
17 | 16 | if [ -e /binaries/dd-trace-rs ]; then |
18 | 17 | echo "install from /binaries/datadog-opentelemetry with metrics-http and metrics-grpc features" |
19 | | - cargo add --path /binaries/dd-trace-rs/datadog-opentelemetry --features metrics-http,metrics-grpc |
| 18 | + |
| 19 | + cd /binaries/dd-trace-rs |
| 20 | + |
| 21 | + # get the version from the cargo.lock |
| 22 | + current_version=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[] | select(.name == "datadog-opentelemetry") | .version') |
| 23 | + |
| 24 | + # bump patch (right segment); — expects MAJOR.MINOR.PATCH |
| 25 | + IFS=. read -r major minor patch <<<"$current_version" |
| 26 | + if [[ -z "${minor:-}" || -z "${patch:-}" ]]; then |
| 27 | + echo "expected semver MAJOR.MINOR.PATCH, got: $current_version" >&2 |
| 28 | + exit 1 |
| 29 | + fi |
| 30 | + new_version="${major}.${minor}.$((patch + 1))" |
| 31 | + |
| 32 | + if [ -e /binaries/dd-trace-rs/.git ]; then |
| 33 | + dev_version="${new_version}-dev+$(git -C /binaries/dd-trace-rs rev-parse --short HEAD)" |
| 34 | + else |
| 35 | + dev_version="${new_version}-dev" |
| 36 | + fi |
| 37 | + |
| 38 | + echo "generating dev version $dev_version from $current_version" |
| 39 | + cargo release version -p datadog-opentelemetry "$dev_version" -x --no-confirm |
| 40 | + |
| 41 | + cd /usr/app |
| 42 | + cargo add datadog-opentelemetry --path /binaries/dd-trace-rs/datadog-opentelemetry --features metrics-http,metrics-grpc,logs-http,logs-grpc |
20 | 43 | else |
21 | | - # TODO: add lastest release from crates.io |
22 | | - echo "install from --git $REPO_URL --tag $PROD_TAG with metrics-http and metrics-grpc features" |
23 | | - cargo add --git "$REPO_URL" --tag "$PROD_TAG" datadog-opentelemetry --features metrics-http,metrics-grpc |
| 44 | + echo "install from crates.io with metrics-http and metrics-grpc features" |
| 45 | + |
| 46 | + # remove previous depedency on datadog-opentelemetry and add the new one from crates.io |
| 47 | + cargo remove datadog-opentelemetry || true |
| 48 | + cargo add datadog-opentelemetry --features metrics-http,metrics-grpc,logs-http,logs-grpc |
24 | 49 | fi |
25 | 50 |
|
0 commit comments