Add a size and packaging guardrail
This commit is contained in:
+32
-2
@@ -76,5 +76,35 @@ nix-build release.nix -A windows -o result-windows
|
||||
```
|
||||
|
||||
The packager writes platform-qualified archives and `SHA256SUMS.txt` to
|
||||
`dist/`. `scripts/publish-release.sh` uploads those exact assets as a Gitea
|
||||
pre-release after the worktree is committed and clean.
|
||||
`dist/`. It also writes `SIZE-REPORT.txt`, recording the generated PEQ index,
|
||||
the two executables, and both final archives in bytes. Before writing the
|
||||
checksums, the packager verifies that each archive contains exactly its binary,
|
||||
`README.md`, `LICENSE`, and `config.toml`. This excludes PEQ dumps, SQL/fixture
|
||||
inputs, MariaDB data, the generator, and all source files from releases.
|
||||
|
||||
Keep the size report with the release/change description. When changing the
|
||||
embedded index encoding, compare its archive sizes against the previous report
|
||||
and record the Linux `.tar.gz` and Windows `.zip` deltas. Do not add an archive
|
||||
size threshold until a stable release baseline has been established.
|
||||
|
||||
### PEQ index size audit — 2026-07-29
|
||||
|
||||
The following release builds compare pre-PEQ commit `561ace9` with the current
|
||||
core mapping implementation (tasks 1–4). The after size includes the embedded
|
||||
index and its resolver code.
|
||||
|
||||
| Artifact | Before | After | Delta |
|
||||
| --- | ---: | ---: | ---: |
|
||||
| Generated index | 0 B | 719,199 B | +719,199 B |
|
||||
| Linux executable | 6,772,856 B | 7,535,632 B | +762,776 B |
|
||||
| Linux `.tar.gz` | 2,871,605 B | 3,010,723 B | +139,118 B |
|
||||
| Windows executable | 6,577,369 B | 7,332,144 B | +754,775 B |
|
||||
| Windows `.zip` | 2,805,692 B | 2,944,841 B | +139,149 B |
|
||||
|
||||
Both archives were inspected after packaging and contained only the platform
|
||||
binary, `README.md`, `LICENSE`, and `config.toml`. The compressed distribution
|
||||
cost is about 139 KB per platform; retain the JSON encoding until a future
|
||||
measurement establishes a material reason to optimize it.
|
||||
|
||||
`scripts/publish-release.sh` uploads the archive assets and checksums as a
|
||||
Gitea pre-release after the worktree is committed and clean.
|
||||
|
||||
Reference in New Issue
Block a user