Add build duration info

This commit is contained in:
pazpi 2026-01-08 08:40:59 +01:00
parent 13b2aa300c
commit 6d9ce83698

View file

@ -103,17 +103,29 @@ jobs:
FAILED_HOSTS="" FAILED_HOSTS=""
SUCCESS_HOSTS="" SUCCESS_HOSTS=""
declare -A BUILD_TIMES
for HOST in $(echo "$HOSTS" | jq -r '.[]'); do for HOST in $(echo "$HOSTS" | jq -r '.[]'); do
echo "" echo ""
echo "==========================================" echo "=========================================="
echo "Building: $HOST" echo "Building: $HOST"
echo "==========================================" echo "=========================================="
START_TIME=$(date +%s)
if nix build ".#nixosConfigurations.${HOST}.config.system.build.toplevel" --no-link --quiet 2>&1 | tee "build-${HOST}.txt"; then if nix build ".#nixosConfigurations.${HOST}.config.system.build.toplevel" --no-link --quiet 2>&1 | tee "build-${HOST}.txt"; then
echo "✓ Build succeeded: $HOST" END_TIME=$(date +%s)
DURATION=$((END_TIME - START_TIME))
DURATION_FMT=$(printf '%dm %ds' $((DURATION/60)) $((DURATION%60)))
BUILD_TIMES[$HOST]="$DURATION_FMT"
echo "✓ Build succeeded: $HOST (${DURATION_FMT})"
SUCCESS_HOSTS="$SUCCESS_HOSTS $HOST" SUCCESS_HOSTS="$SUCCESS_HOSTS $HOST"
else else
echo "✗ Build failed: $HOST" END_TIME=$(date +%s)
DURATION=$((END_TIME - START_TIME))
DURATION_FMT=$(printf '%dm %ds' $((DURATION/60)) $((DURATION%60)))
BUILD_TIMES[$HOST]="$DURATION_FMT"
echo "✗ Build failed: $HOST (${DURATION_FMT})"
FAILED_HOSTS="$FAILED_HOSTS $HOST" FAILED_HOSTS="$FAILED_HOSTS $HOST"
fi fi
done done
@ -124,6 +136,11 @@ jobs:
echo "==========================================" echo "=========================================="
echo "Succeeded:$SUCCESS_HOSTS" echo "Succeeded:$SUCCESS_HOSTS"
echo "Failed:$FAILED_HOSTS" echo "Failed:$FAILED_HOSTS"
echo ""
echo "Build times:"
for HOST in "${!BUILD_TIMES[@]}"; do
echo " $HOST: ${BUILD_TIMES[$HOST]}"
done
# Save results for report job # Save results for report job
echo "$FAILED_HOSTS" > failed-hosts.txt echo "$FAILED_HOSTS" > failed-hosts.txt