wip: report package sizes
All checks were successful
/ check (push) Successful in 49s
/ build (audiomenu) (push) Successful in 2s
/ build (docs) (push) Successful in 3s
/ build (jpassmenu) (push) Successful in 1s
/ build (nixosConfigurations.vm.config.system.build.toplevel) (push) Successful in 19s
/ build (nvim) (push) Successful in 9s
/ report-size (pull_request) Successful in 24s

Added as a comment to the current pull request
This commit is contained in:
Jalil David Salamé Messina 2024-12-14 23:49:23 +01:00
parent 369d7f2fd8
commit e256fef105
Signed by: jalil
GPG key ID: F016B9E770737A0B
2 changed files with 28 additions and 0 deletions

View file

@ -0,0 +1,10 @@
on:
pull_request:
jobs:
report-size:
runs-on: nixos
steps:
- uses: "https://git.salame.cl/actions/checkout@v4"
- run: nix --version
- name: Report Size
run: ci-scripts/report-size.sh

18
ci-scripts/report-size.sh Executable file
View file

@ -0,0 +1,18 @@
create_table() {
# we want to split the words as each of them is a different installable
# shellcheck disable=SC2046
table=$(nix path-info --size --closure-size --human-readable \
$(nix flake show --json 2>/dev/null | jq --raw-output '.packages."x86_64-linux" | ".#" + keys[]') |
sed 's/^\(\S\+\)\(\s\+\)\(\S\+\)\(\s\+\)\(\S\+\)$/| \1\2| \3 | \4\5 |/')
cat <<-EOF
| Nix Store Path | NAR Size | Closure Size |
|----------------|---------:|-------------:|
$table
EOF
}
tea login add --url "$GITHUB_SERVER_URL" --token "$GITHUB_TOKEN"
tea pulls list
create_table