From 8e865cc8a63954023fbbf3ee6bd2346608c0c130 Mon Sep 17 00:00:00 2001 From: Igor Pecovnik Date: Tue, 13 May 2025 08:47:16 +0200 Subject: [PATCH] Sort resoults --- .../wireless-performance-autotest.yml | 51 +++++++++---------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/.github/workflows/wireless-performance-autotest.yml b/.github/workflows/wireless-performance-autotest.yml index 052947fb..8e88560e 100644 --- a/.github/workflows/wireless-performance-autotest.yml +++ b/.github/workflows/wireless-performance-autotest.yml @@ -245,31 +245,34 @@ jobs: FILENAME=output.md cat > "$FILENAME" <<- EOT ## Devices Under Tests - This section presents the performance test results, including key metrics and technical details from the test execution. - **Test Date:** [15.3.2025](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}) + **Test Date:** [$(date -u '+%Y-%m-%d %H:%M UTC')](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}) EOT # Step 1: Get all device identifiers - device_ids=$(ls test | grep -oP 'wlx\w+' | sort | uniq) + device_ids=$(ls test | grep -oP 'wlx\w+' | sort -u) - # Step 2: Build a list of unique classes - classes=$(for device in $device_ids; do + # Step 2: Collect all metadata and sort by class, then name + sorted_devices=$(for device in $device_ids; do source test/$device.sysinfo - echo "$DEVICE_CLASS" - done | sort -u) + echo "$DEVICE_CLASS|$DEVICE_NAME|$device" + done | sort) + + # Step 3: Output by class and device + current_class="" + while IFS='|' read -r class name device; do + if [ "$class" != "$current_class" ]; then + echo "### $class" >> "$FILENAME" + current_class="$class" + fi + + source test/$device.sysinfo + + cat >> "$FILENAME" <<- EOT - # Step 3: Group and output by class - for class in $classes; do - echo "### $class" >> "$FILENAME" - for device in $device_ids; do - source test/$device.sysinfo - if [ "$DEVICE_CLASS" = "$class" ]; then - cat >> "$FILENAME" <<- EOT #### $DEVICE_NAME - OS: Armbian v${VERSION}, ${KERNEL} | Chipset | Class | Average forward speed | Average reverse speed | @@ -277,31 +280,23 @@ jobs: |$DEVICE_TYPE | $DEVICE_CLASS | $DEVICE_TX Mbits/sec | $DEVICE_RX Mbits/sec | === "Forward mode (client to server)" - \`\`\` - $(cat test/$device-tx.log | sed 's/^/ /') + $(sed 's/^/ /' test/$device-tx.log) \`\`\` - === "Reverse mode (server to client)" - \`\`\` - $(cat test/$device-rx.log | sed 's/^/ /') + $(sed 's/^/ /' test/$device-rx.log) \`\`\` - === "Wireless link info" - \`\`\` - $(cat test/$device-info.log | sed 's/^/ /') + $(sed 's/^/ /' test/$device-info.log) \`\`\` - EOT - fi - done - done + + done <<< "$sorted_devices" cat "$FILENAME" >> "$GITHUB_STEP_SUMMARY" - - name: Replace content in markdown document run: |