-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscript.sh
More file actions
executable file
·127 lines (105 loc) · 3.96 KB
/
script.sh
File metadata and controls
executable file
·127 lines (105 loc) · 3.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#!/bin/bash
# Unless explicitly stated otherwise all files in this repository are licensed
# under the Apache License Version 2.0.
# This product includes software developed at Datadog (https://www.datadoghq.com/)
# Copyright 2024-present Datadog, Inc.
mkdir .datadog
# $LANGUAGES or $DD_CIVISIBILITY_INSTRUMENTATION_LANGUAGES are required
if [[ -z "$LANGUAGES" && -z "$DD_CIVISIBILITY_INSTRUMENTATION_LANGUAGES" ]]; then
>&2 echo "LANGUAGES is not set"
exit 1
fi
# $API_KEY or $DD_API_KEY are required
if [[ -z "$API_KEY" && -z "$DD_API_KEY" ]]; then
>&2 echo "API_KEY is not set"
exit 1
elif [ -n "$API_KEY" ]; then
export DD_API_KEY=${API_KEY}
fi
# $SITE or $DD_SITE are optional
if [[ -z "$SITE" && -z "$DD_SITE" ]]; then
export DD_SITE=datadoghq.com
elif [ -n "$SITE" ]; then
export DD_SITE=${SITE}
fi
# $SERVICE or $DD_SERVICE are optional
if [ -n "$SERVICE" ]; then
export DD_SERVICE=${SERVICE}
fi
# $DOTNET_TRACER_VERSION or $DD_SET_TRACER_VERSION_DOTNET are optional
if [ -n "$DOTNET_TRACER_VERSION" ]; then
export DD_SET_TRACER_VERSION_DOTNET=${DOTNET_TRACER_VERSION}
fi
# $JAVA_TRACER_VERSION or $DD_SET_TRACER_VERSION_JAVA are optional
if [ -n "$JAVA_TRACER_VERSION" ]; then
export DD_SET_TRACER_VERSION_JAVA=${JAVA_TRACER_VERSION}
fi
# $JS_TRACER_VERSION or $DD_SET_TRACER_VERSION_JS are optional
if [ -n "$JS_TRACER_VERSION" ]; then
export DD_SET_TRACER_VERSION_JS=${JS_TRACER_VERSION}
fi
# $PYTHON_TRACER_VERSION or $DD_SET_TRACER_VERSION_PYTHON are optional
if [ -n "$PYTHON_TRACER_VERSION" ]; then
export DD_SET_TRACER_VERSION_PYTHON=${PYTHON_TRACER_VERSION}
fi
# $RUBY_TRACER_VERSION or $DD_SET_TRACER_VERSION_RUBY are optional
if [ -n "$RUBY_TRACER_VERSION" ]; then
export DD_SET_TRACER_VERSION_RUBY=${RUBY_TRACER_VERSION}
fi
# $GO_TRACER_VERSION or $DD_SET_TRACER_VERSION_GO are optional
if [ -n "$GO_TRACER_VERSION" ]; then
export DD_SET_TRACER_VERSION_GO=${GO_TRACER_VERSION}
fi
# $GO_MODULE_DIR or $DD_CIVISIBILITY_GO_MODULE_DIR are optional
if [ -n "$GO_MODULE_DIR" ]; then
export DD_CIVISIBILITY_GO_MODULE_DIR=${GO_MODULE_DIR}
fi
# $JAVA_INSTRUMENTED_BUILD_SYSTEM or $DD_INSTRUMENTATION_BUILD_SYSTEM_JAVA are optional
if [ -n "$JAVA_INSTRUMENTED_BUILD_SYSTEM" ]; then
export DD_INSTRUMENTATION_BUILD_SYSTEM_JAVA=${JAVA_INSTRUMENTED_BUILD_SYSTEM}
fi
export DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER="gitlab"
# Keep the installer URL and checksum pinned together so the wrapper executes a
# deterministic upstream payload.
installation_script_url="https://install.datadoghq.com/scripts/install_test_visibility_v12.sh"
installation_script_checksum="91b6c7bb2c28ef5604c2a2b233da7d931a9b3b5d20b7872254ebb0e689e62f4a"
script_filepath="install_test_visibility.sh"
if command -v curl >/dev/null 2>&1; then
curl -Lo "$script_filepath" "$installation_script_url"
elif command -v wget >/dev/null 2>&1; then
wget -O "$script_filepath" "$installation_script_url"
else
>&2 echo "Error: Neither wget nor curl is installed."
exit 1
fi
if ! echo "$installation_script_checksum $script_filepath" | sha256sum -c -; then
>&2 echo "Error: The checksum of the downloaded script does not match the expected checksum."
exit 1
fi
chmod +x ./install_test_visibility.sh
while IFS='=' read -r name value; do
if [[ $name =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]]; then
export "$name=$value"
fi
done < <(DD_CIVISIBILITY_INSTRUMENTATION_LANGUAGES="${LANGUAGES}" ./install_test_visibility.sh)
echo "---"
echo "Installed Test Optimization libraries:"
if [ ! -z "$DD_TRACER_VERSION_DOTNET" ]; then
echo "- __.NET:__ $DD_TRACER_VERSION_DOTNET"
fi
if [ ! -z "$DD_TRACER_VERSION_JAVA" ]; then
echo "- __Java:__ $DD_TRACER_VERSION_JAVA"
fi
if [ ! -z "$DD_TRACER_VERSION_JS" ]; then
echo "- __JS:__ $DD_TRACER_VERSION_JS"
fi
if [ ! -z "$DD_TRACER_VERSION_PYTHON" ]; then
echo "- __Python:__ $DD_TRACER_VERSION_PYTHON"
fi
if [ ! -z "$DD_TRACER_VERSION_RUBY" ]; then
echo "- __Ruby:__ $DD_TRACER_VERSION_RUBY"
fi
if [ ! -z "$DD_TRACER_VERSION_GO" ]; then
echo "- __Go:__ $DD_TRACER_VERSION_GO"
fi
echo "---"