#!/bin/bash # ============================================================ # session-end.sh — Завершення робочої сесії # ============================================================ # Автоматично: # - Додає підсумок сесії # - Комітить зміни # - Пушить на всі репозиторії # ============================================================ set -e PROJECT_DIR="/Users/apple/github-projects/microdao-daarion" SESSIONS_DIR="$PROJECT_DIR/logs/sessions" DATE=$(date +%Y-%m-%d) TIME=$(date +%H:%M) SESSION_FILE="${DAARION_SESSION_FILE:-$SESSIONS_DIR/${DATE}.md}" # Кольори GREEN='\033[0;32m' YELLOW='\033[1;33m' CYAN='\033[0;36m' NC='\033[0m' echo -e "${GREEN}🏁 Завершення сесії${NC}" echo "================================" # Додати підсумок if [ -f "$SESSION_FILE" ]; then cat >> "$SESSION_FILE" << EOF ### $TIME — Сесію завершено --- ## 📊 Підсумок - **Завершено:** $TIME - **Git status:** $(cd "$PROJECT_DIR" && git status --short | wc -l | tr -d ' ') змінених файлів EOF echo -e "📄 Оновлено: ${CYAN}$SESSION_FILE${NC}" fi # Git операції cd "$PROJECT_DIR" echo "" echo -e "${YELLOW}📦 Git операції...${NC}" # Додати всі зміни git add -A # Перевірити чи є що комітити if git diff --cached --quiet; then echo "ℹ️ Немає змін для коміту" else # Коміт COMMIT_MSG="📝 Session $DATE: auto-commit on session end" git commit -m "$COMMIT_MSG" echo -e "✅ Commit: ${CYAN}$COMMIT_MSG${NC}" # Push на всі remote echo "" echo -e "${YELLOW}🚀 Push на всі репозиторії...${NC}" # GitHub if git push origin 2>/dev/null; then echo " ✅ GitHub (origin)" else echo " ⚠️ GitHub — помилка або немає змін" fi # Gitea if git push gitea 2>/dev/null; then echo " ✅ Gitea" else echo " ⚠️ Gitea — помилка або недоступний" fi # GitLab (через tunnel) if nc -z localhost 8929 2>/dev/null; then if git push gitlab 2>/dev/null; then echo " ✅ GitLab" else echo " ⚠️ GitLab — помилка" fi else echo " ⚠️ GitLab — SSH tunnel не активний" fi fi echo "" echo -e "${GREEN}✅ Сесію завершено!${NC}" echo "До зустрічі! 👋"