Skip to content

Publish a comment in case of significant size change#11757

Merged
sylvestre merged 4 commits into
uutils:mainfrom
sylvestre:ci-size
Apr 11, 2026
Merged

Publish a comment in case of significant size change#11757
sylvestre merged 4 commits into
uutils:mainfrom
sylvestre:ci-size

Conversation

@sylvestre

Copy link
Copy Markdown
Contributor

No description provided.

Per-binary comparison script that reads the existing
individual-size-result.json format (date-keyed with sha + sizes-in-KB)
and reports binaries whose size changed by both >=5% and >=4 KB.

This is the size-tracking counterpart of compare_test_results.py: it
emits GitHub workflow annotations and writes a PR comment body to its
--output path only when there is something significant to report.
Replace the inline shell loop that walked individual-size-result.json
with a call to util/compare_size_results.py and write its output, plus
the PR number, into a size-comment/ directory uploaded as an artifact.

The aggregate `multiple binaries` and `multicall binary` checks remain
inline since they are simple scalar comparisons. The new artifact is
consumed by the SizeComment workflow to post a PR comment, mirroring
the GnuTests / GnuComment pipeline.
New workflow mirroring GnuComment.yml: triggers on workflow_run of
make, downloads the size-comment artifact for the corresponding PR,
and posts the per-binary size comparison as a PR comment when there
is something significant to report.
@github-actions

Copy link
Copy Markdown

GNU testsuite comparison:

Skipping an intermittent issue tests/tail/tail-n0f (passes in this run but fails in the 'main' branch)
Congrats! The gnu test tests/tail/pid-pipe is no longer failing!
Note: The gnu test tests/cp/link-heap is now being skipped but was previously passing.

@sylvestre sylvestre force-pushed the ci-size branch 3 times, most recently from 4815a19 to a222924 Compare April 11, 2026 12:57
Mirrors test_compare_test_results.py: covers human_kb formatting,
load_sizes (date-keyed and flat), compare() including threshold
boundaries on both growth and shrinkage, format_report, and an
end-to-end main() check that the comment file is only written when
something significant is reported.

Wired into code-quality.yml alongside the existing compare_test_results
unit tests.
@github-actions

Copy link
Copy Markdown

GNU testsuite comparison:

Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)
Note: The gnu test tests/misc/write-errors was skipped on 'main' but is now failing.

@sylvestre sylvestre marked this pull request as ready for review April 11, 2026 14:01
@sylvestre sylvestre merged commit 56210f1 into uutils:main Apr 11, 2026
164 of 167 checks passed
@sylvestre sylvestre deleted the ci-size branch April 11, 2026 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant