From 1edb7103463ac4ce47be9c0519fc318db4834c81 Mon Sep 17 00:00:00 2001 From: Cynopolis Date: Thu, 29 May 2025 11:23:31 -0400 Subject: [PATCH] Fixing timing test runner --- .gitea/workflows/Matrix-Timing.yaml | 40 +++++++++++++++-------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/.gitea/workflows/Matrix-Timing.yaml b/.gitea/workflows/Matrix-Timing.yaml index 88fa5bd..dbb41ff 100644 --- a/.gitea/workflows/Matrix-Timing.yaml +++ b/.gitea/workflows/Matrix-Timing.yaml @@ -42,38 +42,40 @@ jobs: - name: Compare timing results id: check_diff run: | - # Ensure the previous version exists (from git) git show origin/${{ github.event.pull_request.head.ref }}:unit-tests/timing-results/matrix-timing-tests.txt > old.txt || echo "" > old.txt cp unit-tests/timing-results/matrix-timing-tests.txt new.txt - echo "Comparing timing results..." - - CHANGED=0 + echo "Comparing timing results for changes ≥ 0.1s..." + awk ' - BEGIN { change_threshold=0.1 } - /^[0-9]+\.[0-9]+ s: / { - new_time = $1 - label = substr($0, index($0, ":") + 2) - if (label_times[label]) { - old_time = label_times[label] - delta = new_time - old_time - if (delta < 0) delta = -delta - if (delta >= change_threshold) { - changed = 1 - } - } else { - changed = 1 - } + BEGIN { + change_threshold = 0.1 + changed = 0 } - FILENAME=="old.txt" && /^[0-9]+\.[0-9]+ s: / { + FILENAME == "old.txt" && /^[0-9]+\.[0-9]+ s: / { label = substr($0, index($0, ":") + 2) label_times[label] = $1 } + FILENAME == "new.txt" && /^[0-9]+\.[0-9]+ s: / { + new_time = $1 + label = substr($0, index($0, ":") + 2) + old_time = label_times[label] + delta = new_time - old_time + if (delta < 0) delta = -delta + if (old_time != "" && delta >= change_threshold) { + printf "⚠️ %.3f s → %.3f s: %s (Δ=%.3f s)\n", old_time, new_time, label, delta + changed = 1 + } else if (old_time == "") { + printf "🆕 New timing entry: %.3f s: %s\n", new_time, label + changed = 1 + } + } END { exit changed == 1 ? 0 : 1 } ' old.txt new.txt + - name: Commit and push timing results if: steps.check_diff.outcome == 'success' && github.event.pull_request.head.repo.full_name == github.repository run: |