@@ -7,6 +7,8 @@ cd "${repo_root}"
77
88evidence_dir=" build/tck-evidence/jdk-${java_version} "
99result_dir=" tck-runner/build/test-results/fullTckTest"
10+ signature_dir=" tck-runner/build/reports/cdi-signature-test"
11+ signature_result_dir=" tck-runner/build/test-results/cdiSignatureTest"
1012summary_file=" ${evidence_dir} /summary.md"
1113index_file=" ${evidence_dir} /index.html"
1214
@@ -54,6 +56,106 @@ if [ -d "${result_dir}" ]; then
5456 done
5557fi
5658
59+ property_value () {
60+ local file=" $1 "
61+ local key=" $2 "
62+ sed -n " s/^${key} =//p" " ${file} " | head -1
63+ }
64+
65+ signature_status=" not-run"
66+ signature_tests=" 0"
67+ signature_failures=" 0"
68+ signature_errors=" 0"
69+ signature_skipped=" 0"
70+ signature_tool=" unavailable"
71+ signature_file=" unavailable"
72+ signature_source=" unavailable"
73+ signature_boot_cp=" unavailable"
74+ signature_packages=" unavailable"
75+ signature_api_artifacts=" unavailable"
76+ signature_report=" unavailable"
77+
78+ rm -rf " ${evidence_dir} /signature-test"
79+ if [ -d " ${signature_dir} " ]; then
80+ mkdir -p " ${evidence_dir} /signature-test"
81+ for signature_artifact in \
82+ signature-test.properties \
83+ signature-test-report.txt \
84+ cdi-api-jdk17.sig; do
85+ if [ -f " ${signature_dir} /${signature_artifact} " ]; then
86+ cp " ${signature_dir} /${signature_artifact} " " ${evidence_dir} /signature-test/${signature_artifact} "
87+ fi
88+ done
89+ fi
90+
91+ if [ -d " ${signature_result_dir} " ]; then
92+ mkdir -p " ${evidence_dir} /signature-test/junit-xml"
93+ for result_file in " ${signature_result_dir} " /TEST-* .xml; do
94+ [ -f " ${result_file} " ] || continue
95+ perl -0pe ' s#<system-out>.*?</system-out>\n?##gs; s#<system-err>.*?</system-err>\n?##gs' \
96+ " ${result_file} " > " ${evidence_dir} /signature-test/junit-xml/$( basename " ${result_file} " ) "
97+ done
98+ fi
99+
100+ if [ -f " ${signature_dir} /signature-test.properties" ]; then
101+ signature_status=" $( property_value " ${signature_dir} /signature-test.properties" status) "
102+ signature_tests=" $( property_value " ${signature_dir} /signature-test.properties" tests) "
103+ signature_failures=" $( property_value " ${signature_dir} /signature-test.properties" failures) "
104+ signature_errors=" $( property_value " ${signature_dir} /signature-test.properties" errors) "
105+ signature_skipped=" $( property_value " ${signature_dir} /signature-test.properties" skipped) "
106+ signature_tool=" $( property_value " ${signature_dir} /signature-test.properties" sigtestTool) "
107+ signature_file=" $( property_value " ${signature_dir} /signature-test.properties" signatureFile) "
108+ signature_source=" $( property_value " ${signature_dir} /signature-test.properties" signatureSource) "
109+ signature_boot_cp=" $( property_value " ${signature_dir} /signature-test.properties" bootCpRelease) "
110+ signature_packages=" $( property_value " ${signature_dir} /signature-test.properties" packages) "
111+ signature_api_artifacts=" $( property_value " ${signature_dir} /signature-test.properties" apiArtifacts) "
112+ signature_report=" $( property_value " ${signature_dir} /signature-test.properties" report) "
113+ fi
114+
115+ if [ -d " ${evidence_dir} /signature-test" ]; then
116+ cat > " ${evidence_dir} /signature-test/index.html" << EOF
117+ <!doctype html>
118+ <html lang="en">
119+ <head>
120+ <meta charset="utf-8">
121+ <meta name="viewport" content="width=device-width, initial-scale=1">
122+ <title>ODI CDI Lite Signature-Test Evidence - JDK ${java_version} </title>
123+ <style>
124+ body { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; max-width: 960px; margin: 2rem auto; padding: 0 1rem; color: #1f2933; }
125+ code, pre { background: #f5f7fa; border-radius: 4px; }
126+ code { padding: 0.1rem 0.25rem; }
127+ table { border-collapse: collapse; width: 100%; margin: 1rem 0; }
128+ th, td { border: 1px solid #d9e2ec; padding: 0.5rem; text-align: left; }
129+ th { background: #f5f7fa; }
130+ </style>
131+ </head>
132+ <body>
133+ <h1>ODI CDI Lite Signature-Test Evidence - JDK ${java_version} </h1>
134+ <table>
135+ <tr><th>Status</th><th>Tests</th><th>Failures</th><th>Errors</th><th>Skipped</th></tr>
136+ <tr><td>${signature_status} </td><td>${signature_tests} </td><td>${signature_failures} </td><td>${signature_errors} </td><td>${signature_skipped} </td></tr>
137+ </table>
138+ <ul>
139+ <li>Tool: ${signature_tool} </li>
140+ <li>TCK signature file: ${signature_file} </li>
141+ <li>Signature source: ${signature_source} </li>
142+ <li>Boot class path release: ${signature_boot_cp} </li>
143+ <li>Checked packages: <code>${signature_packages} </code></li>
144+ <li>API artifacts: <code>${signature_api_artifacts} </code></li>
145+ </ul>
146+ <p>The signature file is extracted dynamically from the resolved Jakarta CDI TCK artifact during the CI run.</p>
147+ <h2>Artifacts</h2>
148+ <ul>
149+ <li><a href="./${signature_report} ">Signature-test report</a></li>
150+ <li><a href="./signature-test.properties">Signature-test metadata</a></li>
151+ <li><a href="./${signature_file} ">TCK signature file</a></li>
152+ <li><a href="./junit-xml/TEST-cdi-signature-test.xml">JUnit XML</a></li>
153+ </ul>
154+ </body>
155+ </html>
156+ EOF
157+ fi
158+
57159cat > " ${summary_file} " << EOF
58160# ODI CDI Lite TCK Results - JDK ${java_version}
59161
@@ -93,7 +195,24 @@ Excluded TestNG groups: \`cdi-full\`, \`integration\`, \`javaee-full\`, \`se\`.
93195
94196## Additional Certification Requirements
95197
96- - Signature-test evidence: pending; this workflow does not claim signature tests passed.
198+ - Signature-test evidence: ${signature_status}
199+
200+ ## Signature Test
201+
202+ - Status: ${signature_status}
203+ - Tests: ${signature_tests}
204+ - Failures: ${signature_failures}
205+ - Errors: ${signature_errors}
206+ - Skipped: ${signature_skipped}
207+ - Tool: ${signature_tool}
208+ - TCK signature file: ${signature_file}
209+ - Signature source: ${signature_source}
210+ - Boot class path release: ${signature_boot_cp}
211+ - Checked packages: ${signature_packages}
212+ - API artifacts: ${signature_api_artifacts}
213+ - Report: ./signature-test/${signature_report}
214+
215+ The signature file is extracted dynamically from the resolved Jakarta CDI TCK artifact during the CI run.
97216
98217## Environment
99218
@@ -109,6 +228,7 @@ ${java_runtime}
109228## Artifacts
110229
111230- Sanitized JUnit XML: ./junit-xml/
231+ - Signature-test evidence: ./signature-test/
112232
113233Raw Gradle console output and unsanitized Gradle reports are intentionally not published because the build runs with secret-backed environment variables.
114234EOF
@@ -170,7 +290,23 @@ cat > "${index_file}" <<EOF
170290 </ul>
171291
172292 <h2>Additional Certification Requirements</h2>
173- <p>Signature-test evidence is pending; this workflow does not claim signature tests passed.</p>
293+ <p>Signature-test evidence: ${signature_status} </p>
294+
295+ <h2>Signature Test</h2>
296+ <table>
297+ <tr><th>Status</th><th>Tests</th><th>Failures</th><th>Errors</th><th>Skipped</th></tr>
298+ <tr><td>${signature_status} </td><td>${signature_tests} </td><td>${signature_failures} </td><td>${signature_errors} </td><td>${signature_skipped} </td></tr>
299+ </table>
300+ <ul>
301+ <li>Tool: ${signature_tool} </li>
302+ <li>TCK signature file: ${signature_file} </li>
303+ <li>Signature source: ${signature_source} </li>
304+ <li>Boot class path release: ${signature_boot_cp} </li>
305+ <li>Checked packages: <code>${signature_packages} </code></li>
306+ <li>API artifacts: <code>${signature_api_artifacts} </code></li>
307+ <li>Report: <a href="./signature-test/${signature_report} ">signature-test/${signature_report} </a></li>
308+ </ul>
309+ <p>The signature file is extracted dynamically from the resolved Jakarta CDI TCK artifact during the CI run.</p>
174310
175311 <h2>Environment</h2>
176312 <ul>
@@ -185,6 +321,7 @@ cat > "${index_file}" <<EOF
185321 <ul>
186322 <li><a href="./summary.md">Markdown summary</a></li>
187323 <li><a href="./junit-xml/">Sanitized JUnit XML results</a></li>
324+ <li><a href="./signature-test/">Signature-test evidence</a></li>
188325 </ul>
189326 <p>Raw Gradle console output and unsanitized Gradle reports are intentionally not published because the build runs with secret-backed environment variables.</p>
190327</body>
0 commit comments