fix(action): better logging
Be more clear about why it failed
This commit is contained in:
parent
7cc7a6f6f4
commit
08d9598c26
4 changed files with 62 additions and 24 deletions
|
@ -2,41 +2,52 @@
|
|||
|
||||
set -eu
|
||||
|
||||
echo 'Retrieving Flake information' >&2
|
||||
util_path="${GITHUB_ACTION_PATH-.}/utils.sh"
|
||||
|
||||
# shellcheck source=utils.sh
|
||||
. "${util_path}"
|
||||
|
||||
log 'Retrieving Flake information'
|
||||
flake_info=$(nix flake show --json 2>/dev/null)
|
||||
packages=$(
|
||||
jq --raw-output '.packages."x86_64-linux" | select(. != null) | keys[]' <<-EOF
|
||||
$flake_info
|
||||
EOF
|
||||
)
|
||||
echo "Packages:" >&2
|
||||
echo "$packages" >&2
|
||||
group 'Packages:'
|
||||
log "$packages"
|
||||
endgroup
|
||||
configurations=$(
|
||||
jq --raw-output '.nixosConfigurations | select(. != null) | keys[]' <<-EOF
|
||||
$flake_info
|
||||
EOF
|
||||
)
|
||||
echo "NixOS Configurations:" >&2
|
||||
echo "$configurations" >&2
|
||||
group 'NixOS Configurations:'
|
||||
log "$configurations"
|
||||
endgroup
|
||||
|
||||
pkgs_json() {
|
||||
group 'Building packages'
|
||||
for package in $packages; do
|
||||
echo "Building $package" >&2
|
||||
log "Building $package"
|
||||
path=$(nix build --print-out-paths ".#$package" 2>/dev/null)
|
||||
echo "Calculating size of $package" >&2
|
||||
log "Calculating size of $package"
|
||||
nix path-info --closure-size --json "$path" 2>/dev/null |
|
||||
jq --compact-output --arg pkg "$package" '.[] | {"name": $pkg, "size": .closureSize, "narSize": .narSize}'
|
||||
done
|
||||
endgroup
|
||||
}
|
||||
|
||||
configs_json() {
|
||||
group 'Building NixOS configurations'
|
||||
for config in $configurations; do
|
||||
echo "Building $config" >&2
|
||||
log "Building $config"
|
||||
path=$(nix build --print-out-paths ".#nixosConfigurations.$config.config.system.build.toplevel" 2>/dev/null)
|
||||
echo "Calculating size of $config" >&2
|
||||
log "Calculating size of $config"
|
||||
nix path-info --closure-size --json "$path" 2>/dev/null |
|
||||
jq --compact-output --arg pkg "$config" '.[] | {"name": $pkg, "size": .closureSize, "narSize": .narSize}'
|
||||
done
|
||||
endgroup
|
||||
}
|
||||
|
||||
pkgs=$(pkgs_json | jq --slurp '.')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue