From 6d9ce8369871178a7f606db8c609f46786af0b8b Mon Sep 17 00:00:00 2001 From: pazpi Date: Thu, 8 Jan 2026 08:40:59 +0100 Subject: [PATCH] Add build duration info --- .forgejo/workflows/auto-update.yaml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/auto-update.yaml b/.forgejo/workflows/auto-update.yaml index eb366f6..27eadbc 100644 --- a/.forgejo/workflows/auto-update.yaml +++ b/.forgejo/workflows/auto-update.yaml @@ -103,17 +103,29 @@ jobs: FAILED_HOSTS="" SUCCESS_HOSTS="" + declare -A BUILD_TIMES + for HOST in $(echo "$HOSTS" | jq -r '.[]'); do echo "" echo "==========================================" echo "Building: $HOST" echo "==========================================" + START_TIME=$(date +%s) + 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" 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" fi done @@ -124,6 +136,11 @@ jobs: echo "==========================================" echo "Succeeded:$SUCCESS_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 echo "$FAILED_HOSTS" > failed-hosts.txt