크론잡 중단
This commit is contained in:
@@ -7,8 +7,8 @@ on:
|
||||
description: 'Comma-separated list of sourceRepo/branch entries to mirror (e.g., dev_Net8.git/Develop_Net8,dev.git/develop). If empty, all entries from branch_list file will be mirrored.'
|
||||
required: false
|
||||
default: ''
|
||||
schedule:
|
||||
- cron: '0 17 * * 1-5' # UTC 17:00 == KST 02:00, Mon-Fri only
|
||||
# schedule:
|
||||
# - cron: '0 17 * * 1-5' # UTC 17:00 == KST 02:00, Mon-Fri only
|
||||
|
||||
jobs:
|
||||
backup:
|
||||
|
||||
@@ -55,6 +55,19 @@ jobs:
|
||||
TOTAL_SUCCESS=0
|
||||
TOTAL_SKIP=0
|
||||
TOTAL_ERROR=0
|
||||
declare -a ERROR_BRANCHES=()
|
||||
|
||||
record_error_branch() {
|
||||
local repo="$1" branch="$2" reason="$3"
|
||||
local label="${branch}"
|
||||
if [[ -n "${repo}" ]]; then
|
||||
label="${branch} (${repo})"
|
||||
fi
|
||||
if [[ -n "${reason}" ]]; then
|
||||
label="${label}: ${reason}"
|
||||
fi
|
||||
ERROR_BRANCHES+=("${label}")
|
||||
}
|
||||
|
||||
notify_status() {
|
||||
local status="$1" repo="$2" branch="$3" mode="$4" start_epoch="$5" extra="${6:-}"
|
||||
@@ -62,7 +75,10 @@ jobs:
|
||||
case "${status}" in
|
||||
success) ((++TOTAL_SUCCESS)) ;;
|
||||
skip) ((++TOTAL_SKIP)) ;;
|
||||
error) ((++TOTAL_ERROR)) ;;
|
||||
error)
|
||||
((++TOTAL_ERROR))
|
||||
record_error_branch "${repo}" "${branch}" "${extra}"
|
||||
;;
|
||||
esac
|
||||
[[ -z "${NOTIFY_WEBHOOK}" ]] && return
|
||||
ts=$(TZ=Asia/Seoul date '+%Y-%m-%d %H:%M:%S %Z')
|
||||
@@ -390,8 +406,15 @@ jobs:
|
||||
fi
|
||||
|
||||
TOTAL_PROCESSED=$((TOTAL_SUCCESS + TOTAL_SKIP + TOTAL_ERROR))
|
||||
ERROR_LIST_TEXT=""
|
||||
if (( TOTAL_ERROR > 0 )); then
|
||||
ERROR_LIST_TEXT=$(printf '%s\n' "${ERROR_BRANCHES[@]}" | sort -u | paste -sd',' - | sed 's/,/, /g')
|
||||
fi
|
||||
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}"
|
||||
if (( TOTAL_ERROR > 0 )) && [[ -n "${ERROR_LIST_TEXT}" ]]; then
|
||||
SUMMARY_TEXT="${SUMMARY_TEXT} | 오류 브랜치: ${ERROR_LIST_TEXT}"
|
||||
fi
|
||||
echo "${SUMMARY_TEXT}"
|
||||
if [[ -n "${NOTIFY_WEBHOOK}" ]]; then
|
||||
SUMMARY_PAYLOAD=${SUMMARY_TEXT//\"/\\\"}
|
||||
@@ -402,6 +425,8 @@ jobs:
|
||||
fi
|
||||
|
||||
if (( TOTAL_ERROR > 0 )); then
|
||||
echo "::warning::One or more branches failed (${TOTAL_ERROR})."
|
||||
ERROR_LIST_NOTICE="${ERROR_LIST_TEXT:-미기록}"
|
||||
echo "::warning::Branches failed (${TOTAL_ERROR}): ${ERROR_LIST_NOTICE}"
|
||||
echo "::notice::오류 브랜치 목록: ${ERROR_LIST_NOTICE}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
2
to-do.md
2
to-do.md
@@ -50,3 +50,5 @@
|
||||
2025-12-18 08:55:36 KST 추가 업데이트: 최근 크론 실행에서 푸시 성공 후 set -e가 미처리된 curl 실패에 반응해 Step이 실패한 사례 대응. Gitea API curl 호출이 실패해도 000 코드로 재시도하도록 가드했고, 전체 처리 후 TOTAL_ERROR>0이면 명시적으로 exit 1, 아니면 0으로 종료하도록 종료 코드를 고정해 불필요한 실패를 방지함.
|
||||
2025-12-19 14:09:09 KST 추가 업데이트: backup.yml을 프리스캔 기반으로 신규 작성하여 소스/타겟 head 해시 스냅샷과 판정 테이블을 TSV로 기록하고 heads 정보를 포함한 알림을 전송하도록 구성. backup.yml 스케줄을 02:00 KST로 설정하고 mirror.yml은 수동 실행 전용으로 유지. README에 신규 워크플로우와 보고서 경로를 반영.
|
||||
2025-12-19 14:23:07 KST 추가 업데이트: backup.yml에서 TARGET_SEED_DEPTH가 0/음수/비숫자일 때 50으로 자동 보정해 depth 0 fetch 오류와 반복 경고를 방지.
|
||||
2025-12-24 09:44:54 KST 추가 업데이트: backup.yml에서 실패 브랜치명을 ERROR_BRANCHES에 수집해 요약/노티스에 표시하고, REPORT_DIR 기본 생성 및 GITHUB_WORKSPACE 부재 시 현재 작업 디렉터리를 사용해 보고서 스텝 실패를 방지.
|
||||
2025-12-24 10:13:22 KST 추가 업데이트: single_branch_backup.yml에도 오류 브랜치 수집/요약 노출 로직을 맞추고 노티스에 목록을 남기도록 정렬.
|
||||
|
||||
Reference in New Issue
Block a user