cron 설정, 최종 요약 메시지 추가

This commit is contained in:
Lectom C Han
2025-12-17 08:29:03 +09:00
parent a2f9b29a95
commit 985600cb2d
3 changed files with 23 additions and 2 deletions

View File

@@ -8,7 +8,7 @@ on:
required: false
default: ''
schedule:
- cron: '24 23 * * *' # Runs every day at 2:07 AM
- cron: '7 17 * * *' # UTC 17:07 == KST 02:07
jobs:
mirror:
@@ -44,10 +44,18 @@ jobs:
ROOT_DIR="$(pwd)"
NOTIFY_WEBHOOK="${NOTIFY_WEBHOOK:-}"
SYNC_TAGS="${SYNC_TAGS:-true}"
TOTAL_SUCCESS=0
TOTAL_SKIP=0
TOTAL_ERROR=0
notify_status() {
local status="$1" repo="$2" branch="$3" mode="$4" start_epoch="$5" extra="${6:-}"
local ts end_epoch duration text payload
case "${status}" in
success) ((TOTAL_SUCCESS++)) ;;
skip) ((TOTAL_SKIP++)) ;;
error) ((TOTAL_ERROR++)) ;;
esac
[[ -z "${NOTIFY_WEBHOOK}" ]] && return
ts=$(TZ=Asia/Seoul date '+%Y-%m-%d %H:%M:%S %Z')
case "${status}" in
@@ -309,3 +317,15 @@ jobs:
process_entry "${branch_name}"
done < branch_list
fi
TOTAL_PROCESSED=$((TOTAL_SUCCESS + TOTAL_SKIP + TOTAL_ERROR))
SUMMARY_TS=$(TZ=Asia/Seoul date '+%Y-%m-%d %H:%M:%S %Z')
SUMMARY_TEXT="브랜치 동기화 완료: 총 ${TOTAL_PROCESSED}개 (성공 ${TOTAL_SUCCESS}, 동일로 건너뜀 ${TOTAL_SKIP}, 오류 ${TOTAL_ERROR}) - ${SUMMARY_TS}"
echo "${SUMMARY_TEXT}"
if [[ -n "${NOTIFY_WEBHOOK}" ]]; then
SUMMARY_PAYLOAD=${SUMMARY_TEXT//\"/\\\"}
curl -sS -i -X POST \
-H "Content-Type: application/json" \
-d "{\"username\":\"Gitea\",\"icon_url\":\"https://gitea.hmac.kr/assets/img/logo.svg\",\"text\":\"${SUMMARY_PAYLOAD}\"}" \
"${NOTIFY_WEBHOOK}" >/dev/null || echo "::warning::Summary notification failed"
fi

View File

@@ -6,7 +6,7 @@
## 실행 환경
- Runner 라벨: `internal` (해당 라벨이 있는 셀프호스티드 러너에서만 실행)
- 예약 실행: 매일 02:07 KST (`cron: 7 2 * * *`)
- 예약 실행: 매일 02:07 KST (`cron: 7 17 * * *`, Gitea 스케줄 cron은 UTC 기준)
- 수동 실행: `workflow_dispatch` 입력을 통해 선택 브랜치만 실행 가능
## 시크릿/변수

View File

@@ -25,3 +25,4 @@
2025-12-16 18:16:34 KST 추가 업데이트: 증분 성능 검토를 위해 타겟 main 선-fetch를 켜고 끄기 위한 SEED_FROM_TARGET 옵션(기본 false) 추가. README에 옵션 설명 반영.
2025-12-16 18:20:26 KST 추가 업데이트: 증분 fetch 시 타겟 main 커밋을 shallow-exclude로 지정해 필요한 부분만 받아오도록 변경, README 동작 개요에 반영.
2025-12-16 18:29:58 KST 추가 업데이트: SEED_FROM_TARGET 옵션과 타겟 main 선-fetch 시드를 제거하고 shallow-exclude 기반 증분 fetch만 유지하여 증분 로직을 단순화.
2025-12-17 08:27:54 KST 추가 업데이트: 스케줄 cron을 UTC 기준임을 명시하고 02:07 KST 실행을 위해 `7 17 * * *`로 설정, 동기화 결과 요약(총/성공/건너뜀/오류) 메시지를 마지막에 출력하고 알림 웹훅으로 전송하도록 추가.