11name : Generate Config Files
22
33on :
4- # Trigger when Base directory changes
54 push :
65 branches :
76 - main
87 - master
98 paths :
109 - ' Base/**'
11- - ' .github/workflows/auto_generate.yml'
12- - ' Generator/**'
13- - ' Wireguard_Easytier/**'
14- - ' requirements.txt'
15-
16- # Allow manual trigger
10+ - ' program/**'
1711 workflow_dispatch :
1812
1913permissions :
2014 contents : write
2115
2216jobs :
2317 generate :
18+ if : github.actor != 'github-actions[bot]'
2419 runs-on : ubuntu-latest
25-
20+
2621 steps :
2722 - name : Checkout repository
2823 uses : actions/checkout@v4
2924 with :
3025 fetch-depth : 0
3126 token : ${{ secrets.GITHUB_TOKEN }}
32-
33- - name : Set up Python
34- uses : actions/setup-python @v5
27+
28+ - name : Set up Go
29+ uses : actions/setup-go @v5
3530 with :
36- python-version : ' 3.12'
37- cache : ' pip'
38-
39- - name : Install dependencies
40- run : |
41- python -m pip install --upgrade pip
42- pip install -r requirements.txt
43-
31+ go-version-file : program/go.mod
32+ cache-dependency-path : program/go.sum
33+ cache : true
34+
4435 - name : Generate configuration files
36+ working-directory : program
4537 run : |
46- python Generator/config_generator.py --tool all
47-
48- - name : Merge Wireguard_Easytier into Mihomo scripts
49- run : |
50- python Wireguard_Easytier/Mihomo/merge_easytier.py
51-
38+ go run ./cmd/proxyrules --tool all
39+
5240 - name : Check for changes
5341 id : check_changes
5442 run : |
@@ -60,45 +48,53 @@ jobs:
6048 echo "has_changes=false" >> $GITHUB_OUTPUT
6149 echo "No changes detected in Config/Wireguard_Easytier directory"
6250 fi
63-
51+
6452 - name : Commit and push changes
6553 if : steps.check_changes.outputs.has_changes == 'true' && github.event_name == 'push'
6654 run : |
6755 git config --local user.email "github-actions[bot]@users.noreply.github.com"
6856 git config --local user.name "github-actions[bot]"
69- git add Config/ Wireguard_Easytier/Mihomo/mihomo_convert_*.js
70-
71- # 获取最近一次 Base 文件夹的 commit 消息
57+ git add Config/ Wireguard_Easytier/
58+
7259 BASE_COMMIT_MSG=$(git log -1 --pretty=format:"%s" -- Base/)
73-
74- # 使用 Base 文件夹的 commit 消息作为提交消息
7560 git commit -m "Generator: $BASE_COMMIT_MSG" || exit 0
7661 git push
77-
62+
7863 - name : Generate summary
7964 if : always()
8065 run : |
8166 echo "## Configuration Files Generated ✅" >> $GITHUB_STEP_SUMMARY
8267 echo "" >> $GITHUB_STEP_SUMMARY
8368 echo "### Generated Files" >> $GITHUB_STEP_SUMMARY
8469 echo "" >> $GITHUB_STEP_SUMMARY
85-
70+
8671 if [ -d "Config" ]; then
8772 echo "#### Mihomo" >> $GITHUB_STEP_SUMMARY
8873 ls -lh Config/Mihomo/ 2>/dev/null | tail -n +2 | awk '{print "- " $9 " (" $5 ")"}' >> $GITHUB_STEP_SUMMARY || echo "- No files" >> $GITHUB_STEP_SUMMARY
8974 echo "" >> $GITHUB_STEP_SUMMARY
90-
75+
9176 echo "#### Stash" >> $GITHUB_STEP_SUMMARY
9277 ls -lh Config/Stash/ 2>/dev/null | tail -n +2 | awk '{print "- " $9 " (" $5 ")"}' >> $GITHUB_STEP_SUMMARY || echo "- No files" >> $GITHUB_STEP_SUMMARY
9378 echo "" >> $GITHUB_STEP_SUMMARY
94-
79+
9580 echo "#### Loon" >> $GITHUB_STEP_SUMMARY
9681 ls -lh Config/Loon/ 2>/dev/null | tail -n +2 | awk '{print "- " $9 " (" $5 ")"}' >> $GITHUB_STEP_SUMMARY || echo "- No files" >> $GITHUB_STEP_SUMMARY
82+ echo "" >> $GITHUB_STEP_SUMMARY
83+
84+ echo "#### Surge" >> $GITHUB_STEP_SUMMARY
85+ ls -lh Config/Surge/ 2>/dev/null | tail -n +2 | awk '{print "- " $9 " (" $5 ")"}' >> $GITHUB_STEP_SUMMARY || echo "- No files" >> $GITHUB_STEP_SUMMARY
86+ echo "" >> $GITHUB_STEP_SUMMARY
87+
88+ echo "#### Wireguard_Easytier / Mihomo" >> $GITHUB_STEP_SUMMARY
89+ ls -lh Wireguard_Easytier/Mihomo/mihomo_convert_*.js 2>/dev/null | awk '{print "- " $9 " (" $5 ")"}' >> $GITHUB_STEP_SUMMARY || echo "- No files" >> $GITHUB_STEP_SUMMARY
90+ echo "" >> $GITHUB_STEP_SUMMARY
91+
92+ echo "#### Wireguard_Easytier / Surge" >> $GITHUB_STEP_SUMMARY
93+ ls -lh Wireguard_Easytier/Surge/Easytier.sgmodule 2>/dev/null | awk '{print "- " $9 " (" $5 ")"}' >> $GITHUB_STEP_SUMMARY || echo "- No files" >> $GITHUB_STEP_SUMMARY
9794 else
9895 echo "⚠️ Config directory does not exist" >> $GITHUB_STEP_SUMMARY
9996 fi
100-
97+
10198 echo "" >> $GITHUB_STEP_SUMMARY
10299 echo "---" >> $GITHUB_STEP_SUMMARY
103100 echo "Generated at: $(date -u '+%Y-%m-%d %H:%M:%S UTC')" >> $GITHUB_STEP_SUMMARY
104-
0 commit comments