-
Notifications
You must be signed in to change notification settings - Fork 208
135 lines (125 loc) · 6.92 KB
/
theme_auto_label.yml
File metadata and controls
135 lines (125 loc) · 6.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: Auto Theme Labeler
on:
issues:
types: [labeled]
concurrency:
group: ${{ github.workflow }}-${{ github.event.issue.number }}
cancel-in-progress: true
jobs:
auto-label:
name: Auto Label Theme
if: contains(github.event.issue.labels.*.name, 'Plugin Request')
runs-on: ubuntu-latest
env:
REPO: ${{ github.repository }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
steps:
- name: Get Plugin Website URL
id: get_url
env:
ISSUE_BODY: ${{ github.event.issue.body }}
run: |
URL=$(echo "$ISSUE_BODY" | sed -n '/### Website URL/,+2p' | sed '1,2d' | tr -d '[:space:]')
echo "URL=$URL" >> $GITHUB_OUTPUT
echo "Using URL: \`$URL\`" >> $GITHUB_STEP_SUMMARY
- name: Get Base URL
id: get_base_url
env:
URL: ${{ steps.get_url.outputs.URL }}
run: |
BASE_URL=$(echo "$URL" | sed 's/https\?:\/\///' | cut -d'/' -f1)
echo "BASE_URL=$BASE_URL" >> $GITHUB_OUTPUT
echo "Using Base URL: \`$BASE_URL\`" >> $GITHUB_STEP_SUMMARY
- name: Get User Agent
id: get_user_agent
run: |
CHROME_VERSION=$(curl -s https://chromiumdash.appspot.com/fetch_releases?channel=Stable\&platform=Windows\&num=1 | jq -r '.[0].version // "126.0.6478.36"')
echo "USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/$CHROME_VERSION Safari/537.36" >> $GITHUB_OUTPUT
- name: Check Madara Theme
id: check_madara
env:
BASE_URL: ${{ steps.get_base_url.outputs.BASE_URL }}
USER_AGENT: ${{ steps.get_user_agent.outputs.USER_AGENT }}
run: |
echo "🔍 Checking for Madara theme..." >> $GITHUB_STEP_SUMMARY
if curl --location --output /dev/null --silent --head --fail --max-time 10 "https://$BASE_URL/wp-content/themes/madara/style.css" -H "User-Agent: $USER_AGENT" 2>/dev/null || \
curl --location --output /dev/null --silent --head --fail --max-time 10 "http://$BASE_URL/wp-content/themes/madara/style.css" -H "User-Agent: $USER_AGENT" 2>/dev/null; then
echo "madara=true" >> $GITHUB_OUTPUT
echo "✅ Madara Theme Detected" >> $GITHUB_STEP_SUMMARY
else
echo "madara=false" >> $GITHUB_OUTPUT
echo "❌ Madara Theme Not Found" >> $GITHUB_STEP_SUMMARY
fi
- name: Check Lightnovelwp Theme
id: check_lighnovelwp
if: always() && steps.check_madara.outputs.madara != 'true'
env:
BASE_URL: ${{ steps.get_base_url.outputs.BASE_URL }}
USER_AGENT: ${{ steps.get_user_agent.outputs.USER_AGENT }}
run: |
echo "🔍 Checking for Lightnovelwp theme..." >> $GITHUB_STEP_SUMMARY
if curl --location --output /dev/null --silent --head --fail --max-time 10 "https://$BASE_URL/wp-content/themes/lightnovel/style.css" -H "User-Agent: $USER_AGENT" 2>/dev/null || \
curl --location --output /dev/null --silent --head --fail --max-time 10 "http://$BASE_URL/wp-content/themes/lightnovel/style.css" -H "User-Agent: $USER_AGENT" 2>/dev/null; then
echo "lighnovelwp=true" >> $GITHUB_OUTPUT
echo "✅ Lightnovelwp Theme Detected" >> $GITHUB_STEP_SUMMARY
else
echo "lighnovelwp=false" >> $GITHUB_OUTPUT
echo "❌ Lightnovelwp Theme Not Found" >> $GITHUB_STEP_SUMMARY
fi
- name: Check HotNovelPub Theme
id: check_hotnovelpub
if: always() && steps.check_madara.outputs.madara != 'true' && steps.check_lighnovelwp.outputs.lighnovelwp != 'true'
env:
BASE_URL: ${{ steps.get_base_url.outputs.BASE_URL }}
USER_AGENT: ${{ steps.get_user_agent.outputs.USER_AGENT }}
run: |
echo "🔍 Checking for HotNovelPub theme..." >> $GITHUB_STEP_SUMMARY
if curl --location --silent --fail --max-time 10 "https://api.$BASE_URL" -H "User-Agent: $USER_AGENT" 2>/dev/null | grep -q "Hello\!" || \
curl --location --silent --fail --max-time 10 "http://api.$BASE_URL" -H "User-Agent: $USER_AGENT" 2>/dev/null | grep -q "Hello\!"; then
echo "hotnovelpub=true" >> $GITHUB_OUTPUT
echo "✅ HotNovelPub Theme Detected" >> $GITHUB_STEP_SUMMARY
else
echo "hotnovelpub=false" >> $GITHUB_OUTPUT
echo "❌ HotNovelPub Theme Not Found" >> $GITHUB_STEP_SUMMARY
fi
- name: Check Fictioneer Theme
id: check_fictioneer
if: always() && steps.check_madara.outputs.madara != 'true' && steps.check_lighnovelwp.outputs.lighnovelwp != 'true' && steps.check_hotnovelpub.outputs.hotnovelpub != 'true'
env:
BASE_URL: ${{ steps.get_base_url.outputs.BASE_URL }}
USER_AGENT: ${{ steps.get_user_agent.outputs.USER_AGENT }}
run: |
echo "🔍 Checking for Fictioneer theme..." >> $GITHUB_STEP_SUMMARY
if curl --location --output /dev/null --silent --head --fail --max-time 10 "https://$BASE_URL/wp-content/themes/fictioneer/css/application.css" -H "User-Agent: $USER_AGENT" 2>/dev/null || \
curl --location --output /dev/null --silent --head --fail --max-time 10 "http://$BASE_URL/wp-content/themes/fictioneer/css/application.css" -H "User-Agent: $USER_AGENT" 2>/dev/null; then
echo "fictioneer=true" >> $GITHUB_OUTPUT
echo "✅ Fictioneer Theme Detected" >> $GITHUB_STEP_SUMMARY
else
echo "fictioneer=false" >> $GITHUB_OUTPUT
echo "❌ Fictioneer Theme Not Found" >> $GITHUB_STEP_SUMMARY
fi
- name: Add Theme Label To Issue
if: always()
env:
MADARA: ${{ steps.check_madara.outputs.madara }}
LIGHNOVELWP: ${{ steps.check_lighnovelwp.outputs.lighnovelwp }}
HOTNOVELPUB: ${{ steps.check_hotnovelpub.outputs.hotnovelpub }}
FICTIONEER: ${{ steps.check_fictioneer.outputs.fictioneer }}
GH_TOKEN: ${{ github.token }}
run: |
echo "## Theme Detection Result" >> $GITHUB_STEP_SUMMARY
if [[ "$MADARA" == "true" ]]; then
echo "🏷️ Adding label: Theme: Madara" >> $GITHUB_STEP_SUMMARY
gh issue edit $ISSUE_NUMBER --add-label "Theme: Madara" -R $REPO
elif [[ "$LIGHNOVELWP" == "true" ]]; then
echo "🏷️ Adding label: Theme: Lighnovelwp" >> $GITHUB_STEP_SUMMARY
gh issue edit $ISSUE_NUMBER --add-label "Theme: Lighnovelwp" -R $REPO
elif [[ "$HOTNOVELPUB" == "true" ]]; then
echo "🏷️ Adding label: Theme: Hotnovelpub" >> $GITHUB_STEP_SUMMARY
gh issue edit $ISSUE_NUMBER --add-label "Theme: Hotnovelpub" -R $REPO
elif [[ "$FICTIONEER" == "true" ]]; then
echo "🏷️ Adding label: Theme: Fictioneer" >> $GITHUB_STEP_SUMMARY
gh issue edit $ISSUE_NUMBER --add-label "Theme: Fictioneer" -R $REPO
else
echo "❌ No Theme Detected" >> $GITHUB_STEP_SUMMARY
fi