⚙️ 워크플로를 기본 브랜치에 동기화 (신규 2 · 수정 2 · 보안 삭제 1) - #12
Merged
Conversation
GitHub은 schedule·workflow_dispatch 트리거를 기본 브랜치의 워크플로 파일에서만 인식합니다. 두 파일이 기능 브랜치에만 있어 자동 스케줄이 돌지 않고 대시보드 버튼도 404가 납니다. - pending-cleanup.yml: 검토 대기 글 정리·재검증 (주 1회) - alert-watchdog.yml: 운영 알림 워치독 (6시간마다) 실행 자체는 기존과 동일하게 claude/blog-automation-system-KAbtE를 체크아웃해 수행하므로, 기본 브랜치에는 트리거 정의만 올라갑니다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RgLYqM9puPW1aqHTccbX69
스케줄 실행은 기본 브랜치의 워크플로 정의를 쓰는데, 여기 있는 사본은 `git add`에 `-f`가 빠져 있습니다. docs/.gitignore(npm/cli 템플릿)가 docs/*를 무시하므로 아직 추적되지 않은 analytics_summary.json은 매주 조용히 커밋에서 빠졌고, 대시보드 분석 화면에 쓸 요약 데이터가 저장소에 없습니다. (2026-08-17 분석 커밋에도 posts.json과 로그만 들어 있음) - git add -f 로 교체하고 adsense_revenue.json / adsense_rpm.json 추가 - 분석 직전 실제 AdSense 수익 수집 단계 추가 (권한 없으면 건너뜀) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RgLYqM9puPW1aqHTccbX69
스케줄 실행은 기본 브랜치의 워크플로 정의를 쓰므로, 진단 단계가 여기에도 있어야 매일 실행됩니다. - 사이트맵 제출 전에 gsc_diagnose.py 실행 (읽기 전용) - gsc_diagnosis.json 커밋 대상 추가 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RgLYqM9puPW1aqHTccbX69
기능 브랜치에서 지워도 기본 브랜치에 남아 있으면 workflow_dispatch로 계속 실행할 수 있습니다. 공개 저장소에서 refresh_token을 교환해 아티팩트로 올리는 경로이므로 여기서도 제거합니다. 토큰 발급은 로컬 get_refresh_token.py로만 수행합니다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RgLYqM9puPW1aqHTccbX69
이 브랜치에 동기화한 뒤 기능 브랜치에 index_priority.py 실행 단계가 추가돼, 기본 브랜치 사본에만 빠져 있었습니다. 스케줄 실행은 기본 브랜치 정의를 쓰므로 이대로면 색인 요청 패널이 갱신되지 않습니다. - python index_priority.py 실행 추가 - docs/data/index_priority.json 커밋 대상 추가 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RgLYqM9puPW1aqHTccbX69
Kevinlee7250
marked this pull request as ready for review
August 19, 2026 18:25
Uh oh!
There was an error while loading. Please reload this page.
Kevinlee7250 pushed a commit
that referenced
this pull request
Aug 19, 2026
워크플로 5개가 기본 브랜치에 반영돼 pending-cleanup(주 1회), alert-watchdog(6시간마다) 스케줄이 실제로 동작하기 시작합니다. 공개 저장소에서 토큰을 교환하던 get-oauth-token.yml도 제거됐습니다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RgLYqM9puPW1aqHTccbX69
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
왜 필요한가
GitHub은
schedule·workflow_dispatch트리거를 기본 브랜치(latest)에 있는 워크플로 파일에서만 인식합니다. 기능 브랜치에만 있으면 자동 스케줄이 돌지 않고 Actions 목록에도 뜨지 않습니다. (PR #8과 같은 이유의 조치입니다.)변경 내용
신규 워크플로 2개
pending-cleanup.ymlalert-watchdog.yml기존 워크플로 수정 2개
blog-analytics.ymlgit add→git add -f.docs/.gitignore(npm/cli 템플릿)가docs/*를 무시해서 아직 추적되지 않은analytics_summary.json이 매주 조용히 커밋에서 누락되고 있었습니다. 2026-08-17 분석 커밋에도posts.json과 로그만 들어 있습니다.continue-on-error— AdSense 미승인 상태에서는 건너뜁니다).gsc-indexing.ymlgsc_diagnose.py실행 — 토큰 권한·GSC 속성·사이트맵 등록 상태를 읽기 전용으로 확인합니다.index_priority.py실행 — 색인 요청 우선순위 큐를 생성합니다(대시보드 색인 패널이 이 파일을 읽습니다).보안 삭제 1개
get-oauth-token.yml삭제. 이 저장소는 npm/cli의 공개 포크인데, 이 워크플로는 Actions 안에서 인증 코드를refresh_token으로 교환하고 그 값을 아티팩트로 업로드했습니다. 공개 저장소의 아티팩트는 누구나 내려받을 수 있고, 워크플로 자체 주석도 *"refresh_token은 로그에 마스킹되지 않는다"*고 밝히고 있었습니다.기능 브랜치에서만 지우면 기본 브랜치에 남은 정의로
workflow_dispatch실행이 계속 가능하므로 여기서도 제거합니다. 기능 손실은 없습니다 — 로컬 전용blog-automation/setup_google_auth.py가 같은 일을 안전하게 하며, 발급 직후 권한까지 검증합니다.안전성
ref: claude/blog-automation-system-KAbtE를 체크아웃하므로, 기본 브랜치에는 트리거 정의만 올라갑니다.latest대비 순수 추가분이며, 3차 세션이latest에 올린blog-run.yml(발행량 감축)·fix-unlicensed-images.yml은 건드리지 않습니다. 되돌아가는 변경이 없음을 파일 단위로 확인했습니다.alert-watchdog는 알림 실패가 워크플로를 실패로 만들지 않도록 항상 종료코드 0으로 끝납니다.pending-cleanup은 수동 실행 시 기본이 리포트 전용이며--apply가 있어야 파일을 바꿉니다.필요한 시크릿
TELEGRAM_BOT_TOKEN/TELEGRAM_CHAT_ID— 없으면 알림은 건너뛰고 리포트만 저장됩니다. 그 외 새로 추가되는 시크릿은 없습니다.🤖 Generated with Claude Code
https://claude.ai/code/session_01RgLYqM9puPW1aqHTccbX69