8000 ci(v3): binary-size gate report-only until #551 by adityamukho · Pull Request #680 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/workflows/binary-size.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ jobs:
# 30 KiB more for rule queries on the engine, #548). Back to 1200 KiB when #551
# removes the executor's query path. See PHILOSOPHY.md §4.
SIZE_LIMIT_BYTES: 1290240
# Temporarily report-only on v3: #549 left the binary at 1259 of 1260 KiB with
# #549 PR 2, #550 and #551 still to land while both query paths ship. A size over
# the limit is a warning, not a failure. Set back to "fail", with a limit of
# 1228800 (1200 KiB), when #551 removes the executor's query path.
SIZE_GATE: report
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand All @@ -37,6 +42,10 @@ jobs:
LIMIT_KB=$(( SIZE_LIMIT_BYTES / 1024 ))
echo "Binary size: ${SIZE_KB} KiB (limit: ${LIMIT_KB} KiB)"
if [ "$SIZE" -gt "$SIZE_LIMIT_BYTES" ]; then
if [ "$SIZE_GATE" = "report" ]; then
echo "::warning::binary size ${SIZE_KB} KiB exceeds limit of ${LIMIT_KB} KiB (gate is report-only until #551)"
exit 0
fi
echo "FAIL: binary size ${SIZE_KB} KiB exceeds limit of ${LIMIT_KB} KiB"
exit 1
fi
Expand Down
2 changes: 1 addition & 1 deletion PHILOSOPHY.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ SQLite's success comes from a clear philosophy: be a library, not a server. Be s
strip=symbols all already applied; see CI's `binary-size.yml` for the
enforced limit). On the v3 branch the gate allows a temporary 60 KiB more
(1,260 KiB) while the streaming engine and the old executor both ship
(#473; rule queries on the engine added 30 KiB, #548); it returns to 1,200 KiB when #551 removes the executor's query path
(#473; rule queries on the engine added 30 KiB, #548), and since #549 left the binary at 1,259 KiB that gate is report-only: CI warns above 1,260 KiB instead of failing. It returns to an enforced 1,200 KiB when #551 removes the executor's query path
- No runtime dependencies (no JVM, no Python, no Node.js)

**Anti-pattern**: Requiring external services, libraries, or runtimes to function.
Expand Down
Loading
0