forked from LNReader/lnreader-plugins
-
Notifications
You must be signed in to change notification settings - Fork 0
131 lines (120 loc) · 5.25 KB
/
theme_auto_label.yml
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
name: Theme auto label
on:
issues:
types: [labeled]
jobs:
auto-label:
runs-on: ubuntu-latest
steps:
- name: Check if label is "Source Request"
id: label_check
run: |
LABEL_NAME=$(jq --raw-output .label.name "$GITHUB_EVENT_PATH")
if [[ "$LABEL_NAME" == "Source Request" ]]; then
echo "source_request=true" >> $GITHUB_OUTPUT
else
echo "source_request=false" >> $GITHUB_OUTPUT
echo "# ❌ Skipping: label is not Source request" >> $GITHUB_STEP_SUMMARY
fi
- name: Get Source Request URL
if: steps.label_check.outputs.source_request == 'true'
id: get_url
run: |
ISSUE_BODY=$(jq --raw-output .issue.body "$GITHUB_EVENT_PATH")
URL=$(echo "$ISSUE_BODY" | sed -n '/### Source link/,+2p' | sed '1,2d' | tr -d '[:space:]')
echo "URL=$URL" >> $GITHUB_OUTPUT
echo "Using URL: \`$URL\`" >> $GITHUB_STEP_SUMMARY
- name: Check if URL is valid
if: steps.label_check.outputs.source_request == 'true'
id: url_check
env:
URL: ${{ steps.get_url.outputs.URL }}
run: |
if [[ -z "$URL" ]]; then
echo "url_valid=false" >> $GITHUB_OUTPUT
echo "# ❌ Error: URL not found" >> $GITHUB_STEP_SUMMARY
exit 1
else
if curl --output /dev/null --silent --head --fail "$URL"; then
echo "url_valid=true" >> $GITHUB_OUTPUT
else
echo "url_valid=false" >> $GITHUB_OUTPUT
echo "# ❌ Error: URL is not valid or site is down" >> $GITHUB_STEP_SUMMARY
exit 1
fi
fi
- name: Get base URL
if: steps.url_check.outputs.url_valid == 'true'
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: Check Madara theme
if: steps.url_check.outputs.url_valid == 'true'
id: check_madara
env:
BASE_URL: ${{ steps.get_base_url.outputs.BASE_URL }}
run: |
if curl --output /dev/null --silent --head --fail "https://$BASE_URL/wp-content/themes/madara/style.css"; then
echo "madara=true" >> $GITHUB_OUTPUT
echo "# ✅ Madara theme found" >> $GITHUB_STEP_SUMMARY
elif curl --output /dev/null --silent --head --fail "http://$BASE_URL/wp-content/themes/madara/style.css"; then
echo "madara=true" >> $GITHUB_OUTPUT
echo "# ✅ Madara theme found" >> $GITHUB_STEP_SUMMARY
else
echo "madara=false" >> $GITHUB_OUTPUT
fi
- name: Check lighnovelwp theme
if: steps.url_check.outputs.url_valid == 'true'
id: check_lighnovelwp
env:
BASE_URL: ${{ steps.get_base_url.outputs.BASE_URL }}
run: |
if curl --output /dev/null --silent --head --fail "https://$BASE_URL/wp-content/themes/lightnovel/style.css"; then
echo "lighnovelwp=true" >> $GITHUB_OUTPUT
echo "# ✅ Lighnovelwp theme found" >> $GITHUB_STEP_SUMMARY
elif curl --output /dev/null --silent --head --fail "http://$BASE_URL/wp-content/themes/lightnovel/style.css"; then
echo "lighnovelwp=true" >> $GITHUB_OUTPUT
echo "# ✅ Lighnovelwp theme found" >> $GITHUB_STEP_SUMMARY
else
echo "lighnovelwp=false" >> $GITHUB_OUTPUT
fi
- name: Check if site has multiple themes
if: steps.url_check.outputs.url_valid == 'true'
id: check_multiple_themes
env:
MADARA: ${{ steps.check_madara.outputs.madara }}
LIGHNOVELWP: ${{ steps.check_lighnovelwp.outputs.lighnovelwp }}
run: |
if [[ "$MADARA" == "true" && "$LIGHNOVELWP" == "true" ]]; then
echo "multiple_themes=true" >> $GITHUB_OUTPUT
echo "# ❌ Error: Site has multiple themes" >> $GITHUB_STEP_SUMMARY
exit 1
else
echo "multiple_themes=false" >> $GITHUB_OUTPUT
fi
- name: Get issue number
if: steps.url_check.outputs.url_valid == 'true'
id: get_issue_number
run: |
GITHUB_ISSUE_NUMBER=$(jq --raw-output .issue.number "$GITHUB_EVENT_PATH")
echo "GITHUB_ISSUE_NUMBER=$GITHUB_ISSUE_NUMBER" >> $GITHUB_OUTPUT
- name: Add label
if: steps.check_multiple_themes.outputs.multiple_themes == 'false'
env:
MADARA: ${{ steps.check_madara.outputs.madara }}
LIGHNOVELWP: ${{ steps.check_lighnovelwp.outputs.lighnovelwp }}
GITHUB_ISSUE_NUMBER: ${{ steps.get_issue_number.outputs.GITHUB_ISSUE_NUMBER }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO: ${{ github.repository }}
run: |
if [[ "$MADARA" == "true" ]]; then
gh issue edit $GITHUB_ISSUE_NUMBER --add-label "Theme: Madara" -R $REPO
elif [[ "$LIGHNOVELWP" == "true" ]]; then
gh issue edit $GITHUB_ISSUE_NUMBER --add-label "Theme: Lighnovelwp" -R $REPO
else
echo "# No theme found" >> $GITHUB_STEP_SUMMARY
fi