@@ -81,14 +81,50 @@ jobs:
8181 include_passed : true
8282 - name : Upload test results to Datadog
8383 if : success() || failure()
84- uses : datadog/junit-upload-github-action@762867566348d59ac9bcf479ebb4ec040db8940a
85- with :
86- api_key : ${{ secrets.DATADOG_API_KEY }}
87- env : ci
88- service : libdatadog
89- files : target/nextest/ci/junit.xml
90- logs : true
91- tags : rustc:${{ matrix.rust_version }},arch:${{ runner.arch }},os:${{ runner.os }},platform:${{ matrix.platform }}
84+ shell : bash
85+ run : |
86+ # Download datadog-ci binary
87+ if [ "${{ runner.os }}" == "Linux" ]; then
88+ URL="https://github.com/DataDog/datadog-ci/releases/download/v4.2.2/datadog-ci_linux-x64"
89+ OUTPUT="datadog-ci"
90+ CHECKSUM_CMD="sha256sum"
91+ EXPECTED_CHECKSUM="3e1e9649d15d3feacced89ec90de66151046a58c7844217e4112362ad8dbf8d1"
92+ elif [ "${{ runner.os }}" == "Windows" ]; then
93+ URL="https://github.com/DataDog/datadog-ci/releases/download/v4.2.2/datadog-ci_win-x64"
94+ OUTPUT="datadog-ci.exe"
95+ CHECKSUM_CMD="sha256sum"
96+ EXPECTED_CHECKSUM="13313279cb884fe098e2f80ca21d23e67b78a090a12e891e8e35be653ee2bbd0"
97+ elif [ "${{ runner.os }}" == "macOS" ]; then
98+ URL="https://github.com/DataDog/datadog-ci/releases/download/v4.2.2/datadog-ci_darwin-x64"
99+ OUTPUT="datadog-ci"
100+ CHECKSUM_CMD="shasum -a 256"
101+ EXPECTED_CHECKSUM="071a6140b17438b3f9dd6c65da48b48ea03fc310034fa624ce874fdb6c325da4"
102+ fi
103+
104+ echo "Downloading datadog-ci from $URL"
105+ curl -L --fail --retry 3 -o "$OUTPUT" "$URL"
106+ chmod +x "$OUTPUT"
107+
108+ # Verify checksum
109+ ACTUAL_CHECKSUM=$($CHECKSUM_CMD "$OUTPUT" | cut -d' ' -f1)
110+ echo "Expected checksum: $EXPECTED_CHECKSUM"
111+ echo "Actual checksum: $ACTUAL_CHECKSUM"
112+
113+ if [ "$ACTUAL_CHECKSUM" != "$EXPECTED_CHECKSUM" ]; then
114+ echo "Checksum verification failed!"
115+ exit 1
116+ fi
117+ echo "Checksum verification passed"
118+
119+ # Upload test results
120+ ./"$OUTPUT" junit upload \
121+ --service libdatadog \
122+ --env ci \
123+ --logs \
124+ --tags rustc:${{ matrix.rust_version }},arch:${{ runner.arch }},os:${{ runner.os }},platform:${{ matrix.platform }} \
125+ target/nextest/ci/junit.xml
126+ env :
127+ DATADOG_API_KEY : ${{ secrets.DATADOG_API_KEY }}
92128
93129 ffi :
94130 name : " FFI #${{ matrix.platform }} ${{ matrix.rust_version }}"
@@ -198,6 +234,35 @@ jobs:
198234 cmake -S .. -DDatadog_ROOT=$LIBDD_OUTPUT_FOLDER
199235 cmake --build .
200236 fi
237+ - name : " Test building CXX bindings - Crashinfo (Unix)"
238+ shell : bash
239+ if : matrix.platform != 'windows-latest'
240+ run : |
241+ set -e
242+ cd examples/cxx
243+ ./build-and-run-crashinfo.sh
244+ - name : " Test building CXX bindings - Profiling (Unix)"
245+ shell : bash
246+ if : matrix.platform != 'windows-latest'
247+ run : |
248+ set -e
249+ cd examples/cxx
250+ ./build-profiling.sh
251+ - name : " Setup MSVC (Windows)"
252+ if : matrix.platform == 'windows-latest'
253+ uses : ilammy/msvc-dev-cmd@v1
254+ - name : " Test building CXX bindings - Crashinfo (Windows)"
255+ shell : pwsh
256+ if : matrix.platform == 'windows-latest'
257+ run : |
258+ cd examples/cxx
259+ .\build-and-run-crashinfo.ps1
260+ - name : " Test building CXX bindings - Profiling (Windows)"
261+ shell : pwsh
262+ if : matrix.platform == 'windows-latest'
263+ run : |
264+ cd examples/cxx
265+ .\build-profiling.ps1
201266
202267 cross-centos7 :
203268 name : build and test using cross - on centos7
0 commit comments