chore(auto): самоаудит 2026-10-26T16:19:01Z — selfcheck_exit=0

This commit is contained in:
Vlad Gothbreach
2026-10-26 19:19:03 +03:00
parent 7b3d708402
commit 2a6799d92d
5 changed files with 293 additions and 1 deletions

49
tools/autocommit.sh Normal file
View File

@@ -0,0 +1,49 @@
#!/usr/bin/env bash
# Автоцикл: самоаудит -> (опц.) подкачка источников -> коммит изменений -> пуш в Gitea и GitHub.
# Использование: bash tools/autocommit.sh [--feed] [--quiet]
set -uo pipefail
cd "$(dirname "$0")/.." || exit 1
PY="/c/Users/User/AppData/Local/Programs/Python/Python311/python.exe"
FEED=0
for a in "$@"; do [ "$a" = "--feed" ] && FEED=1; done
export PYTHONIOENCODING=utf-8
unset PYTHONPATH
STAMP="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
LOG="data/autocommit.log"
mkdir -p data
echo "== $STAMP ==" >> "$LOG"
# 1) подкачка новых записей (необязательно)
if [ "$FEED" = "1" ]; then
"$PY" -m omni feed --limit 8 --workers 6 >> "$LOG" 2>&1
echo "feed_exit=$?" >> "$LOG"
fi
# 2) самоаудит + REPORT.md
"$PY" tools/selfcheck.py >> "$LOG" 2>&1
echo "selfcheck_exit=$?" >> "$LOG"
# 3) коммит, только если есть реальные изменения кода/отчёта
git add -A
if git diff --cached --quiet; then
echo "no_changes" >> "$LOG"
exit 0
fi
STATS="$(tail -1 "$LOG" | sed 's/^/ /')"
git commit -q -m "chore(auto): самоаудит $STAMP —$(printf '%s' "$STATS" | cut -c1-160)"
COMMIT="$(git rev-parse --short HEAD)"
echo "commit=$COMMIT" >> "$LOG"
# 4) пуш в оба ремоута
if git push -q gitea main >> "$LOG" 2>&1; then echo "gitea=OK" >> "$LOG"; else echo "gitea=FAIL" >> "$LOG"; fi
if [ -x /c/Users/User/tmp/push_omni_gh.sh ] || [ -f /c/Users/User/tmp/push_omni_gh.sh ]; then
if bash /c/Users/User/tmp/push_omni_gh.sh >> "$LOG" 2>&1; then echo "github=OK" >> "$LOG"; else echo "github=FAIL" >> "$LOG"; fi
fi
echo "done $COMMIT" >> "$LOG"
echo "autocommit $COMMIT"