Skip to content

Commit d9515d1

Browse files
committed
use cloudflare worker
1 parent e1adcc7 commit d9515d1

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: Check Project Week ๐Ÿ—“๏ธ
2+
3+
on:
4+
pull_request:
5+
types: [opened, reopened, synchronize]
6+
7+
jobs:
8+
check-project:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
contents: read
12+
pull-requests: read
13+
14+
steps:
15+
# PR ๋ผ๋ฒจ ํ™•์ธ
16+
- name: Get PR labels
17+
id: pr-labels
18+
run: |
19+
echo "๐Ÿ” PR ๋ฒˆํ˜ธ: ${{ github.event.pull_request.number }}"
20+
pr_number="${{ github.event.pull_request.number }}"
21+
repo="${{ github.repository }}"
22+
23+
echo "๐Ÿ“‹ PR ๋ผ๋ฒจ ์กฐํšŒ ์ค‘..."
24+
labels_json=$(gh pr view $pr_number --repo $repo --json labels -q '.labels[].name')
25+
echo "ํ™•์ธ๋œ ๋ผ๋ฒจ: $labels_json"
26+
27+
if [ -n "$labels_json" ]; then
28+
has_maintenance=$(echo $labels_json | grep -q 'maintenance' && echo 'true' || echo 'false')
29+
echo "maintenance ๋ผ๋ฒจ ํฌํ•จ ์—ฌ๋ถ€: $has_maintenance"
30+
echo "has_maintenance=$has_maintenance" >> $GITHUB_OUTPUT
31+
else
32+
echo "maintenance ๋ผ๋ฒจ์ด ์—†๋Š” PR์ž…๋‹ˆ๋‹ค. Week ์„ค์ •์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค."
33+
echo "has_maintenance=false" >> $GITHUB_OUTPUT
34+
fi
35+
env:
36+
GH_TOKEN: ${{ github.token }}
37+
38+
# Week ์„ค์ • ํ™•์ธ (Cloudflare Worker ํ˜ธ์ถœ)
39+
- name: Check Week setting in project
40+
if: ${{ steps.pr-labels.outputs.has_maintenance != 'true' }}
41+
run: |
42+
echo "๐Ÿ” Week ์„ค์ • ๊ฒ€์‚ฌ ์‹œ์ž‘"
43+
pr_number="${{ github.event.pull_request.number }}"
44+
repo_owner="${{ github.repository_owner }}"
45+
repo_name="${{ github.event.repository.name }}"
46+
47+
WORKER_URL="https://dalestudy.daleseo.workers.dev"
48+
49+
echo "๐Ÿ“‹ Cloudflare Worker๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ ์ •๋ณด ์กฐํšŒ ์ค‘..."
50+
response=$(curl -s -X POST "$WORKER_URL" \
51+
-H "Content-Type: application/json" \
52+
-d "{\"pr_number\": $pr_number, \"repo_owner\": \"$repo_owner\", \"repo_name\": \"$repo_name\"}")
53+
54+
echo "์‘๋‹ต: $response"
55+
56+
# ์—๋Ÿฌ ์ฒดํฌ
57+
if echo "$response" | jq -e '.error' > /dev/null; then
58+
error_msg=$(echo "$response" | jq -r '.error')
59+
echo "โš ๏ธ Worker ์—๋Ÿฌ: $error_msg"
60+
echo "## โŒ Week ์„ค์ • ๊ฒ€์ฆ ์‹คํŒจ" >> $GITHUB_STEP_SUMMARY
61+
echo "" >> $GITHUB_STEP_SUMMARY
62+
echo "ํ”„๋กœ์ ํŠธ ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค: $error_msg" >> $GITHUB_STEP_SUMMARY
63+
echo "" >> $GITHUB_STEP_SUMMARY
64+
echo "๐Ÿ“š [๋‹ต์•ˆ ์ œ์ถœ ๊ฐ€์ด๋“œ ์ฐธ๊ณ ](https://github.com/DaleStudy/leetcode-study/wiki/%EB%8B%B5%EC%95%88-%EC%A0%9C%EC%B6%9C-%EA%B0%80%EC%9D%B4%EB%93%9C#pr-%EC%9E%91%EC%84%B1%EB%B2%95)" >> $GITHUB_STEP_SUMMARY
65+
exit 1
66+
fi
67+
68+
# Week ๊ฐ’ ์ถ”์ถœ
69+
week_value=$(echo "$response" | jq -r '.week')
70+
project_found=$(echo "$response" | jq -r '.project_found')
71+
72+
echo "์ถ”์ถœ๋œ Week ๊ฐ’: '$week_value'"
73+
echo "ํ”„๋กœ์ ํŠธ ๋ฐœ๊ฒฌ ์—ฌ๋ถ€: $project_found"
74+
75+
if [ "$week_value" = "null" ] || [ -z "$week_value" ]; then
76+
echo "## โŒ Week ์„ค์ • ๊ฒ€์ฆ ์‹คํŒจ" >> $GITHUB_STEP_SUMMARY
77+
echo "" >> $GITHUB_STEP_SUMMARY
78+
echo "โš ๏ธ **PR์— Week ์„ค์ •์ด ๋ˆ„๋ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!**" >> $GITHUB_STEP_SUMMARY
79+
echo "" >> $GITHUB_STEP_SUMMARY
80+
echo "### ์„ค์ • ๋ฐฉ๋ฒ•" >> $GITHUB_STEP_SUMMARY
81+
echo "1. PR ์šฐ์ธก์˜ \`Projects\` ์„น์…˜์—์„œ \`๋ฆฌํŠธ์ฝ”๋“œ ์Šคํ„ฐ๋””\` ์˜† ๋“œ๋กญ๋‹ค์šด(โ–ผ) ํด๋ฆญ" >> $GITHUB_STEP_SUMMARY
82+
echo "2. ํ˜„์žฌ ์ฃผ์ฐจ๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š” (์˜ˆ: \`Week 14(current)\` ๋˜๋Š” \`Week 14\`)" >> $GITHUB_STEP_SUMMARY
83+
echo "" >> $GITHUB_STEP_SUMMARY
84+
echo "๐Ÿ“š [์ž์„ธํ•œ ๊ฐ€์ด๋“œ ๋ณด๊ธฐ](https://github.com/DaleStudy/leetcode-study/wiki/%EB%8B%B5%EC%95%88-%EC%A0%9C%EC%B6%9C-%EA%B0%80%EC%9D%B4%EB%93%9C#pr-%EC%9E%91%EC%84%B1%EB%B2%95)" >> $GITHUB_STEP_SUMMARY
85+
exit 1
86+
fi
87+
88+
echo "## โœ… Week ์„ค์ • ๊ฒ€์ฆ ์„ฑ๊ณต" >> $GITHUB_STEP_SUMMARY
89+
echo "" >> $GITHUB_STEP_SUMMARY
90+
echo "Week ์„ค์ •: **$week_value**" >> $GITHUB_STEP_SUMMARY
91+
echo "โœ… Week ์„ค์ •์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค!"

0 commit comments

Comments
ย (0)