feat(comment): add some context on how to read the data
This should help them out to reduce the size. Also rectify misunderstanding about NAR Size.
This commit is contained in:
parent
ea9ec51d18
commit
983bec568c
1 changed files with 21 additions and 6 deletions
|
@ -41,15 +41,30 @@ markdown_from_report() {
|
||||||
cat <<-"EOF"
|
cat <<-"EOF"
|
||||||
# Flake output sizes
|
# Flake output sizes
|
||||||
|
|
||||||
- `Name`: the name of the package/configuration
|
**Definitions:**
|
||||||
- `Size`: the closure size (size on disk of the package/configuration)
|
|
||||||
- `NAR Size`: the size of the generated build instructions (Nix ARchive)
|
- `Name`: the name of the package/configuration.
|
||||||
|
- `Size`: the closure size (size on disk/NAR size + all transitive dependencies).
|
||||||
|
- `NAR Size`: the size of the build output (package without the dependencies).
|
||||||
|
EOF
|
||||||
|
if [ "${2+set}" = "set" ]; then
|
||||||
|
cat <<-"EOF"
|
||||||
|
- `[NAR] Size Change`: the amount changed compared to the main branch.
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
cat <<-"EOF"
|
||||||
|
|
||||||
|
**Tips on reading this data:**
|
||||||
|
|
||||||
|
- For NixOS configurations you generally care only about the `Size` (closure size/size on disk).
|
||||||
|
- Reduce the `Size` by disabling unneeded services/default packages.
|
||||||
|
- For Packages you care about both the `Size` and the `NAR Size`.
|
||||||
|
- Reduce the `NAR Size` by reducing the size of the build outputs, e.g. don't copy unnecessary data to the $out dir, optimize binaries for size, etc.
|
||||||
|
- Reduce the `Size` by reducing the dependencies (e.g. `buildInputs`).
|
||||||
|
- Don't worry too much about size, some dependencies are deduplicated, e.g. `glibc` adds ~40MiB to the `Size`, but is generally shared by ~every binary on the system, so, chances are, you are already including it from somewhere else and statically linking with e.g. `musl` is not gonna improve things.
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if [ "${2+set}" = "set" ]; then
|
if [ "${2+set}" = "set" ]; then
|
||||||
cat <<-"EOF"
|
|
||||||
- `[NAR] Size Change`: the amount changed compared to the main branch
|
|
||||||
EOF
|
|
||||||
compare=$(jq --slurp --from-file "${GITHUB_ACTION_PATH:-.}/compare.jq" "$1" "$2")
|
compare=$(jq --slurp --from-file "${GITHUB_ACTION_PATH:-.}/compare.jq" "$1" "$2")
|
||||||
if echo "$compare" | has_elements 'nixosConfigurations'; then
|
if echo "$compare" | has_elements 'nixosConfigurations'; then
|
||||||
cat <<-"EOF"
|
cat <<-"EOF"
|
||||||
|
|
Loading…
Reference in a new issue