OpenWrt-360T7 #8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Copyright (c) 2019-2020 P3TERX <https://p3terx.com> | |
# | |
# This is free software, licensed under the MIT License. | |
# See /LICENSE for more information. | |
# | |
# https://github.com/P3TERX/Actions-OpenWrt | |
# Description: Build OpenWrt using GitHub Actions | |
# | |
name: OpenWrt-360T7-jiashan | |
on: | |
workflow_dispatch: | |
inputs: | |
manual: | |
description: '手动触发一次编译' | |
#schedule: | |
#- cron: 0 16 * * 5 | |
permissions: | |
contents: write | |
env: | |
REPO_URL: https://github.com/hanwckf/immortalwrt-mt798x | |
REPO_BRANCH: openwrt-21.02 | |
FEEDS_CONF: feeds.conf.default | |
CONFIG_FILE: main.config | |
DIY_P1_SH: diy1.sh | |
DIY_P2_SH: diy2.sh | |
UPLOAD_FIRMWARE: true | |
UPLOAD_RELEASE: true | |
PUSHPLUS_TOKEN: ${{ secrets.PUSHPLUS_TOKEN }} | |
TZ: Asia/Shanghai | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: 检查项目分支 | |
uses: actions/checkout@main | |
- name: 初始化编译环境 | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
docker rmi `docker images -q` | |
echo "Deleting files, please wait ..." | |
sudo rm -rf \ | |
/usr/share/dotnet \ | |
/usr/local/lib/android \ | |
/opt/ghc \ | |
/etc/mysql \ | |
/etc/php | |
sudo -E apt-get -y purge azure-cli* docker* ghc* zulu* hhvm* llvm* firefox* google* dotnet* aspnetcore* powershell* openjdk* adoptopenjdk* mysql* php* mongodb* moby* snap* || true | |
sudo -E apt-get update | |
sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc | |
sudo bash -c 'bash <(curl -s https://build-scripts.immortalwrt.eu.org/init_build_environment.sh)' | |
#sudo -E apt-get -y libfuse-dev | |
sudo -E apt-get -y autoremove --purge | |
sudo timedatectl set-timezone "$TZ" | |
sudo mkdir -p /workdir | |
sudo chown $USER:$GROUPS /workdir | |
echo "FIRMWARE_VERSION=$(date +"%y%m%d%H")" >> $GITHUB_ENV | |
echo "START_DATE=$(date +'%Y年%m月%d日 %H点%M分%S秒')" >> $GITHUB_ENV | |
- name: 下载源码 | |
working-directory: /workdir | |
run: | | |
df -hT $PWD | |
git clone $REPO_URL -b $REPO_BRANCH openwrt | |
ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt | |
- name: 加载软件源 | |
run: | | |
[ -e $FEEDS_CONF ] && mv $FEEDS_CONF openwrt/feeds.conf.default | |
chmod +x $DIY_P1_SH | |
cd openwrt | |
$GITHUB_WORKSPACE/$DIY_P1_SH | |
- name: 更新软件源 | |
run: cd openwrt && ./scripts/feeds update -a | |
- name: 安装软件源 | |
run: cd openwrt && ./scripts/feeds install -a | |
- name: More App | |
run: | | |
cd openwrt | |
rm -rf ./feeds/luci/themes/luci-theme-edge | |
git clone https://github.com/kiddin9/luci-theme-edge.git package/luci-theme-edge | |
rm -rf feeds/packages/lang/golang | |
git clone https://github.com/sbwml/packages_lang_golang -b 20.x feeds/packages/lang/golang | |
rm -rf ./feeds/luci/applications/luci-app-mosdns/ | |
rm -rf ./feeds/packages/net/mosdns/ | |
rm -rf ./package/custom_packages/mosdns | |
git clone https://github.com/sbwml/luci-app-mosdns -b v5 ./package/custom_packages/mosdns | |
rm -rf ./feeds/luci/themes/luci-theme-argon/ | |
git clone https://github.com/jerrykuku/luci-theme-argon.git package/luci-theme-argon | |
rm -rf package/luci-theme-argon/README* package/luci-theme-argon/Screenshots/ | |
- name: 加载自定义配置 | |
run: | | |
[ -e files ] && mv files openwrt/files | |
[ -e $CONFIG_FILE ] && mv $CONFIG_FILE openwrt/.config | |
cat extra.config >> openwrt/.config | |
chmod +x $DIY_P2_SH | |
cd openwrt | |
$GITHUB_WORKSPACE/$DIY_P2_SH | |
- name: 下载包 | |
id: package | |
run: | | |
cd openwrt | |
make defconfig | |
make download -j8 | |
find dl -size -1024c -exec ls -l {} \; | |
find dl -size -1024c -exec rm -f {} \; | |
- name: 编译固件 | |
id: compile | |
run: | | |
cd openwrt | |
echo -e "$(nproc) thread compile" | |
make -j$(nproc) || make -j1 || make -j1 V=s || (curl -k -d "title=OpenWrt-360T7固件编译失败" -d "content=编译固件版本:${{ env.FIRMWARE_VERSION }}%0A编译开始时间:${{ env.START_DATE }}%0A编译结束时间:$(date +'%Y年%m月%d日 %H点%M分%S秒')" -d "token=${{ env.PUSHPLUS_TOKEN }}&channel=cp&webhook=server" "http://www.pushplus.plus/send") | |
echo "status=success" >> $GITHUB_OUTPUT | |
- name: 整理固件 | |
id: organize | |
if: steps.compile.outputs.status == 'success' && env.UPLOAD_FIRMWARE == 'true' && !cancelled() | |
run: | | |
# 整理固件包时候,删除您不想要的固件或者文件,让它不需要上传到Actions空间 | |
cd openwrt/bin/targets/*/* | |
rm -rf packages | |
rm -rf version.buildinfo | |
rm -rf profiles.json | |
rm -rf *rootfs* | |
rm -rf *kernel* | |
rm -rf *.manifest | |
rm -rf sha256sums | |
mv *sysupgrade.bin ${{ env.FIRMWARE_VERSION }}-OpenWrt-360T7-108M-sysupgrade.bin | |
mv *factory.bin ${{ env.FIRMWARE_VERSION }}-OpenWrt-360T7-108M-factory.bin | |
echo "FIRMWARE=$PWD" >> $GITHUB_ENV | |
echo "status=success" >> $GITHUB_OUTPUT | |
- name: 上传固件到Github Action空间 | |
uses: actions/upload-artifact@main | |
if: steps.organize.outputs.status == 'success' && !cancelled() | |
with: | |
name: ${{ env.FIRMWARE_VERSION }}-OpenWrt-360T7-Yudie | |
path: ${{ env.FIRMWARE }} | |
- name: 创建release标签 | |
id: tag | |
if: steps.organize.outputs.status == 'success' && env.UPLOAD_RELEASE == 'true' && !cancelled() | |
run: | | |
release_tag="${{ env.FIRMWARE_VERSION }}-OpenWrt-360T7-Yudie" | |
echo "编译时间:$(date +'%Y年%m月%d日 %H点%M分')" >> release.txt | |
echo "默认网关:192.168.9.1" >> release.txt | |
echo "默认插件:"$(cat extra.config|sed 's/#.*//g;s/CONFIG_PACKAGE_.*=n//g'|sed 's/CONFIG_PACKAGE_\(.*\)=y/\1/g')|sed 's/ /、/g' >> release.txt | |
echo "release_tag=$release_tag" >> $GITHUB_OUTPUT | |
echo "status=success" >> $GITHUB_OUTPUT | |
- name: 将固件上传到release | |
uses: softprops/action-gh-release@v1 | |
if: steps.tag.outputs.status == 'success' && !cancelled() | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
name: ${{ env.FIRMWARE_VERSION }}-OpenWrt-360T7 | |
tag_name: ${{ steps.tag.outputs.release_tag }} | |
body_path: release.txt | |
files: ${{ env.FIRMWARE }}/* | |
- name: 删除旧的releases | |
uses: dev-drprasad/delete-older-releases@v0.1.0 | |
if: env.UPLOAD_RELEASE == 'true' && !cancelled() | |
with: | |
keep_latest: 30 | |
delete_tags: true | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |