Skip to content

PR์—์„œ ํ”„๋กœ์ ํŠธ Week ์„ค์ • ๋ˆ„๋ฝ์„ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ CI ์„ค์ • #4

PR์—์„œ ํ”„๋กœ์ ํŠธ Week ์„ค์ • ๋ˆ„๋ฝ์„ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ CI ์„ค์ •

PR์—์„œ ํ”„๋กœ์ ํŠธ Week ์„ค์ • ๋ˆ„๋ฝ์„ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ CI ์„ค์ • #4

Workflow file for this run

name: PR Check ๐Ÿ””
on:
schedule:
# ๋งค์ผ ์˜ค์ „ 10์‹œ, ์˜คํ›„ 6์‹œ (KST ๊ธฐ์ค€, UTC๋กœ๋Š” 1์‹œ, 9์‹œ)
- cron: "0 1,9 * * *"
workflow_dispatch:
pull_request:
jobs:
check-all-prs:
runs-on: ubuntu-latest
permissions:
contents: read # ๊ธฐ๋ณธ ์ฝ๊ธฐ ๊ถŒํ•œ๋งŒ ํ•„์š” (Worker๊ฐ€ ๋ชจ๋“  ์ž‘์—… ์ฒ˜๋ฆฌ)
steps:
- name: Check all PRs via Worker
id: check
run: |
echo "๐Ÿ” Cloudflare Worker๋ฅผ ํ†ตํ•ด ๋ชจ๋“  Open PR ๊ฒ€์‚ฌ ์ค‘..."
WORKER_URL="https://dalestudy.daleseo.workers.dev"
response=$(curl -s -X POST "$WORKER_URL/check-all-prs" \
-H "Content-Type: application/json" \
-d "{\"repo_owner\": \"${{ github.repository_owner }}\", \"repo_name\": \"${{ github.event.repository.name }}\"}")
echo "response=$response" >> $GITHUB_OUTPUT
echo "$response" | jq '.'
- name: Summary
run: |
response='${{ steps.check.outputs.response }}'
total=$(echo "$response" | jq -r '.total_prs // 0')
checked=$(echo "$response" | jq -r '.checked // 0')
commented=$(echo "$response" | jq -r '.commented // 0')
echo "## ๐ŸŽฏ Week ์„ค์ • ์ฒดํฌ ์™„๋ฃŒ" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "- ๐Ÿ“‹ ์ „์ฒด Open PR: **$total**๊ฐœ" >> $GITHUB_STEP_SUMMARY
echo "- โœ… ๊ฒ€์‚ฌํ•œ PR: **$checked**๊ฐœ" >> $GITHUB_STEP_SUMMARY
echo "- ๐Ÿ’ฌ ๋Œ“๊ธ€ ์ž‘์„ฑํ•œ PR: **$commented**๊ฐœ" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "๋‹ค์Œ ์ฒดํฌ: $(date -u -d '+1 hour' +'%Y-%m-%d %H:00 UTC')" >> $GITHUB_STEP_SUMMARY