-
Notifications
You must be signed in to change notification settings - Fork 42
555 lines (471 loc) · 21 KB
/
OpenWrt-Actions.yml
File metadata and controls
555 lines (471 loc) · 21 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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
#
#
# 感谢p3terx大神的一键编译脚本
#
# Copyright (C) 2019 P3TERX <https://p3terx.com>
# <https://github.com/P3TERX/Actions-OpenWrt.git>
#
name: 编译OpenWrt固件
on:
workflow_dispatch:
inputs:
Lean_x86_64:
description: '编译 Lean_x86_64'
type: boolean
default: false
Lean_x86_64_Long:
description: '编译 Lean_x86_64_Long'
type: boolean
default: false
immortalwrt_x86_64:
description: '编译 immortalwrt_x86_64'
type: boolean
default: false
immortalwrt_ax6600:
description: '编译 immortalwrt_ax6600'
type: boolean
default: false
CACHE_BUILD:
description: '缓存加速'
type: boolean
default: true
Build_SSH:
description: '开启SSH调试模式'
type: boolean
default: false
Build_Mod:
description: '调试模式,只配置环境不编译'
type: boolean
default: false
Custom_Commands:
description: '临时调试命令 (手动输入要执行的 Shell 命令)'
type: string
default: ''
# 定时触发编译(1,5,10,15,20,25,30早3点)
schedule:
- cron: 0 17 4,9,14,19,24,31 * *
# 点赞☆Star触发编译
# watch:
# types: [started]
env:
TZ: Asia/Shanghai
MY_GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
WECHAT_WORK_URL: ${{ secrets.WECHAT_WORK_URL }}
WECHAT_WORK_TOKEN: ${{ secrets.WECHAT_WORK_TOKEN }}
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
GITHUB_RELEASE: "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/releases"
jobs:
# 生成设备数组
build-openwrt:
runs-on: ubuntu-latest
outputs:
selected_models: ${{ steps.set-models.outputs.models }}
steps:
- id: set-models
run: |
MODELS=()
# 定时触发编译全部
if [ "${{ github.event_name }}" = "schedule" ]; then
MODELS=("Lean_x86_64" "Lean_x86_64_Long" "immortalwrt_x86_64" "immortalwrt_ax6600")
else
# 手动触发判断
[ "${{ github.event.inputs.Lean_x86_64 }}" = "true" ] && MODELS+=("Lean_x86_64")
[ "${{ github.event.inputs.Lean_x86_64_Long }}" = "true" ] && MODELS+=("Lean_x86_64_Long")
[ "${{ github.event.inputs.immortalwrt_x86_64 }}" = "true" ] && MODELS+=("immortalwrt_x86_64")
[ "${{ github.event.inputs.immortalwrt_ax6600 }}" = "true" ] && MODELS+=("immortalwrt_ax6600")
fi
# 转换为 JSON 数组
JSON_MODELS=$(printf '%s\n' "${MODELS[@]}" | jq -R . | jq -s -c .)
echo "models=$JSON_MODELS" >> $GITHUB_OUTPUT
build:
needs: [build-openwrt]
runs-on: ubuntu-22.04
env:
CACHE_BUILD: ${{ github.event.inputs.CACHE_BUILD || 'true' }}
BUILD_SSH: ${{ github.event.inputs.Build_SSH || 'false' }}
BUILD_MOD: ${{ github.event.inputs.Build_Mod || 'false' }}
if: needs.build-openwrt.outputs.selected_models != '[]' && (github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id)
strategy:
fail-fast: false
matrix:
target: ${{ fromJSON(needs.build-openwrt.outputs.selected_models) }}
name: 编译 ${{matrix.target}}
steps:
- name: 编译参数
run: |
echo "正在编译目标设备: ${{ matrix.target }}"
echo "是否开启缓存: ${CACHE_BUILD}"
echo "是否开启SSH: ${BUILD_SSH}"
echo "是否为调试模式: ${BUILD_MOD}"
echo "调试命令: ${{ github.event.inputs.Custom_Commands }}"
- name: Checkout 仓库
uses: actions/checkout@v4
- name: 检测脚本设置
run: |
source "${GITHUB_WORKSPACE}/build/${{matrix.target}}/settings.ini"
echo "REPO_URL=${REPO_URL}" >> $GITHUB_ENV
echo "REPO_BRANCH=${REPO_BRANCH}" >> $GITHUB_ENV
echo "CONFIG_FILE=${CONFIG_FILE}" >> $GITHUB_ENV
echo "FIRMWARE_MESSAGE=${FIRMWARE_MESSAGE}" >> $GITHUB_ENV
echo "CUSTOM_SH=${CUSTOM_SH}" >> $GITHUB_ENV
echo "CACHE_BUILD=${CACHE_BUILD}" >> $GITHUB_ENV
echo "UPLOAD_FIRMWARE=${UPLOAD_FIRMWARE}" >> $GITHUB_ENV
echo "UPLOAD_QCOW2=${UPLOAD_QCOW2}" >> $GITHUB_ENV
echo "UPLOAD_VHDX=${UPLOAD_VHDX}" >> $GITHUB_ENV
echo "UPLOAD_VMDK=${UPLOAD_VMDK}" >> $GITHUB_ENV
echo "UPLOAD_IPK=${UPLOAD_IPK}" >> $GITHUB_ENV
echo "UPLOAD_CONFIG=${UPLOAD_CONFIG}" >> $GITHUB_ENV
echo "UPLOAD_RELEASE=${UPLOAD_RELEASE}" >> $GITHUB_ENV
echo "WECHAT_WORK_PUSH=${WECHAT_WORK_PUSH}" >> $GITHUB_ENV
echo "TELEGRAM_BOT=${TELEGRAM_BOT}" >> $GITHUB_ENV
#添加变量
echo "HOME=${GITHUB_WORKSPACE}/openwrt" >> $GITHUB_ENV
echo "WORKPATH=${GITHUB_WORKSPACE}/openwrt/build/${{matrix.target}}" >> $GITHUB_ENV
- name: 初始化系统环境
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo -E apt -yqq purge firefox
sudo -E apt -yqq update
sudo -E apt -yqq full-upgrade
sudo -E apt -yqq autoremove --purge
sudo -E apt -yqq autoclean
sudo -E apt -yqq clean
sudo -E apt -yqq install dos2unix python3-netifaces libfuse-dev
sudo bash -c 'bash <(curl -sL https://build-scripts.immortalwrt.org/init_build_environment.sh)'
sudo -E systemctl daemon-reload
sudo -E apt -y autoremove --purge
sudo -E apt clean
- name: 编译前准备
run: |
sudo mkdir -p /workdir
sudo chown $USER:$GROUPS /workdir
sudo timedatectl set-timezone "$TZ"
echo
echo " 系统空间 类型 总数 已用 可用 使用率"
df -hT $PWD
- name: 释放Ubuntu磁盘空间
if: env.BUILD_MOD == 'false'
uses: jlumbroso/free-disk-space@main
with:
# this might remove tools that are actually needed,
# if set to "true" but frees about 6 GB
tool-cache: true
# all of these default to true, but feel free to set to
# "false" if necessary for your workflow
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: 创建模拟物理磁盘
run: |
mnt_size=$(expr $(df -h /mnt | tail -1 | awk '{print $4}' | sed 's/[[:alpha:]]//g' | sed 's/\..*//') - 1)
root_size=$(expr $(df -h / | tail -1 | awk '{print $4}' | sed 's/[[:alpha:]]//g' | sed 's/\..*//') - 4)
sudo truncate -s "${mnt_size}"G /mnt/mnt.img
sudo truncate -s "${root_size}"G /root.img
sudo losetup /dev/loop6 /mnt/mnt.img
sudo losetup /dev/loop7 /root.img
sudo pvcreate /dev/loop6
sudo pvcreate /dev/loop7
sudo vgcreate github /dev/loop6 /dev/loop7
sudo lvcreate -n runner -l 100%FREE github
sudo mkfs.xfs /dev/github/runner
sudo mkdir -p /github-builder
sudo mount /dev/github/runner /github-builder
sudo chown -R $USER:$GROUPS /github-builder
df -Th
- name: 下载${{matrix.target}}源码
working-directory: /github-builder
run: |
df -hT $PWD
git clone -b $REPO_BRANCH --single-branch $REPO_URL openwrt
ln -sf /github-builder/openwrt $GITHUB_WORKSPACE/openwrt
- name: 缓存加速
uses: stupidloud/cachewrtbuild@main
if: env.CACHE_BUILD == 'true' || (github.event.inputs.CACHE_BUILD == 'true')
with:
ccache: 'true'
prefix: ${{ github.workspace }}/openwrt
- name: 更新时区、编译时间
id: date
run: |
sudo timedatectl set-timezone "$TZ"
echo "FILE_TIME=$(date +"%m-%d %H.%M")" >> $GITHUB_ENV
echo "FILE_TIME1=$(date "+%Y年%m月%d日-%H点%M分")" >> $GITHUB_ENV
echo "FILE_TIME2=$(date "+%Y%m%d-%H%M")" >> $GITHUB_ENV
echo "编译开始时间..."
START_TIME=`date +'%Y-%m-%d %H:%M:%S'`
echo "START_SECONDS=$(date --date="$START_TIME" +%s)" >> $GITHUB_ENV
- name: 加载源,定制文件并生成自定义配置
run: |
# 复制配置文件到源码目录
cp -Rf `find ./ -maxdepth 1 -type d ! -path './openwrt' ! -path './'` openwrt
cd openwrt
echo "执行单项脚本"
if [ -f "${WORKPATH}/$CUSTOM_SH" ]; then
(
chmod +x ${WORKPATH}/$CUSTOM_SH
/bin/bash "${WORKPATH}/$CUSTOM_SH"
)
fi
echo "执行全局脚本"
if [ -f "${GITHUB_WORKSPACE}/openwrt/build/custom.sh" ]; then
(
chmod +x ${GITHUB_WORKSPACE}/openwrt/build/custom.sh
/bin/bash "${GITHUB_WORKSPACE}/openwrt/build/custom.sh"
)
fi
echo "复制脚本文件..."
if [ -n "$(ls -A "${GITHUB_WORKSPACE}/openwrt/build/scripts/files" 2>/dev/null)" ]; then
if [ -d "files" ];then
cp -rf ${GITHUB_WORKSPACE}/openwrt/build/scripts/files/* files
chmod -R 755 ${HOME}/files
else
cp -rf ${GITHUB_WORKSPACE}/openwrt/build/scripts/files/ files
chmod -R 755 ${HOME}/files
fi
fi
echo "复制配置文件..."
if [ -n "$(ls -A "${WORKPATH}/files" 2>/dev/null)" ]; then
if [ -d "files" ];then
cp -rf ${WORKPATH}/files/* files
chmod -R 755 ${WORKPATH}/files
else
cp -rf ${WORKPATH}/files/ files
chmod -R 755 ${WORKPATH}/files
fi
fi
echo "复制源码文件..."
if [ -n "$(ls -A "${WORKPATH}/sources" 2>/dev/null)" ]; then
cp -Rf ${WORKPATH}/sources/* ./
fi
echo "写入配置文件..."
mv ${WORKPATH}/$CONFIG_FILE .config
make defconfig
# echo "GitHub Action 移除国内下载源"
# PROJECT_MIRRORS_FILE="scripts/projectsmirrors.json"
# if [ -f "$PROJECT_MIRRORS_FILE" ]; then
# sed -i '/.cn\//d; /tencent/d; /aliyun/d' "$PROJECT_MIRRORS_FILE"
# fi
- name: 输出编译信息
run: |
cd openwrt
echo
echo " 系统空间 类型 总数 已用 可用 使用率"
df -hT $PWD
echo
echo "=========================================="
echo
echo " CPU物理数量:$(cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l)"
echo " CPU核心及版本信息:$(cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c)"
echo
echo "=========================================="
echo
ZZZ="package/lean/default-settings/files/zzz-default-settings"
if [ -f "$ZZZ" ]; then
echo " 当前编译版本:$(cat $ZZZ|grep DISTRIB_REVISION= | sed 's/^.\{24\}//g' | sed 's/.\{26\}$//')"
fi
echo "KERNEL_PATCHVER=$(cat target/linux/x86/Makefile|grep KERNEL_PATCHVER | sed 's/^.\{17\}//g')" >> $GITHUB_ENV
echo " 内核版本:$(cat target/linux/x86/Makefile|grep KERNEL_PATCHVER | sed 's/^.\{17\}//g')"
echo " 源码分支:${{ env.REPO_BRANCH }}"
echo " 编译时间:${{ env.FILE_TIME1 }}"
echo
echo "=========================================="
grep -i CONFIG_PACKAGE_luci-app .config | grep -v \# > Plug-in
grep -i CONFIG_PACKAGE_luci-theme .config | grep -v \# >> Plug-in
sed -i '/INCLUDE/d' Plug-in > /dev/null 2>&1
sed -i 's/CONFIG_PACKAGE_/、/g' Plug-in
sed -i '/Transparent_Proxy/d' Plug-in > /dev/null 2>&1 #排除 luci-app-passwall_Transparent_Proxy
sed -i '/qbittorrent-simple_dynamic/d' Plug-in > /dev/null 2>&1 #排除 luci-app-qbittorrent-simple_dynamic
sed -i 's/=y/\ /g' Plug-in
awk '$0=NR$0' Plug-in > Plug-2
awk '{print " " $0}' Plug-2 > Plug-in
# 将结果写入 GitHub 环境变量 (用于 Release Body)
echo "PACKAGED_PLUGINS<<EOF" >> $GITHUB_ENV
cat Plug-in >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
echo
echo
echo " 已选插件列表"
cat Plug-in
rm -rf {Plug-in,Plug-2}
echo
echo "=========================================="
echo
echo
echo "输出完整插件信息..."
echo
echo
echo "==== 配置开始 ===="
cat .config
echo "==== 配置结束 ===="
- name: 准备上传文件
run: |
mkdir -p ./upload_tmp
cp openwrt/.config ./upload_tmp/${{matrix.target}}.config
cp openwrt/tmp/.packageinfo ./upload_tmp/${{matrix.target}}.packageinfo
- name: 上传插件列表和依赖归递文件
uses: actions/upload-artifact@v4
with:
name: ${{matrix.target}}_OpenWrt_packageinfo_${{ env.FILE_TIME }}
path: ./upload_tmp/
- name: 执行临时调试命令
if: github.event.inputs.Custom_Commands != ''
run: |
cd openwrt
echo "==== 开始执行自定义调试命令 ===="
${{ github.event.inputs.Custom_Commands }}
echo "==== 自定义命令执行完毕 ===="
- name: SSH远程调试
if: env.Build_SSH == 'true'
timeout-minutes: 32
run: |
chmod +x ${GITHUB_WORKSPACE}/openwrt/build/debug-ssh.sh
/bin/bash "${GITHUB_WORKSPACE}/openwrt/build/debug-ssh.sh"
- name: 调试结束
run: |
if [[ "${BUILD_MOD}" == "true" ]]; then
curl "http://${{ secrets.WECHAT_WORK_URL }}/push?token=${{ secrets.WECHAT_WORK_TOKEN }}&message=Github%20Actions%20调试模式运行已完成,请检查运行结果..." || true && curl "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage" -d "chat_id=${{ secrets.TELEGRAM_CHAT_ID }}&text=Github Actions 调试模式运行已完成,请检查运行结果..." >/dev/null 2>&1 && echo "ok..."
echo "当前处于调试模式,环境配置已完成,跳过编译步骤。"
exit 0
fi
- name: 下载编译所需文件
if: env.BUILD_MOD == 'false'
run: |
cd openwrt && make download -j$(($(nproc) * 2))
- name: 开始编译固件
id: compile
if: env.BUILD_MOD == 'false'
run: |
cd openwrt
make -j$(($(nproc) + 1)) || make -j1 V=s
- name: 检查空间使用情况
run: |
echo "======================="
echo "Space usage:"
echo "======================="
df -hT
echo "======================="
du -h --max-depth=1 openwrt/ --exclude=build_dir --exclude=bin || true
du -h --max-depth=1 openwrt/build_dir || true
du -h --max-depth=1 openwrt/bin || true
- name: 整理固件文件
id: organizer
if: env.BUILD_MOD == 'false'
run: |
mkdir -p ./artifact/firmware
mkdir -p ./artifact/pvekvm
mkdir -p ./artifact/hyperv
mkdir -p ./artifact/vmware
mkdir -p ./artifact/package
mkdir -p ./artifact/buildinfo
rm -rf $(find openwrt/bin/targets/ -type d -name "packages")
cp -rf $(find openwrt/bin/packages/ -type f -name "*.ipk") ./artifact/package/ || true
cp -rf $(find openwrt/bin/targets/ -type f -name "*.buildinfo" -o -name "*.manifest") ./artifact/buildinfo/ || true
# cp -rf $(find openwrt/bin/targets/ -type f -name "*squashfs*efi*img*") ./artifact/firmware/
cp -rf $(find openwrt/bin/targets/ -type f \( -name "*squashfs*efi*img*" -o -name "*squashfs*sysupgrade*bin*" -o -name "*squashfs*factory*bin*" \) ) ./artifact/firmware/
cp -rf $(find openwrt/bin/targets/ -type f -name "*squashfs*efi*qcow2*") ./artifact/pvekvm/ || true
cp -rf $(find openwrt/bin/targets/ -type f -name "*squashfs*efi*vhdx*") ./artifact/hyperv/ || true
cp -rf $(find openwrt/bin/targets/ -type f -name "*squashfs*efi*vmdk*") ./artifact/vmware/ || true
echo "编译完成时间..."
START_SECONDS=${{ env.START_SECONDS }}
END_TIME=`date +'%Y-%m-%d %H:%M:%S'`
END_SECONDS=$(date --date="$END_TIME" +%s)
SECONDS=$((END_SECONDS-START_SECONDS))
HOUR=$(( $SECONDS/3600 )) && MIN=$(( ($SECONDS-${HOUR}*3600)/60 )) && SEC=$(( $SECONDS-${HOUR}*3600-${MIN}*60 ))
echo "BUILD_TIME=${HOUR}时${MIN}分${SEC}秒" >> $GITHUB_ENV
- name: 上传固件文件
if: env.BUILD_MOD == 'false' && env.UPLOAD_FIRMWARE == 'true'
uses: actions/upload-artifact@v4
with:
name: ${{matrix.target}}_OpenWrt_firmware_${{ env.FILE_TIME }}
path: ./artifact/firmware/
- name: 上传PVE/KVM镜像文件
if: env.BUILD_MOD == 'false' && env.UPLOAD_QCOW2 == 'true'
uses: actions/upload-artifact@v4
with:
name: ${{matrix.target}}_OpenWrt_pvekvm_${{ env.FILE_TIME }}
path: ./artifact/pvekvm/
- name: 上传Hyper-V镜像文件
if: env.BUILD_MOD == 'false' && env.UPLOAD_VHDX == 'true'
uses: actions/upload-artifact@v4
with:
name: ${{matrix.target}}_OpenWrt_hyperv_${{ env.FILE_TIME }}
path: ./artifact/hyperv/
- name: 上传VMware镜像文件
if: env.BUILD_MOD == 'false' && env.UPLOAD_VMDK == 'true'
uses: actions/upload-artifact@v4
with:
name: ${{matrix.target}}_OpenWrt_vmware_${{ env.FILE_TIME }}
path: ./artifact/vmware/
- name: 上传插件包文件
if: env.BUILD_MOD == 'false' && env.UPLOAD_IPK == 'true'
uses: actions/upload-artifact@v4
with:
name: ${{matrix.target}}_OpenWrt_package_${{ env.FILE_TIME }}
path: ./artifact/package/
- name: 上传固件信息
if: env.BUILD_MOD == 'false' && env.UPLOAD_CONFIG == 'true'
uses: actions/upload-artifact@v4
with:
name: ${{matrix.target}}_OpenWrt_buildinfo_${{ env.FILE_TIME }}
path: ./artifact/buildinfo/
- name: 自动发布固件到 Releases
uses: ncipollo/release-action@main
if: env.BUILD_MOD == 'false' && env.UPLOAD_RELEASE == 'true'
with:
name: ${{ env.FILE_TIME1 }} 「 ${{ env.FIRMWARE_MESSAGE }} 」
tag: ${{ env.FILE_TIME2 }}-${{matrix.target}}
token: ${{ secrets.MY_GITHUB_TOKEN }}
body: |
★ 源码 : ${{ env.REPO_URL }}
★ 分支 : ${{ env.REPO_BRANCH }}
★ 感谢源码作者无私分享!
🖥 内核版本:${{ env.KERNEL_PATCHVER }}
🎈 编译时间:${{ env.FILE_TIME1 }}
⏰ 编译用时:${{ env.BUILD_TIME }}
📦 包含插件列表:
${{ env.PACKAGED_PLUGINS }}
━━━━━━━━━━━━━━━━━━━━
🎉 [ ${{ env.FIRMWARE_MESSAGE }} ]固件下载
artifacts: ./artifact/firmware/*
- name: 删除运行记录
uses: Mattraks/delete-workflow-runs@v2
with:
token: ${{ secrets.MY_GITHUB_TOKEN }}
repository: ${{ github.repository }}
retain_days: 30 #保留最后多少记录不删除
keep_minimum_runs: 0
- name: 删除自动发布的旧固件
uses: shidahuilang/delete-older-releases@main
with:
keep_latest: 20 #保留多少个releases不删除
delete_tags: true
env:
GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
- name: 编译成功信息通知-企业微信
if: env.BUILD_MOD == 'false' && env.WECHAT_WORK_PUSH == 'true'
run: |
curl "http://${{ secrets.WECHAT_WORK_URL }}/push?token=${{ secrets.WECHAT_WORK_TOKEN }}&message=\
您的${{ env.FIRMWARE_MESSAGE }}固件成功编译完成了!%0a%0a\
🎈编译时间:${{ env.FILE_TIME1 }}%0a%0a\
🖥内核版本:${{ env.KERNEL_PATCHVER }}%0a%0a\
⏰编译用时:${{ env.BUILD_TIME }}%0a%0a\
🎉发布地址:${{ env.GITHUB_RELEASE }}%0a%0a\
🌴固件已经编译完成🎈!!!" || true
- name: 编译成功信息通知-Telegram
if: env.BUILD_MOD == 'false' && env.TELEGRAM_BOT == 'true'
run: |
curl "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage" -d "chat_id=${{ secrets.TELEGRAM_CHAT_ID }}&text=
您的${{ env.FIRMWARE_MESSAGE }}固件成功编译完成了!
🖥 内核版本:${{ env.KERNEL_PATCHVER }}
🎈 编译时间:${{ env.FILE_TIME1 }}
⏰ 编译用时:${{ env.BUILD_TIME }}
🎉 发布地址:${{ env.GITHUB_RELEASE }}
📦 包含插件列表:
${{ env.PACKAGED_PLUGINS }}
🌴 固件已经编译完成 🎈!!!
" >/dev/null 2>&1 && echo "ok..."