From e6653d5a6c7a32085ee7a03500ff984a3db90dae Mon Sep 17 00:00:00 2001 From: Charles de Beauchesne Date: Fri, 6 Mar 2026 16:01:21 +0100 Subject: [PATCH 1/3] chore(ci): add final_status property on junit XML [APMSP-2610] --- .github/workflows/add_final_status.xsl | 50 ++++++++++++++++++++++++++ .github/workflows/test.yml | 12 +++++++ 2 files changed, 62 insertions(+) create mode 100644 .github/workflows/add_final_status.xsl diff --git a/.github/workflows/add_final_status.xsl b/.github/workflows/add_final_status.xsl new file mode 100644 index 0000000000..ea2958a85a --- /dev/null +++ b/.github/workflows/add_final_status.xsl @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + fail + skip + pass + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c7f3b0aac4..3a29759857 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -88,6 +88,18 @@ jobs: report_paths: "target/nextest/ci/junit.xml" check_name: "[${{ matrix.platform }}:${{ matrix.rust_version }}] test report" include_passed: true + - name: Add final_status property + if: success() || failure() + shell: bash + run: | + which xsltproc || sudo apt-get install -y xsltproc + find . -name '*.xml' | while read -r xml_file; do + echo "Fixing $xml_file" + tmp_file="$(mktemp)" + xsltproc --output "$tmp_file" ".github/workflows/add_final_status.xsl" "$xml_file" + mv "$tmp_file" "$xml_file" + done + - name: Upload test results to Datadog if: success() || failure() shell: bash From 7b48a91628bbf41279147dfc4e92dc1a464b1989 Mon Sep 17 00:00:00 2001 From: Charles de Beauchesne Date: Fri, 6 Mar 2026 17:23:36 +0100 Subject: [PATCH 2/3] fix file name --- .github/workflows/test.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3a29759857..e748a37083 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -93,12 +93,10 @@ jobs: shell: bash run: | which xsltproc || sudo apt-get install -y xsltproc - find . -name '*.xml' | while read -r xml_file; do - echo "Fixing $xml_file" - tmp_file="$(mktemp)" - xsltproc --output "$tmp_file" ".github/workflows/add_final_status.xsl" "$xml_file" - mv "$tmp_file" "$xml_file" - done + echo "Fixing target/nextest/ci/junit.xml" + tmp_file="$(mktemp)" + xsltproc --output "$tmp_file" ".github/workflows/add_final_status.xsl" "target/nextest/ci/junit.xml" + mv "$tmp_file" "target/nextest/ci/junit.xml" - name: Upload test results to Datadog if: success() || failure() From 6ba2084f2264ec8c35836cc9f44756afd758e47c Mon Sep 17 00:00:00 2001 From: Charles de Beauchesne Date: Tue, 10 Mar 2026 10:30:46 +0100 Subject: [PATCH 3/3] Added a comment about XSLT --- .github/workflows/test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e748a37083..97f15544cc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -88,6 +88,11 @@ jobs: report_paths: "target/nextest/ci/junit.xml" check_name: "[${{ matrix.platform }}:${{ matrix.rust_version }}] test report" include_passed: true + # We're using not-that-ideal XSLT here as this change, because it must be done over 17+ repos. + # It's a workaround until this gets integrated into a better place, such as datadog-ci or the backend. + # + # * ticket: https://datadoghq.atlassian.net/browse/APMSP-2610 + # * RFC: https://docs.google.com/document/d/1OaX_h09fCXWmK_1ADrwvilt8Yt5h4WjC7UUAdS3Y3uw/edit?pli=1&tab=t.0#heading=h.tfy5viz7rz2 - name: Add final_status property if: success() || failure() shell: bash