Skip to content
This repository was archived by the owner on Jul 22, 2026. It is now read-only.

Commit ebcf79f

Browse files
authored
[CI] Do not update README.md if accuracy is unchanged (#291)
1 parent a8ff496 commit ebcf79f

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,13 @@ jobs:
303303
- name: Update README (main only)
304304
run: |
305305
ACCURACY=$(sed 's/%//g' accuracy_value.txt)
306+
CURRENT_ACCURACY=$(sed -nE 's/.*<!--ACCURACY_PLACEHOLDER-->Accuracy: ([0-9]+(\.[0-9]+)?)% \(updated: [0-9-]+\)<!--END_ACCURACY-->.*/\1/p' README.md | head -n1)
307+
308+
if [ -n "$CURRENT_ACCURACY" ] && [ "$CURRENT_ACCURACY" = "$ACCURACY" ]; then
309+
echo "Accuracy unchanged; keeping existing README update date"
310+
exit 0
311+
fi
312+
306313
DATE=$(date '+%Y-%m-%d')
307314
UPDATE_TEXT="<!--ACCURACY_PLACEHOLDER-->Accuracy: ${ACCURACY}% (updated: ${DATE})<!--END_ACCURACY-->"
308315
ESCAPED_UPDATE_TEXT=$(printf '%s\n' "$UPDATE_TEXT" | sed 's/[&|\\]/\\&/g')
@@ -507,14 +514,24 @@ jobs:
507514
run: |
508515
TOP1_ACC=$(sed -nE 's/^Top-1 Accuracy: ([0-9]+(\.[0-9]+)?)%$/\1/p' accuracy_${{ matrix.model }}.txt | head -n1)
509516
TOP5_ACC=$(sed -nE 's/^Top-5 Accuracy: ([0-9]+(\.[0-9]+)?)%$/\1/p' accuracy_${{ matrix.model }}.txt | head -n1)
510-
DATE=$(date '+%Y-%m-%d')
511517
512518
if [ -z "$TOP1_ACC" ] || [ -z "$TOP5_ACC" ]; then
513519
echo "Ошибка: Не удалось извлечь точность из файла accuracy_${{ matrix.model }}.txt"
514520
cat accuracy_${{ matrix.model }}.txt
515521
exit 1
516522
fi
517523

524+
CURRENT_TOP1=$(sed -nE "s/.*<!--ACCURACY_${{ matrix.model }}_PLACEHOLDER-->Accuracy: Top-1: ([0-9]+(\\.[0-9]+)?)% \\| Top-5: ([0-9]+(\\.[0-9]+)?)% \\(updated: [0-9-]+\\)<!--END_ACCURACY_${{ matrix.model }}-->.*/\\1/p" README.md | head -n1)
525+
CURRENT_TOP5=$(sed -nE "s/.*<!--ACCURACY_${{ matrix.model }}_PLACEHOLDER-->Accuracy: Top-1: ([0-9]+(\\.[0-9]+)?)% \\| Top-5: ([0-9]+(\\.[0-9]+)?)% \\(updated: [0-9-]+\\)<!--END_ACCURACY_${{ matrix.model }}-->.*/\\3/p" README.md | head -n1)
526+
527+
if [ -n "$CURRENT_TOP1" ] && [ -n "$CURRENT_TOP5" ] && \
528+
[ "$CURRENT_TOP1" = "$TOP1_ACC" ] && [ "$CURRENT_TOP5" = "$TOP5_ACC" ]; then
529+
echo "Accuracy for ${{ matrix.model }} unchanged; keeping existing README update date"
530+
exit 0
531+
fi
532+
533+
DATE=$(date '+%Y-%m-%d')
534+
518535
UPDATE_TEXT="<!--ACCURACY_${{ matrix.model }}_PLACEHOLDER-->Accuracy: Top-1: ${TOP1_ACC}% | Top-5: ${TOP5_ACC}% (updated: ${DATE})<!--END_ACCURACY_${{ matrix.model }}-->"
519536
ESCAPED_UPDATE_TEXT=$(printf '%s\n' "$UPDATE_TEXT" | sed 's/[&|\\]/\\&/g')
520537

0 commit comments

Comments
 (0)