Skip to content

Commit 49a3f03

Browse files
committed
Fix per-library abidiff reports in the combined ABI summary
The libabigail action writes its report to a fixed RUNNER_TEMP path, so the libhiredis_ssl invocation overwrote the libhiredis report before the compose step read it, embedding the SSL report twice. Snapshot each report to a unique file right after the step that produced it. Also surface abidiff's own change-count summary lines (and SONAME changes) in each section, since the action's verdict text can mislabel struct layout changes as backward-compatible additions.
1 parent d42bb22 commit 49a3f03

1 file changed

Lines changed: 21 additions & 2 deletions

File tree

.github/workflows/abi-check.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,15 @@ jobs:
6969
label-break: abi-break
7070
report-name: abidiff-report-hiredis
7171

72+
# The action writes its report to a fixed path in RUNNER_TEMP, so the
73+
# second invocation overwrites the first one's report — snapshot each
74+
# report to a unique path right after the step that produced it
75+
- name: Snapshot libhiredis report
76+
if: ${{ !cancelled() }}
77+
env:
78+
REPORT: ${{ steps.abi-core.outputs.report }}
79+
run: if [ -n "$REPORT" ] && [ -f "$REPORT" ]; then cp -f "$REPORT" abidiff-hiredis.txt; fi
80+
7281
- name: ABI check libhiredis_ssl
7382
id: abi-ssl
7483
if: ${{ !cancelled() }}
@@ -83,15 +92,21 @@ jobs:
8392
label-break: abi-break
8493
report-name: abidiff-report-hiredis-ssl
8594

95+
- name: Snapshot libhiredis_ssl report
96+
if: ${{ !cancelled() }}
97+
env:
98+
REPORT: ${{ steps.abi-ssl.outputs.report }}
99+
run: if [ -n "$REPORT" ] && [ -f "$REPORT" ]; then cp -f "$REPORT" abidiff-hiredis-ssl.txt; fi
100+
86101
- name: Compose combined ABI report
87102
if: ${{ !cancelled() }}
88103
env:
89104
CORE_VERDICT: ${{ steps.abi-core.outputs.verdict }}
90105
CORE_SUMMARY: ${{ steps.abi-core.outputs.summary }}
91-
CORE_REPORT: ${{ steps.abi-core.outputs.report }}
106+
CORE_REPORT: abidiff-hiredis.txt
92107
SSL_VERDICT: ${{ steps.abi-ssl.outputs.verdict }}
93108
SSL_SUMMARY: ${{ steps.abi-ssl.outputs.summary }}
94-
SSL_REPORT: ${{ steps.abi-ssl.outputs.report }}
109+
SSL_REPORT: abidiff-hiredis-ssl.txt
95110
BASE_SHA: ${{ github.event.pull_request.base.sha }}
96111
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
97112
run: |
@@ -110,6 +125,10 @@ jobs:
110125
echo "${3:-No summary produced (check the job log).}"
111126
echo ""
112127
if [ -n "$4" ] && [ -f "$4" ] && [ -s "$4" ]; then
128+
# Show abidiff's own change counts — the action's verdict text
129+
# can mislabel layout changes as additions
130+
grep -E '^(Functions|Variables) changes summary|^ELF SONAME changed' "$4" | sed 's/^/- /' || true
131+
echo ""
113132
echo "<details><summary>Full abidiff report</summary>"
114133
echo ""
115134
echo '```'

0 commit comments

Comments
 (0)