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..97f15544cc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -88,6 +88,21 @@ 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 + run: | + which xsltproc || sudo apt-get install -y xsltproc + 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() shell: bash