From 64e87c84dfd491b9a4d9419d2d55a8e9133017bd Mon Sep 17 00:00:00 2001 From: Hyy2001X <1804430051@qq.com> Date: Sat, 20 Nov 2021 22:04:51 +0800 Subject: [PATCH] =?UTF-8?q?AutoBuild-Actions:=2020211120=20=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2021/11/20 更新内容 1. 修改部分变量和函数名 2.0 workflows: 所有文件新增 支持使用 /Configs 目录中的临时配置文件; 优化流程 2.1 workflows: 删除 AutoBuild.yml 3.0 AutoBuild_DiyScript.sh: 新增用户自定义变量 Author_URL=AUTO; 移除 Load_CustomPackages_List 3.1 AutoBuild_DiyScript.sh: 修改与新增预设变量 3.2 x86 设备在 lean 源码中默认修改为 ImmortalWrt 软件源 4. 删除软件包列表: AutoBuild_ExtraPackages.sh,所有内容移至 AutoBuild_DiyScript.sh 5. 删除无用文件: CustomFiles\Depends\{base-files-essential,Custom_Variable,DRM-I915}, 内容移至 AutoBuild_Function.sh 6. {Sync.sh,AutoUpdate.sh,AutoBuild_Function.sh} 同步改动 7. 重命名 {d-team_newifi-d2_mac80211.patch,d-team_newifi-d2_system} 8. 修改 x86 固件格式为 {BIOS,UEFI} 9. 固件升级保留列表添加 /.uuplugin_uuid 改动内容较大, 建议重新 Fork 本仓库 --- .../workflows/AutoBuild-asus_rt-acrh17.yml | 91 +++--- .../workflows/AutoBuild-d-team_newifi-d2.yml | 91 +++--- .../workflows/AutoBuild-p2w_r619ac-128m.yml | 91 +++--- .github/workflows/AutoBuild-x86_64.yml | 96 +++--- .../AutoBuild-xiaomi_redmi-router-ac2100.yml | 91 +++--- .github/workflows/AutoBuild-xiaoyu_xy-c5.yml | 89 ++--- .github/workflows/AutoBuild.yml | 178 ---------- .github/workflows/Module_Synchronise_Fork.yml | 2 +- CustomFiles/Depends/Custom_Variable | 4 - CustomFiles/Depends/DRM-I915 | 5 - CustomFiles/Depends/base-files-essential | 2 +- ....patch => d-team_newifi-d2_mac80211.patch} | 0 ...team_newifi-d2 => d-team_newifi-d2_system} | 0 Scripts/AutoBuild_DiyScript.sh | 84 +++-- Scripts/AutoBuild_ExtraPackages.sh | 38 --- Scripts/AutoBuild_Function.sh | 308 ++++++++++-------- Scripts/AutoUpdate.sh | 87 +++-- Scripts/Sync.sh | 9 +- 18 files changed, 596 insertions(+), 670 deletions(-) delete mode 100644 .github/workflows/AutoBuild.yml delete mode 100755 CustomFiles/Depends/Custom_Variable delete mode 100755 CustomFiles/Depends/DRM-I915 rename CustomFiles/{mac80211_d-team_newifi-d2.patch => d-team_newifi-d2_mac80211.patch} (100%) mode change 100755 => 100644 rename CustomFiles/{system_d-team_newifi-d2 => d-team_newifi-d2_system} (100%) mode change 100755 => 100644 delete mode 100755 Scripts/AutoBuild_ExtraPackages.sh diff --git a/.github/workflows/AutoBuild-asus_rt-acrh17.yml b/.github/workflows/AutoBuild-asus_rt-acrh17.yml index cbbd00e..b2d77eb 100644 --- a/.github/workflows/AutoBuild-asus_rt-acrh17.yml +++ b/.github/workflows/AutoBuild-asus_rt-acrh17.yml @@ -6,15 +6,18 @@ name: ASUS RT-ACRH17 -### 以下内容请保持不变 (请修改下方: 环境变量设置) +### 以下内容请保持不变 (请修改下方的 环境变量设置) on: repository_dispatch: workflow_dispatch: inputs: - IP: - description: '固件 IP 地址 [可选]' + Tempoary_IP: + description: '临时修改 IP 地址 [可选]' default: '' -### END + Tempoary_CONFIG: + description: '配置文件 [可选]' + default: '' +### 结束 #push: # branches: @@ -42,37 +45,47 @@ env: DELETE_USELESS_FILES: true # 删除早期的 workflow 任务 DELETE_OLD_WORKFLOW: true -### END +### 结束 jobs: - build: + Compile: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@main - - name: Initialization Define Info + - name: Initialization Variables run: | - CONFIG_FILE=${{ env.CONFIG_FILE }} - DEFAULT_SOURCE=${{ env.DEFAULT_SOURCE }} - DELETE_USELESS_FILES=${{ env.DELETE_USELESS_FILES }} - echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV - echo "DELETE_USELESS_FILES=$DELETE_USELESS_FILES" >> $GITHUB_ENV - [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] && { - echo "Config_File: [/Config/$CONFIG_FILE] is not detected!" + if [ -n "${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + if [ -f "$GITHUB_WORKSPACE/Configs/${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + CONFIG_FILE=${{ github.event.inputs.Tempoary_CONFIG }} + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + if [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] + then + echo "CONFIG_FILE: [/Config/$CONFIG_FILE] is not detected !" exit 1 - } - export REPO_URL="https://github.com/$(echo $DEFAULT_SOURCE | cut -d \: -f 1)" - export REPO_BRANCH=$(echo $DEFAULT_SOURCE | cut -d \: -f 2) - [ -z $REPO_BRANCH ] && REPO_BRANCH=master + else + echo "CONFIG_FILE: [/Config/$CONFIG_FILE]" + echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV + fi + if [ -n "${{ github.event.inputs.Tempoary_IP }}" ] + then + echo "Tempoary_IP=${{ github.event.inputs.Tempoary_IP }}" >> $GITHUB_ENV + fi + REPO_URL="https://github.com/$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 1)" + REPO_BRANCH=$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 2) echo "REPO_URL=$REPO_URL" >> $GITHUB_ENV echo "REPO_BRANCH=$REPO_BRANCH" >> $GITHUB_ENV - echo "Compile_Date=$(date +%Y%m%d%H%M)" > $GITHUB_WORKSPACE/Openwrt.info - echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Before_IP_Address=${{ github.event.inputs.IP }}" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Openwrt_Repository=$REPO_URL" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Artifacts_Date=$(date +%m%d%H%M)" >> $GITHUB_ENV + echo "Compile_Date=$(date +%Y%m%d%H%M)" >> $GITHUB_ENV + echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_ENV - name: Initialization Environment env: @@ -83,7 +96,8 @@ jobs: sudo timedatectl set-timezone "Asia/Shanghai" sudo mkdir -p /workdir sudo chown $USER:$GROUPS /workdir - if [ "$DELETE_USELESS_FILES" == true ];then + if [ "${{ env.DELETE_USELESS_FILES }}" == true ] + then docker rmi $(docker images -q) sudo rm -rf /usr/share/dotnet /etc/mysql /etc/php sudo -E apt-get -y autoremove --purge @@ -96,7 +110,7 @@ jobs: ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt cd openwrt ./scripts/feeds update -a - ./scripts/feeds install -a > /dev/null 2>&1 + ./scripts/feeds install -a - name: Run AutoBuild_DiyScript.sh run: | @@ -106,44 +120,43 @@ jobs: make defconfig > /dev/null 2>&1 source $GITHUB_WORKSPACE/Scripts/AutoBuild_DiyScript.sh source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh - Firmware-Diy_Main - source $GITHUB_WORKSPACE/openwrt/VARIABLE_FILE && Firmware-Diy + Firmware_Diy_Main && Firmware_Diy rm -f .config && cp $GITHUB_WORKSPACE/Configs/$CONFIG_FILE .config - name: Compile run: | - export Compile_Result=false + Result=false cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_Other + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware_Diy_Other rm -rf ./tmp && ./scripts/feeds install -a > /dev/null 2>&1 make defconfig make download -j$(nproc) make -j$(nproc) || make -j1 V=s - [ $? == 0 ] && echo "Compile_Result=true" >> $GITHUB_ENV + [ $? == 0 ] && echo "Result=true" >> $GITHUB_ENV - name: Process Firmware - if: env.Compile_Result == 'true' && !cancelled() + if: env.Result == 'true' && !cancelled() run: | cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_End + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware_Diy_End - name: Upload Firmware to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_firmware_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_firmware_${{ env.Compile_Date }} path: openwrt/bin/Firmware - name: Upload bin to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_bin_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_bin_${{ env.Compile_Date }} path: openwrt/bin - name: Upload Firmware to Github Release uses: svenstaro/upload-release-action@v2 - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: openwrt/bin/Firmware/* @@ -152,12 +165,12 @@ jobs: overwrite: true - name: Download Github Release API - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() run: | wget https://api.github.com/repos/${{github.repository}}/releases/tags/AutoUpdate -O API - name: Upload API to Github Release - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/AutoBuild-d-team_newifi-d2.yml b/.github/workflows/AutoBuild-d-team_newifi-d2.yml index 6f4439d..7cc7852 100644 --- a/.github/workflows/AutoBuild-d-team_newifi-d2.yml +++ b/.github/workflows/AutoBuild-d-team_newifi-d2.yml @@ -6,15 +6,18 @@ name: NEWIFI D2 -### 以下内容请保持不变 (请修改下方: 环境变量设置) +### 以下内容请保持不变 (请修改下方的 环境变量设置) on: repository_dispatch: workflow_dispatch: inputs: - IP: - description: '固件 IP 地址 [可选]' + Tempoary_IP: + description: '临时修改 IP 地址 [可选]' default: '' -### END + Tempoary_CONFIG: + description: '配置文件 [可选]' + default: '' +### 结束 #push: # branches: @@ -42,37 +45,47 @@ env: DELETE_USELESS_FILES: true # 删除早期的 workflow 任务 DELETE_OLD_WORKFLOW: true -### END +### 结束 jobs: - build: + Compile: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@main - - name: Initialization Define Info + - name: Initialization Variables run: | - CONFIG_FILE=${{ env.CONFIG_FILE }} - DEFAULT_SOURCE=${{ env.DEFAULT_SOURCE }} - DELETE_USELESS_FILES=${{ env.DELETE_USELESS_FILES }} - echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV - echo "DELETE_USELESS_FILES=$DELETE_USELESS_FILES" >> $GITHUB_ENV - [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] && { - echo "Config_File: [/Config/$CONFIG_FILE] is not detected!" + if [ -n "${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + if [ -f "$GITHUB_WORKSPACE/Configs/${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + CONFIG_FILE=${{ github.event.inputs.Tempoary_CONFIG }} + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + if [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] + then + echo "CONFIG_FILE: [/Config/$CONFIG_FILE] is not detected !" exit 1 - } - export REPO_URL="https://github.com/$(echo $DEFAULT_SOURCE | cut -d \: -f 1)" - export REPO_BRANCH=$(echo $DEFAULT_SOURCE | cut -d \: -f 2) - [ -z $REPO_BRANCH ] && REPO_BRANCH=master + else + echo "CONFIG_FILE: [/Config/$CONFIG_FILE]" + echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV + fi + if [ -n "${{ github.event.inputs.Tempoary_IP }}" ] + then + echo "Tempoary_IP=${{ github.event.inputs.Tempoary_IP }}" >> $GITHUB_ENV + fi + REPO_URL="https://github.com/$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 1)" + REPO_BRANCH=$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 2) echo "REPO_URL=$REPO_URL" >> $GITHUB_ENV echo "REPO_BRANCH=$REPO_BRANCH" >> $GITHUB_ENV - echo "Compile_Date=$(date +%Y%m%d%H%M)" > $GITHUB_WORKSPACE/Openwrt.info - echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Before_IP_Address=${{ github.event.inputs.IP }}" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Openwrt_Repository=$REPO_URL" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Artifacts_Date=$(date +%m%d%H%M)" >> $GITHUB_ENV + echo "Compile_Date=$(date +%Y%m%d%H%M)" >> $GITHUB_ENV + echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_ENV - name: Initialization Environment env: @@ -83,7 +96,8 @@ jobs: sudo timedatectl set-timezone "Asia/Shanghai" sudo mkdir -p /workdir sudo chown $USER:$GROUPS /workdir - if [ "$DELETE_USELESS_FILES" == true ];then + if [ "${{ env.DELETE_USELESS_FILES }}" == true ] + then docker rmi $(docker images -q) sudo rm -rf /usr/share/dotnet /etc/mysql /etc/php sudo -E apt-get -y autoremove --purge @@ -96,7 +110,7 @@ jobs: ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt cd openwrt ./scripts/feeds update -a - ./scripts/feeds install -a > /dev/null 2>&1 + ./scripts/feeds install -a - name: Run AutoBuild_DiyScript.sh run: | @@ -106,44 +120,43 @@ jobs: make defconfig > /dev/null 2>&1 source $GITHUB_WORKSPACE/Scripts/AutoBuild_DiyScript.sh source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh - Firmware-Diy_Main - source $GITHUB_WORKSPACE/openwrt/VARIABLE_FILE && Firmware-Diy + Firmware_Diy_Main && Firmware_Diy rm -f .config && cp $GITHUB_WORKSPACE/Configs/$CONFIG_FILE .config - name: Compile run: | - export Compile_Result=false + Result=false cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_Other + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware_Diy_Other rm -rf ./tmp && ./scripts/feeds install -a > /dev/null 2>&1 make defconfig make download -j$(nproc) make -j$(nproc) || make -j1 V=s - [ $? == 0 ] && echo "Compile_Result=true" >> $GITHUB_ENV + [ $? == 0 ] && echo "Result=true" >> $GITHUB_ENV - name: Process Firmware - if: env.Compile_Result == 'true' && !cancelled() + if: env.Result == 'true' && !cancelled() run: | cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_End + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware_Diy_End - name: Upload Firmware to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_firmware_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_firmware_${{ env.Compile_Date }} path: openwrt/bin/Firmware - name: Upload bin to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_bin_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_bin_${{ env.Compile_Date }} path: openwrt/bin - name: Upload Firmware to Github Release uses: svenstaro/upload-release-action@v2 - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: openwrt/bin/Firmware/* @@ -152,12 +165,12 @@ jobs: overwrite: true - name: Download Github Release API - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() run: | wget https://api.github.com/repos/${{github.repository}}/releases/tags/AutoUpdate -O API - name: Upload API to Github Release - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/AutoBuild-p2w_r619ac-128m.yml b/.github/workflows/AutoBuild-p2w_r619ac-128m.yml index 3d96b5d..86bd235 100644 --- a/.github/workflows/AutoBuild-p2w_r619ac-128m.yml +++ b/.github/workflows/AutoBuild-p2w_r619ac-128m.yml @@ -6,15 +6,18 @@ name: P&W R619AC 128M -### 以下内容请保持不变 (请修改下方: 环境变量设置) +### 以下内容请保持不变 (请修改下方的 环境变量设置) on: repository_dispatch: workflow_dispatch: inputs: - IP: - description: '固件 IP 地址 [可选]' + Tempoary_IP: + description: '临时修改 IP 地址 [可选]' default: '' -### END + Tempoary_CONFIG: + description: '配置文件 [可选]' + default: '' +### 结束 #push: # branches: @@ -42,37 +45,47 @@ env: DELETE_USELESS_FILES: true # 删除早期的 workflow 任务 DELETE_OLD_WORKFLOW: true -### END +### 结束 jobs: - build: + Compile: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@main - - name: Initialization Define Info + - name: Initialization Variables run: | - CONFIG_FILE=${{ env.CONFIG_FILE }} - DEFAULT_SOURCE=${{ env.DEFAULT_SOURCE }} - DELETE_USELESS_FILES=${{ env.DELETE_USELESS_FILES }} - echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV - echo "DELETE_USELESS_FILES=$DELETE_USELESS_FILES" >> $GITHUB_ENV - [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] && { - echo "Config_File: [/Config/$CONFIG_FILE] is not detected!" + if [ -n "${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + if [ -f "$GITHUB_WORKSPACE/Configs/${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + CONFIG_FILE=${{ github.event.inputs.Tempoary_CONFIG }} + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + if [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] + then + echo "CONFIG_FILE: [/Config/$CONFIG_FILE] is not detected !" exit 1 - } - export REPO_URL="https://github.com/$(echo $DEFAULT_SOURCE | cut -d \: -f 1)" - export REPO_BRANCH=$(echo $DEFAULT_SOURCE | cut -d \: -f 2) - [ -z $REPO_BRANCH ] && REPO_BRANCH=master + else + echo "CONFIG_FILE: [/Config/$CONFIG_FILE]" + echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV + fi + if [ -n "${{ github.event.inputs.Tempoary_IP }}" ] + then + echo "Tempoary_IP=${{ github.event.inputs.Tempoary_IP }}" >> $GITHUB_ENV + fi + REPO_URL="https://github.com/$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 1)" + REPO_BRANCH=$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 2) echo "REPO_URL=$REPO_URL" >> $GITHUB_ENV echo "REPO_BRANCH=$REPO_BRANCH" >> $GITHUB_ENV - echo "Compile_Date=$(date +%Y%m%d%H%M)" > $GITHUB_WORKSPACE/Openwrt.info - echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Before_IP_Address=${{ github.event.inputs.IP }}" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Openwrt_Repository=$REPO_URL" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Artifacts_Date=$(date +%m%d%H%M)" >> $GITHUB_ENV + echo "Compile_Date=$(date +%Y%m%d%H%M)" >> $GITHUB_ENV + echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_ENV - name: Initialization Environment env: @@ -83,7 +96,8 @@ jobs: sudo timedatectl set-timezone "Asia/Shanghai" sudo mkdir -p /workdir sudo chown $USER:$GROUPS /workdir - if [ "$DELETE_USELESS_FILES" == true ];then + if [ "${{ env.DELETE_USELESS_FILES }}" == true ] + then docker rmi $(docker images -q) sudo rm -rf /usr/share/dotnet /etc/mysql /etc/php sudo -E apt-get -y autoremove --purge @@ -96,7 +110,7 @@ jobs: ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt cd openwrt ./scripts/feeds update -a - ./scripts/feeds install -a > /dev/null 2>&1 + ./scripts/feeds install -a - name: Run AutoBuild_DiyScript.sh run: | @@ -106,44 +120,43 @@ jobs: make defconfig > /dev/null 2>&1 source $GITHUB_WORKSPACE/Scripts/AutoBuild_DiyScript.sh source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh - Firmware-Diy_Main - source $GITHUB_WORKSPACE/openwrt/VARIABLE_FILE && Firmware-Diy + Firmware_Diy_Main && Firmware_Diy rm -f .config && cp $GITHUB_WORKSPACE/Configs/$CONFIG_FILE .config - name: Compile run: | - export Compile_Result=false + Result=false cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_Other + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware_Diy_Other rm -rf ./tmp && ./scripts/feeds install -a > /dev/null 2>&1 make defconfig make download -j$(nproc) make -j$(nproc) || make -j1 V=s - [ $? == 0 ] && echo "Compile_Result=true" >> $GITHUB_ENV + [ $? == 0 ] && echo "Result=true" >> $GITHUB_ENV - name: Process Firmware - if: env.Compile_Result == 'true' && !cancelled() + if: env.Result == 'true' && !cancelled() run: | cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_End + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware_Diy_End - name: Upload Firmware to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_firmware_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_firmware_${{ env.Compile_Date }} path: openwrt/bin/Firmware - name: Upload bin to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_bin_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_bin_${{ env.Compile_Date }} path: openwrt/bin - name: Upload Firmware to Github Release uses: svenstaro/upload-release-action@v2 - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: openwrt/bin/Firmware/* @@ -152,12 +165,12 @@ jobs: overwrite: true - name: Download Github Release API - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() run: | wget https://api.github.com/repos/${{github.repository}}/releases/tags/AutoUpdate -O API - name: Upload API to Github Release - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/AutoBuild-x86_64.yml b/.github/workflows/AutoBuild-x86_64.yml index 337b54e..b29d69f 100644 --- a/.github/workflows/AutoBuild-x86_64.yml +++ b/.github/workflows/AutoBuild-x86_64.yml @@ -6,15 +6,18 @@ name: x86_64 -### 以下内容请保持不变 (请修改下方: 环境变量设置) +### 以下内容请保持不变 (请修改下方的 环境变量设置) on: repository_dispatch: workflow_dispatch: inputs: - IP: - description: '固件 IP 地址 [可选]' + Tempoary_IP: + description: '临时修改 IP 地址 [可选]' default: '' -### END + Tempoary_CONFIG: + description: '配置文件 [可选]' + default: '' +### 结束 #push: # branches: @@ -42,7 +45,7 @@ env: DELETE_USELESS_FILES: true # 删除早期的 workflow 任务 DELETE_OLD_WORKFLOW: true -### END +### 结束 jobs: Compile: @@ -52,27 +55,37 @@ jobs: - name: Checkout uses: actions/checkout@main - - name: Initialization Define Info + - name: Initialization Variables run: | - CONFIG_FILE=${{ env.CONFIG_FILE }} - DEFAULT_SOURCE=${{ env.DEFAULT_SOURCE }} - DELETE_USELESS_FILES=${{ env.DELETE_USELESS_FILES }} - echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV - echo "DELETE_USELESS_FILES=$DELETE_USELESS_FILES" >> $GITHUB_ENV - [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] && { - echo "Config_File: [/Config/$CONFIG_FILE] is not detected!" + if [ -n "${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + if [ -f "$GITHUB_WORKSPACE/Configs/${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + CONFIG_FILE=${{ github.event.inputs.Tempoary_CONFIG }} + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + if [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] + then + echo "CONFIG_FILE: [/Config/$CONFIG_FILE] is not detected !" exit 1 - } - export REPO_URL="https://github.com/$(echo $DEFAULT_SOURCE | cut -d \: -f 1)" - export REPO_BRANCH=$(echo $DEFAULT_SOURCE | cut -d \: -f 2) - [ -z $REPO_BRANCH ] && REPO_BRANCH=master + else + echo "CONFIG_FILE: [/Config/$CONFIG_FILE]" + echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV + fi + if [ -n "${{ github.event.inputs.Tempoary_IP }}" ] + then + echo "Tempoary_IP=${{ github.event.inputs.Tempoary_IP }}" >> $GITHUB_ENV + fi + REPO_URL="https://github.com/$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 1)" + REPO_BRANCH=$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 2) echo "REPO_URL=$REPO_URL" >> $GITHUB_ENV echo "REPO_BRANCH=$REPO_BRANCH" >> $GITHUB_ENV - echo "Compile_Date=$(date +%Y%m%d%H%M)" > $GITHUB_WORKSPACE/Openwrt.info - echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Before_IP_Address=${{ github.event.inputs.IP }}" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Openwrt_Repository=$REPO_URL" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Artifacts_Date=$(date +%m%d%H%M)" >> $GITHUB_ENV + echo "Compile_Date=$(date +%Y%m%d%H%M)" >> $GITHUB_ENV + echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_ENV - name: Initialization Environment env: @@ -83,7 +96,8 @@ jobs: sudo timedatectl set-timezone "Asia/Shanghai" sudo mkdir -p /workdir sudo chown $USER:$GROUPS /workdir - if [ "$DELETE_USELESS_FILES" == true ];then + if [ "${{ env.DELETE_USELESS_FILES }}" == true ] + then docker rmi $(docker images -q) sudo rm -rf /usr/share/dotnet /etc/mysql /etc/php sudo -E apt-get -y autoremove --purge @@ -96,54 +110,54 @@ jobs: ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt cd openwrt ./scripts/feeds update -a - ./scripts/feeds install -a > /dev/null 2>&1 + ./scripts/feeds install -a - name: Run AutoBuild_DiyScript.sh run: | chmod +x Scripts/AutoBuild_*.sh cp $GITHUB_WORKSPACE/Configs/$CONFIG_FILE openwrt/.config cd openwrt - make defconfig > /dev/null 2>&1 + make defconfig source $GITHUB_WORKSPACE/Scripts/AutoBuild_DiyScript.sh source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh - Firmware-Diy_Main - source $GITHUB_WORKSPACE/openwrt/VARIABLE_FILE && Firmware-Diy - rm -f .config && cp $GITHUB_WORKSPACE/Configs/$CONFIG_FILE .config + Firmware_Diy_Main && Firmware_Diy - name: Compile run: | - export Compile_Result=false cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_Other - rm -rf ./tmp && ./scripts/feeds install -a > /dev/null 2>&1 + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh + Firmware_Diy_Other + rm -rf ./tmp + ./scripts/feeds install -a > /dev/null 2>&1 make defconfig make download -j$(nproc) make -j$(nproc) || make -j1 V=s - [ $? == 0 ] && echo "Compile_Result=true" >> $GITHUB_ENV + [ $? == 0 ] && echo "Result=true" >> $GITHUB_ENV || echo "Result=false" >> $GITHUB_ENV - name: Process Firmware - if: env.Compile_Result == 'true' && !cancelled() + if: env.Result == 'true' && !cancelled() run: | cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_End + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh + Firmware_Diy_End - name: Upload Firmware to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_firmware_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_firmware_${{ env.Compile_Date }} path: openwrt/bin/Firmware - name: Upload bin to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_bin_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_bin_${{ env.Compile_Date }} path: openwrt/bin - name: Upload Firmware to Github Release uses: svenstaro/upload-release-action@v2 - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: openwrt/bin/Firmware/* @@ -152,12 +166,12 @@ jobs: overwrite: true - name: Download Github Release API - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() run: | wget https://api.github.com/repos/${{github.repository}}/releases/tags/AutoUpdate -O API - name: Upload API to Github Release - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/AutoBuild-xiaomi_redmi-router-ac2100.yml b/.github/workflows/AutoBuild-xiaomi_redmi-router-ac2100.yml index 9c2fd0c..65faf03 100644 --- a/.github/workflows/AutoBuild-xiaomi_redmi-router-ac2100.yml +++ b/.github/workflows/AutoBuild-xiaomi_redmi-router-ac2100.yml @@ -6,15 +6,18 @@ name: Redmi AC2100 -### 以下内容请保持不变 (请修改下方: 环境变量设置) +### 以下内容请保持不变 (请修改下方的 环境变量设置) on: repository_dispatch: workflow_dispatch: inputs: - IP: - description: '固件 IP 地址 [可选]' + Tempoary_IP: + description: '临时修改 IP 地址 [可选]' default: '' -### END + Tempoary_CONFIG: + description: '配置文件 [可选]' + default: '' +### 结束 #push: # branches: @@ -42,37 +45,47 @@ env: DELETE_USELESS_FILES: true # 删除早期的 workflow 任务 DELETE_OLD_WORKFLOW: true -### END +### 结束 jobs: - build: + Compile: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@main - - name: Initialization Define Info + - name: Initialization Variables run: | - CONFIG_FILE=${{ env.CONFIG_FILE }} - DEFAULT_SOURCE=${{ env.DEFAULT_SOURCE }} - DELETE_USELESS_FILES=${{ env.DELETE_USELESS_FILES }} - echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV - echo "DELETE_USELESS_FILES=$DELETE_USELESS_FILES" >> $GITHUB_ENV - [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] && { - echo "Config_File: [/Config/$CONFIG_FILE] is not detected!" + if [ -n "${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + if [ -f "$GITHUB_WORKSPACE/Configs/${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + CONFIG_FILE=${{ github.event.inputs.Tempoary_CONFIG }} + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + if [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] + then + echo "CONFIG_FILE: [/Config/$CONFIG_FILE] is not detected !" exit 1 - } - export REPO_URL="https://github.com/$(echo $DEFAULT_SOURCE | cut -d \: -f 1)" - export REPO_BRANCH=$(echo $DEFAULT_SOURCE | cut -d \: -f 2) - [ -z $REPO_BRANCH ] && REPO_BRANCH=master + else + echo "CONFIG_FILE: [/Config/$CONFIG_FILE]" + echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV + fi + if [ -n "${{ github.event.inputs.Tempoary_IP }}" ] + then + echo "Tempoary_IP=${{ github.event.inputs.Tempoary_IP }}" >> $GITHUB_ENV + fi + REPO_URL="https://github.com/$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 1)" + REPO_BRANCH=$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 2) echo "REPO_URL=$REPO_URL" >> $GITHUB_ENV echo "REPO_BRANCH=$REPO_BRANCH" >> $GITHUB_ENV - echo "Compile_Date=$(date +%Y%m%d%H%M)" > $GITHUB_WORKSPACE/Openwrt.info - echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Before_IP_Address=${{ github.event.inputs.IP }}" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Openwrt_Repository=$REPO_URL" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Artifacts_Date=$(date +%m%d%H%M)" >> $GITHUB_ENV + echo "Compile_Date=$(date +%Y%m%d%H%M)" >> $GITHUB_ENV + echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_ENV - name: Initialization Environment env: @@ -83,7 +96,8 @@ jobs: sudo timedatectl set-timezone "Asia/Shanghai" sudo mkdir -p /workdir sudo chown $USER:$GROUPS /workdir - if [ "$DELETE_USELESS_FILES" == true ];then + if [ "${{ env.DELETE_USELESS_FILES }}" == true ] + then docker rmi $(docker images -q) sudo rm -rf /usr/share/dotnet /etc/mysql /etc/php sudo -E apt-get -y autoremove --purge @@ -96,7 +110,7 @@ jobs: ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt cd openwrt ./scripts/feeds update -a - ./scripts/feeds install -a > /dev/null 2>&1 + ./scripts/feeds install -a - name: Run AutoBuild_DiyScript.sh run: | @@ -106,44 +120,43 @@ jobs: make defconfig > /dev/null 2>&1 source $GITHUB_WORKSPACE/Scripts/AutoBuild_DiyScript.sh source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh - Firmware-Diy_Main - source $GITHUB_WORKSPACE/openwrt/VARIABLE_FILE && Firmware-Diy + Firmware_Diy_Main && Firmware_Diy rm -f .config && cp $GITHUB_WORKSPACE/Configs/$CONFIG_FILE .config - name: Compile run: | - export Compile_Result=false + Result=false cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_Other + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware_Diy_Other rm -rf ./tmp && ./scripts/feeds install -a > /dev/null 2>&1 make defconfig make download -j$(nproc) make -j$(nproc) || make -j1 V=s - [ $? == 0 ] && echo "Compile_Result=true" >> $GITHUB_ENV + [ $? == 0 ] && echo "Result=true" >> $GITHUB_ENV - name: Process Firmware - if: env.Compile_Result == 'true' && !cancelled() + if: env.Result == 'true' && !cancelled() run: | cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_End + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware_Diy_End - name: Upload Firmware to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_firmware_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_firmware_${{ env.Compile_Date }} path: openwrt/bin/Firmware - name: Upload bin to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_bin_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_bin_${{ env.Compile_Date }} path: openwrt/bin - name: Upload Firmware to Github Release uses: svenstaro/upload-release-action@v2 - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: openwrt/bin/Firmware/* @@ -152,12 +165,12 @@ jobs: overwrite: true - name: Download Github Release API - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() run: | wget https://api.github.com/repos/${{github.repository}}/releases/tags/AutoUpdate -O API - name: Upload API to Github Release - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/AutoBuild-xiaoyu_xy-c5.yml b/.github/workflows/AutoBuild-xiaoyu_xy-c5.yml index 782ce24..103732c 100644 --- a/.github/workflows/AutoBuild-xiaoyu_xy-c5.yml +++ b/.github/workflows/AutoBuild-xiaoyu_xy-c5.yml @@ -6,15 +6,18 @@ name: Xiaoyu C5 -### 以下内容请保持不变 (请修改下方: 环境变量设置) +### 以下内容请保持不变 (请修改下方的 环境变量设置) on: repository_dispatch: workflow_dispatch: inputs: - IP: - description: '固件 IP 地址 [可选]' + Tempoary_IP: + description: '临时修改 IP 地址 [可选]' default: '' -### END + Tempoary_CONFIG: + description: '配置文件 [可选]' + default: '' +### 结束 #push: # branches: @@ -42,7 +45,7 @@ env: DELETE_USELESS_FILES: true # 删除早期的 workflow 任务 DELETE_OLD_WORKFLOW: true -### END +### 结束 jobs: Compile: @@ -52,27 +55,37 @@ jobs: - name: Checkout uses: actions/checkout@main - - name: Initialization Define Info + - name: Initialization Variables run: | - CONFIG_FILE=${{ env.CONFIG_FILE }} - DEFAULT_SOURCE=${{ env.DEFAULT_SOURCE }} - DELETE_USELESS_FILES=${{ env.DELETE_USELESS_FILES }} - echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV - echo "DELETE_USELESS_FILES=$DELETE_USELESS_FILES" >> $GITHUB_ENV - [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] && { - echo "Config_File: [/Config/$CONFIG_FILE] is not detected!" + if [ -n "${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + if [ -f "$GITHUB_WORKSPACE/Configs/${{ github.event.inputs.Tempoary_CONFIG }}" ] + then + CONFIG_FILE=${{ github.event.inputs.Tempoary_CONFIG }} + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + else + CONFIG_FILE=${{ env.CONFIG_FILE }} + fi + if [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] + then + echo "CONFIG_FILE: [/Config/$CONFIG_FILE] is not detected !" exit 1 - } - export REPO_URL="https://github.com/$(echo $DEFAULT_SOURCE | cut -d \: -f 1)" - export REPO_BRANCH=$(echo $DEFAULT_SOURCE | cut -d \: -f 2) - [ -z $REPO_BRANCH ] && REPO_BRANCH=master + else + echo "CONFIG_FILE: [/Config/$CONFIG_FILE]" + echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV + fi + if [ -n "${{ github.event.inputs.Tempoary_IP }}" ] + then + echo "Tempoary_IP=${{ github.event.inputs.Tempoary_IP }}" >> $GITHUB_ENV + fi + REPO_URL="https://github.com/$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 1)" + REPO_BRANCH=$(echo ${{ env.DEFAULT_SOURCE }} | cut -d \: -f 2) echo "REPO_URL=$REPO_URL" >> $GITHUB_ENV echo "REPO_BRANCH=$REPO_BRANCH" >> $GITHUB_ENV - echo "Compile_Date=$(date +%Y%m%d%H%M)" > $GITHUB_WORKSPACE/Openwrt.info - echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Before_IP_Address=${{ github.event.inputs.IP }}" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Openwrt_Repository=$REPO_URL" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Artifacts_Date=$(date +%m%d%H%M)" >> $GITHUB_ENV + echo "Compile_Date=$(date +%Y%m%d%H%M)" >> $GITHUB_ENV + echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_ENV - name: Initialization Environment env: @@ -83,7 +96,8 @@ jobs: sudo timedatectl set-timezone "Asia/Shanghai" sudo mkdir -p /workdir sudo chown $USER:$GROUPS /workdir - if [ "$DELETE_USELESS_FILES" == true ];then + if [ "${{ env.DELETE_USELESS_FILES }}" == true ] + then docker rmi $(docker images -q) sudo rm -rf /usr/share/dotnet /etc/mysql /etc/php sudo -E apt-get -y autoremove --purge @@ -96,7 +110,7 @@ jobs: ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt cd openwrt ./scripts/feeds update -a - ./scripts/feeds install -a > /dev/null 2>&1 + ./scripts/feeds install -a - name: Run AutoBuild_DiyScript.sh run: | @@ -106,44 +120,43 @@ jobs: make defconfig > /dev/null 2>&1 source $GITHUB_WORKSPACE/Scripts/AutoBuild_DiyScript.sh source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh - Firmware-Diy_Main - source $GITHUB_WORKSPACE/openwrt/VARIABLE_FILE && Firmware-Diy + Firmware_Diy_Main && Firmware_Diy rm -f .config && cp $GITHUB_WORKSPACE/Configs/$CONFIG_FILE .config - name: Compile run: | - export Compile_Result=false + Result=false cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_Other + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware_Diy_Other rm -rf ./tmp && ./scripts/feeds install -a > /dev/null 2>&1 make defconfig make download -j$(nproc) make -j$(nproc) || make -j1 V=s - [ $? == 0 ] && echo "Compile_Result=true" >> $GITHUB_ENV + [ $? == 0 ] && echo "Result=true" >> $GITHUB_ENV - name: Process Firmware - if: env.Compile_Result == 'true' && !cancelled() + if: env.Result == 'true' && !cancelled() run: | cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_End + source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware_Diy_End - name: Upload Firmware to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_firmware_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_firmware_${{ env.Compile_Date }} path: openwrt/bin/Firmware - name: Upload bin to Artifacts uses: actions/upload-artifact@main - if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Result == 'true' && !cancelled() with: - name: ${{ env.REPO_BRANCH }}_bin_${{ env.Artifacts_Date }} + name: ${{ env.CONFIG_FILE }}_bin_${{ env.Compile_Date }} path: openwrt/bin - name: Upload Firmware to Github Release uses: svenstaro/upload-release-action@v2 - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: openwrt/bin/Firmware/* @@ -152,12 +165,12 @@ jobs: overwrite: true - name: Download Github Release API - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() run: | wget https://api.github.com/repos/${{github.repository}}/releases/tags/AutoUpdate -O API - name: Upload API to Github Release - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() + if: env.UPLOAD_RELEASES == 'true' && env.Result == 'true' && !cancelled() uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/AutoBuild.yml b/.github/workflows/AutoBuild.yml deleted file mode 100644 index 3714268..0000000 --- a/.github/workflows/AutoBuild.yml +++ /dev/null @@ -1,178 +0,0 @@ -########################################################### -# Description: Compile OpenWrt by GitHub Actions # -# Based on: https://github.com/P3TERX/Actions-OpenWrt # -# Author: Hyy2001X # -########################################################### - -name: AutoBuild Template - -### 以下内容请保持不变 (请修改下方: 环境变量设置) -on: - repository_dispatch: - workflow_dispatch: - inputs: - SSH: - description: 'SSH 连接到 Actions' - required: true - default: 'false' - CONFIG_FILE: - description: '调用的 [.config] 文件名称' - default: 'x86_64' - DEFAULT_SOURCE: - description: '源码:分支 [必选]' - default: 'coolsnowwolf/lede:master' - IP: - description: '固件 IP 地址 [可选]' - default: '' - DELETE_USELESS_FILES: - description: '清理无用文件 [可选]' - default: 'true' -### END - -### 环境变量设置 -env: -# 上传固件到 Github Releases - UPLOAD_RELEASES: true -# 上传固件到 Github Artifacts - UPLOAD_ARTIFACTS: false -# 上传 bin 文件夹到 Github Artifacts - UPLOAD_BIN_ARTIFACTS: true -# 删除早期的 workflow 任务 - DELETE_OLD_WORKFLOW: true -### END - -jobs: - Compile: - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@main - - - name: Initialization Define Info - run: | - CONFIG_FILE=${{ github.event.inputs.CONFIG_FILE }} - DEFAULT_SOURCE=${{ github.event.inputs.DEFAULT_SOURCE }} - DELETE_USELESS_FILES=${{ github.event.inputs.DELETE_USELESS_FILES }} - echo "CONFIG_FILE=$CONFIG_FILE" >> $GITHUB_ENV - echo "DELETE_USELESS_FILES=$DELETE_USELESS_FILES" >> $GITHUB_ENV - [ ! -f "$GITHUB_WORKSPACE/Configs/$CONFIG_FILE" ] && { - echo "Config_File: [/Config/$CONFIG_FILE] is not detected!" - exit 1 - } - export REPO_URL="https://github.com/$(echo $DEFAULT_SOURCE | cut -d \: -f 1)" - export REPO_BRANCH=$(echo $DEFAULT_SOURCE | cut -d \: -f 2) - [ -z $REPO_BRANCH ] && REPO_BRANCH=master - echo "REPO_URL=$REPO_URL" >> $GITHUB_ENV - echo "REPO_BRANCH=$REPO_BRANCH" >> $GITHUB_ENV - echo "Compile_Date=$(date +%Y%m%d%H%M)" > $GITHUB_WORKSPACE/Openwrt.info - echo "Display_Date=$(date +%Y/%m/%d)" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Before_IP_Address=${{ github.event.inputs.IP }}" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Openwrt_Repository=$REPO_URL" >> $GITHUB_WORKSPACE/Openwrt.info - echo "Artifacts_Date=$(date +%m%d%H%M)" >> $GITHUB_ENV - - - name: Initialization Environment - env: - DEBIAN_FRONTEND: noninteractive - run: | - sudo -E apt-get update - sudo -E apt-get -y install build-essential cmake asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib g++-multilib p7zip p7zip-full msmtp libssl-dev texinfo libreadline-dev libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint ccache curl wget vim nano python2.7 python3 python3-pip python3-ply haveged lrzsz device-tree-compiler scons antlr3 gperf intltool mkisofs rsync - sudo timedatectl set-timezone "Asia/Shanghai" - sudo mkdir -p /workdir - sudo chown $USER:$GROUPS /workdir - if [ "$DELETE_USELESS_FILES" == true ];then - docker rmi $(docker images -q) - sudo rm -rf /usr/share/dotnet /etc/mysql /etc/php - sudo -E apt-get -y autoremove --purge - sudo -E apt-get clean - fi - - - name: Clone Openwrt Source Code - run: | - git clone -b $REPO_BRANCH $REPO_URL openwrt - ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt - cd openwrt - ./scripts/feeds update -a - ./scripts/feeds install -a > /dev/null 2>&1 - - - name: Run AutoBuild_DiyScript.sh - run: | - chmod +x Scripts/AutoBuild_*.sh - cp $GITHUB_WORKSPACE/Configs/$CONFIG_FILE openwrt/.config - cd openwrt - make defconfig > /dev/null 2>&1 - source $GITHUB_WORKSPACE/Scripts/AutoBuild_DiyScript.sh - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh - Firmware-Diy_Main - source $GITHUB_WORKSPACE/openwrt/VARIABLE_FILE && Firmware-Diy - rm -f .config && cp $GITHUB_WORKSPACE/Configs/$CONFIG_FILE .config - - - name: SSH Connection to Actions - uses: P3TERX/ssh2actions@v1.0.0 - if: (github.event.inputs.SSH == 'true' && github.event.inputs.SSH != 'false') || contains(github.event.action, 'SSH') - env: - TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} - TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} - - - name: Compile - run: | - export Compile_Result=false - cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_Other - rm -rf ./tmp && ./scripts/feeds install -a > /dev/null 2>&1 - make defconfig - make download -j$(nproc) - make -j$(nproc) || make -j1 V=s - [ $? == 0 ] && echo "Compile_Result=true" >> $GITHUB_ENV - - - name: Process Firmware - if: env.Compile_Result == 'true' && !cancelled() - run: | - cd openwrt - source $GITHUB_WORKSPACE/Scripts/AutoBuild_Function.sh && Firmware-Diy_End - - - name: Upload Firmware to Artifacts - uses: actions/upload-artifact@main - if: env.UPLOAD_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() - with: - name: ${{ env.REPO_BRANCH }}_firmware_${{ env.Artifacts_Date }} - path: openwrt/bin/Firmware - - - name: Upload bin to Artifacts - uses: actions/upload-artifact@main - if: env.UPLOAD_BIN_ARTIFACTS == 'true' && env.Compile_Result == 'true' && !cancelled() - with: - name: ${{ env.REPO_BRANCH }}_bin_${{ env.Artifacts_Date }} - path: openwrt/bin - - - name: Upload Firmware to Github Release - uses: svenstaro/upload-release-action@v2 - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: openwrt/bin/Firmware/* - file_glob: true - tag: AutoUpdate - overwrite: true - - - name: Download Github Release API - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() - run: | - wget https://api.github.com/repos/${{github.repository}}/releases/tags/AutoUpdate -O API - - - name: Upload API to Github Release - if: env.UPLOAD_RELEASES == 'true' && env.Compile_Result == 'true' && !cancelled() - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ./API - file_glob: true - tag: AutoUpdate - overwrite: true - - - name: Delete old Workflow Runs - uses: GitRML/delete-workflow-runs@main - if: env.DELETE_OLD_WORKFLOW == 'true' && !cancelled() - with: - retain_days: 1 - keep_minimum_runs: 3 diff --git a/.github/workflows/Module_Synchronise_Fork.yml b/.github/workflows/Module_Synchronise_Fork.yml index bdffbd1..d001c60 100644 --- a/.github/workflows/Module_Synchronise_Fork.yml +++ b/.github/workflows/Module_Synchronise_Fork.yml @@ -12,7 +12,7 @@ on: workflow_dispatch: inputs: sync_mode: - description: '同步上游所有内容' + description: '确认同步上游所有内容' default: 'false' env: diff --git a/CustomFiles/Depends/Custom_Variable b/CustomFiles/Depends/Custom_Variable deleted file mode 100755 index 073cbfe..0000000 --- a/CustomFiles/Depends/Custom_Variable +++ /dev/null @@ -1,4 +0,0 @@ -## 请在下方输入你的自定义变量,一行只填写一个 -## 该文件将在运行 AutoUpdate.sh 时被读取,变量的优先级将高于 Default_Variable 中的变量 -## 示例1: TARGET_PROFILE=x86_64 -## 示例2: Github=https://github.com/Hyy2001X/AutoBuild-Actions diff --git a/CustomFiles/Depends/DRM-I915 b/CustomFiles/Depends/DRM-I915 deleted file mode 100755 index 49c749f..0000000 --- a/CustomFiles/Depends/DRM-I915 +++ /dev/null @@ -1,5 +0,0 @@ -CONFIG_64BIT=y -CONFIG_DRM=y -CONFIG_DRM_I915=y -CONFIG_DRM_I915_GVT=y -CONFIG_DUMMY_CONSOLE=y diff --git a/CustomFiles/Depends/base-files-essential b/CustomFiles/Depends/base-files-essential index 154c72a..63a9891 100755 --- a/CustomFiles/Depends/base-files-essential +++ b/CustomFiles/Depends/base-files-essential @@ -10,4 +10,4 @@ /etc/rc.local /etc/AutoBuild/Custom_Variable /etc/docker/daemon.json - +/.uuplugin_uuid diff --git a/CustomFiles/mac80211_d-team_newifi-d2.patch b/CustomFiles/d-team_newifi-d2_mac80211.patch old mode 100755 new mode 100644 similarity index 100% rename from CustomFiles/mac80211_d-team_newifi-d2.patch rename to CustomFiles/d-team_newifi-d2_mac80211.patch diff --git a/CustomFiles/system_d-team_newifi-d2 b/CustomFiles/d-team_newifi-d2_system old mode 100755 new mode 100644 similarity index 100% rename from CustomFiles/system_d-team_newifi-d2 rename to CustomFiles/d-team_newifi-d2_system diff --git a/Scripts/AutoBuild_DiyScript.sh b/Scripts/AutoBuild_DiyScript.sh index 5d1f57e..c257732 100755 --- a/Scripts/AutoBuild_DiyScript.sh +++ b/Scripts/AutoBuild_DiyScript.sh @@ -2,53 +2,75 @@ # AutoBuild Module by Hyy2001 # AutoBuild DiyScript -Diy_Core() { +Firmware_Diy_Core() { - Author=Hyy2001 - Banner_Title="Powered by AutoBuild-Actions" - Default_LAN_IP=192.168.1.1 + Author=AUTO + Author_URL=AUTO + Default_IP="192.168.1.1" + Banner_Message="Powered by AutoBuild-Actions" - Load_CustomPackages_List=true Short_Firmware_Date=true Checkout_Virtual_Images=false - Firmware_Format=false + Firmware_Format=AUTO REGEX_Skip_Checkout="packages|buildinfo|sha256sums|manifest|kernel|rootfs|factory" INCLUDE_AutoBuild_Features=true INCLUDE_DRM_I915=true - INCLUDE_Obsolete_PKG_Compatible=false + INCLUDE_Original_OpenWrt_Compatible=false } -Firmware-Diy() { +Firmware_Diy() { - # 部分可调用变量如下 - # OP_Maintainer 源码作者 - # OP_REPO_NAME 仓库名称 - # OP_BRANCH 源码分支 - # TARGET_PROFILE 设备名称 - # TARGET_BOARD 设备架构 + # 请在该函数内定制固件, 建议使用专业文本编辑器进行修改 - # CustomFiles 仓库 /CustomFiles 绝对路径 - # Scripts 仓库 /Scripts 绝对路径 - # Home 源码存放绝对路径,等同 ${GITHUB_WORKSPACE}/openwrt - # feeds_luci 绝对路径,等同 ${GITHUB_WORKSPACE}/openwrt/package/feeds/luci - # feeds_pkgs 绝对路径,等同 ${GITHUB_WORKSPACE}/openwrt/package/feeds/packages - # base_files 绝对路径,等同 ${GITHUB_WORKSPACE}/openwrt/package/base-files/files + # 可用预设变量, 其他可用变量请参考运行日志 + # ${OP_AUTHOR} OpenWrt 源码作者 + # ${OP_REPO} OpenWrt 仓库名称 + # ${OP_BRANCH} OpenWrt 源码分支 + # ${TARGET_PROFILE} 设备名称, 例如: d-team_newifi-d2 + # ${TARGET_BOARD} 设备架构, 例如: ramips - case "${OP_Maintainer}/${OP_REPO_NAME}:${OP_BRANCH}" in + # ${Home} OpenWrt 源码位置 + # ${FEEDS_CONF} [feeds.conf.default] 文件 + # ${CustomFiles} 仓库中的 /CustomFiles 绝对路径 + # ${Scripts} 仓库中的 /Scripts 绝对路径 + # ${FEEDS_LUCI} OpenWrt 源码目录下的 package/feeds/luci + # ${FEEDS_PKG} OpenWrt 源码目录下的 package/feeds/packages + # ${BASE_FILES} 俗称替换大法的路径, 位于 package/base-files/files + + case "${OP_AUTHOR}/${OP_REPO}:${OP_BRANCH}" in coolsnowwolf/lede:master) - sed -i "s?/bin/login?/usr/libexec/login.sh?g" ${feeds_pkgs}/ttyd/files/ttyd.config + sed -i "s?/bin/login?/usr/libexec/login.sh?g" ${FEEDS_PKG}/ttyd/files/ttyd.config AddPackage git lean luci-theme-argon jerrykuku 18.06 AddPackage git lean luci-app-argon-config jerrykuku master + AddPackage git other AutoBuild-Packages Hyy2001X master + AddPackage svn other luci-app-smartdns kenzok8/openwrt-packages/trunk + AddPackage svn other luci-app-socat Lienol/openwrt-package/trunk + AddPackage svn other luci-app-eqos kenzok8/openwrt-packages/trunk + AddPackage git other OpenClash vernesong master + # AddPackage git other OpenAppFilter destan19 master + # AddPackage svn other luci-app-ddnsto linkease/nas-packages/trunk/luci + # AddPackage svn other ddnsto linkease/nas-packages/trunk/network/services + + case "${TARGET_PROFILE}" in + d-team_newifi-d2) + patch -i ${CustomFiles}/${TARGET_PROFILE}_mac80211.patch package/kernel/mac80211/files/lib/wifi/mac80211.sh + Copy ${CustomFiles}/${TARGET_PROFILE}_system ${BASE_FILES}/etc/config system + sed -i "/DEVICE_COMPAT_VERSION := 1.1/d" target/linux/ramips/image/mt7621.mk + AddPackage git other luci-app-usb3disable rufengsuixing master + ;; + x86_64) + cat >> ${Version_File} < -# AutoBuild ExtraPackages - -# 推荐使用的 case 判断参数: -# OP_Maintainer Openwrt 源码作者,例如 [coolsnowwolf] [openwrt] [lienol/Lienol] [immortalwrt] -# OP_REPO_NAME Openwrt 仓库名称,例如 [lede] [openwrt] [immortalwrt] -# OP_BRANCH Openwrt 源码分支,例如 [master] [main] [openwrt-21.02] [v21.02.0-rc3] ... -# TARGET_PROFILE 设备名称,例如 [asus_rt-acrh17] [d-team_newifi-d2] [redmi_ax6] ... -# TARGET_BOARD 设备架构,例如 [x86] [ramips] [ipq807x] [ath79] ... -# -# [git] AddPackage git 存放位置 仓库名称 仓库作者 分支 -# [svn] AddPackage svn 存放位置 软件包名 仓库作者/仓库名称/branches/分支/路径(可选) - -## e.g. 当前使用源码为 coolsnowwolf/lede:master 时添加下列软件包 -case "${OP_Maintainer}/${OP_REPO_NAME}:${OP_BRANCH}" in -coolsnowwolf/lede:master) - AddPackage git other AutoBuild-Packages Hyy2001X master - AddPackage svn other luci-app-smartdns kenzok8/openwrt-packages/trunk - AddPackage svn other luci-app-socat Lienol/openwrt-package/trunk - AddPackage svn other luci-app-eqos kenzok8/openwrt-packages/trunk - AddPackage git other OpenClash vernesong master - # AddPackage git other OpenAppFilter destan19 master - # AddPackage svn other luci-app-ddnsto linkease/nas-packages/trunk/luci - # AddPackage svn other ddnsto linkease/nas-packages/trunk/network/services - - case "${TARGET_PROFILE}" in - asus_rt-acrh17 | d-team_newifi-d2) - AddPackage git other luci-app-usb3disable rufengsuixing master - ;; - x86_64) - AddPackage git other openwrt-passwall xiaorouji main - rm -rf packages/lean/autocore - AddPackage git lean autocore-modify Hyy2001X master - ;; - esac -;; -esac \ No newline at end of file diff --git a/Scripts/AutoBuild_Function.sh b/Scripts/AutoBuild_Function.sh index e9b2d75..d44b356 100755 --- a/Scripts/AutoBuild_Function.sh +++ b/Scripts/AutoBuild_Function.sh @@ -2,127 +2,150 @@ # AutoBuild Module by Hyy2001 # AutoBuild Functions -Firmware-Diy_Before() { - ECHO "[Firmware-Diy_Before] Start ..." - CD ${GITHUB_WORKSPACE}/openwrt - Diy_Core +Firmware_Diy_Before() { + ECHO "[Firmware_Diy_Before] Starting ..." Home="${GITHUB_WORKSPACE}/openwrt" - [[ -f ${GITHUB_WORKSPACE}/Openwrt.info ]] && source ${GITHUB_WORKSPACE}/Openwrt.info + CONFIG_TEMP="${GITHUB_WORKSPACE}/openwrt/.config" + CD ${Home} + Firmware_Diy_Core [[ ${Short_Firmware_Date} == true ]] && Compile_Date="$(echo ${Compile_Date} | cut -c1-8)" - Author_Repository="$(grep "https://github.com/[a-zA-Z0-9]" ${GITHUB_WORKSPACE}/.git/config | cut -c8-100 | sed 's/^[ \t]*//g')" - [[ -z ${Author} ]] && Author="$(echo "${Author_Repository}" | cut -d "/" -f4)" - OP_Maintainer="$(echo "${Openwrt_Repository}" | cut -d "/" -f4)" - OP_REPO_NAME="$(echo "${Openwrt_Repository}" | cut -d "/" -f5)" + Github="$(grep "https://github.com/[a-zA-Z0-9]" ${GITHUB_WORKSPACE}/.git/config | cut -c8-100 | sed 's/^[ \t]*//g')" + [[ -z ${Author} || ${Author} == AUTO ]] && Author="$(echo "${Github}" | cut -d "/" -f4)" + OP_AUTHOR="$(echo "${REPO_URL}" | cut -d "/" -f4)" + OP_REPO="$(echo "${REPO_URL}" | cut -d "/" -f5)" OP_BRANCH="$(GET_Branch)" - if [[ ${OP_BRANCH} == master || ${OP_BRANCH} == main ]];then - Openwrt_Version_Head="R$(date +%y.%m)-" + if [[ ${OP_BRANCH} =~ (master|main) ]] + then + OP_VERSION_HEAD="R$(date +%y.%m)-" else OP_BRANCH="$(echo ${OP_BRANCH} | egrep -o "[0-9]+.[0-9]+")" - Openwrt_Version_Head="R${OP_BRANCH}-" + OP_VERSION_HEAD="R${OP_BRANCH}-" fi - case "${OP_Maintainer}/${OP_REPO_NAME}" in + case "${OP_AUTHOR}/${OP_REPO}" in coolsnowwolf/lede) - Version_File=package/lean/default-settings/files/zzz-default-settings + Version_File="package/lean/default-settings/files/zzz-default-settings" zzz_Default_Version="$(egrep -o "R[0-9]+\.[0-9]+\.[0-9]+" ${Version_File})" - CURRENT_Version="${zzz_Default_Version}-${Compile_Date}" + OP_VERSION="${zzz_Default_Version}-${Compile_Date}" ;; immortalwrt/immortalwrt) - Version_File=${base_files}/etc/openwrt_release - CURRENT_Version="${Openwrt_Version_Head}${Compile_Date}" + Version_File=${BASE_FILES}/etc/openwrt_release + OP_VERSION="${OP_VERSION_HEAD}${Compile_Date}" ;; *) - CURRENT_Version="${Openwrt_Version_Head}${Compile_Date}" + OP_VERSION="${OP_VERSION_HEAD}${Compile_Date}" ;; esac while [[ -z ${x86_Test} ]];do - x86_Test="$(egrep -o "CONFIG_TARGET.*DEVICE.*=y" .config | sed -r 's/CONFIG_TARGET_(.*)_DEVICE_(.*)=y/\1/')" + x86_Test="$(egrep -o "CONFIG_TARGET.*DEVICE.*=y" ${CONFIG_TEMP} | sed -r 's/CONFIG_TARGET_(.*)_DEVICE_(.*)=y/\1/')" [[ -n ${x86_Test} ]] && break - x86_Test="$(egrep -o "CONFIG_TARGET.*Generic=y" .config | sed -r 's/CONFIG_TARGET_(.*)_Generic=y/\1/')" + x86_Test="$(egrep -o "CONFIG_TARGET.*Generic=y" ${CONFIG_TEMP} | sed -r 's/CONFIG_TARGET_(.*)_Generic=y/\1/')" [[ -z ${x86_Test} ]] && break done [[ ${x86_Test} == x86_64 ]] && { TARGET_PROFILE=x86_64 } || { - TARGET_PROFILE="$(egrep -o "CONFIG_TARGET.*DEVICE.*=y" .config | sed -r 's/.*DEVICE_(.*)=y/\1/')" + TARGET_PROFILE="$(egrep -o "CONFIG_TARGET.*DEVICE.*=y" ${CONFIG_TEMP} | sed -r 's/.*DEVICE_(.*)=y/\1/')" } - [[ -z ${TARGET_PROFILE} ]] && ECHO "Unable to obtain the [TARGET_PROFILE] !" - TARGET_BOARD="$(awk -F '[="]+' '/TARGET_BOARD/{print $2}' .config)" - TARGET_SUBTARGET="$(awk -F '[="]+' '/TARGET_SUBTARGET/{print $2}' .config)" - [[ -z ${Firmware_Format} || ${Firmware_Format} == false ]] && { + [[ -z ${TARGET_PROFILE} ]] && ECHO "Unable to get [TARGET_PROFILE] !" + TARGET_BOARD="$(awk -F '[="]+' '/TARGET_BOARD/{print $2}' ${CONFIG_TEMP})" + TARGET_SUBTARGET="$(awk -F '[="]+' '/TARGET_SUBTARGET/{print $2}' ${CONFIG_TEMP})" + [[ -z ${Firmware_Format} || ${Firmware_Format} =~ (false|AUTO) ]] && { case "${TARGET_BOARD}" in ramips | reltek | ipq40xx | ath79 | ipq807x) Firmware_Format=bin ;; rockchip | x86) - [[ $(cat ${Home}/.config) =~ CONFIG_TARGET_IMAGES_GZIP=y ]] && { - Firmware_Format=img.gz || Firmware_Format=img - } + [[ $(cat ${CONFIG_TEMP}) =~ CONFIG_TARGET_IMAGES_GZIP=y ]] && { + Firmware_Format=img.gz + } || Firmware_Format=img ;; esac } case "${TARGET_BOARD}" in x86) - AutoBuild_Firmware='AutoBuild-${OP_REPO_NAME}-${TARGET_PROFILE}-${CURRENT_Version}-${FW_Boot_Type}-$(Get_SHA256 $1).${Firmware_Format_Defined}' + AutoBuild_Firmware="AutoBuild-${OP_REPO}-${TARGET_PROFILE}-${OP_VERSION}-BOOT-SHA256.FORMAT" ;; *) - AutoBuild_Firmware='AutoBuild-${OP_REPO_NAME}-${TARGET_PROFILE}-${CURRENT_Version}-$(Get_SHA256 $1).${Firmware_Format_Defined}' + AutoBuild_Firmware="AutoBuild-${OP_REPO}-${TARGET_PROFILE}-${OP_VERSION}-SHA256.FORMAT" ;; esac - cat >> ${Home}/VARIABLE_Main <> ${Home}/VARIABLE_FILE <> ${GITHUB_ENV} <> ${Home}/VARIABLE_FILE - echo -e "### SYS-VARIABLE LIST ###\n$(cat ${Home}/VARIABLE_FILE)\n" - ECHO "[Firmware-Diy_Before] Done." + source ${GITHUB_ENV} + echo -e "### VARIABLE LIST ###\n$(cat ${GITHUB_ENV})\n" + ECHO "[Firmware_Diy_Before] Done" } -Firmware-Diy_Main() { - Firmware-Diy_Before - ECHO "[Firmware-Diy_Main] Start ..." +Firmware_Diy_Main() { + Firmware_Diy_Before + ECHO "[Firmware_Diy_Main] Starting ..." CD ${Home} - source ${Home}/VARIABLE_FILE chmod +x -R ${Scripts} chmod 777 -R ${CustomFiles} - [[ ${Load_CustomPackages_List} == true ]] && { - bash -n ${Scripts}/AutoBuild_ExtraPackages.sh - [[ ! $? == 0 ]] && ECHO "AutoBuild_ExtraPackages.sh syntax error,skip ..." || { - . ${Scripts}/AutoBuild_ExtraPackages.sh - } - } - if [[ ${INCLUDE_AutoBuild_Features} == true ]];then - MKDIR ${base_files}/etc/AutoBuild - cp ${Home}/VARIABLE_Main ${base_files}/etc/AutoBuild/Default_Variable - Copy ${CustomFiles}/Depends/Custom_Variable ${base_files}/etc/AutoBuild - Copy ${Scripts}/AutoBuild_Tools.sh ${base_files}/bin - Copy ${Scripts}/AutoUpdate.sh ${base_files}/bin + if [[ ${INCLUDE_AutoBuild_Features} == true ]] + then + MKDIR ${BASE_FILES}/etc/AutoBuild + touch ${BASE_FILES}/etc/AutoBuild/Default_Variable ${BASE_FILES}/etc/AutoBuild/Custom_Variable + cat >> ${BASE_FILES}/etc/AutoBuild/Default_Variable <> ${i} <> ${BASE_FILES}/etc/AutoBuild/Custom_Variable <> target/linux/x86/${X}; done + for X in $(ls -1 target/linux/x86 | grep "config-") + do + cat >> ${Home}/target/linux/x86/${X} <> .config <> ${CONFIG_TEMP} < /dev/null 2>&1 AddPackage svn feeds/packages golang coolsnowwolf/packages/trunk/lang ECHO "Starting to convert zh-cn translation files to zh_Hans ..." - cd package && ${Scripts}/Convert_Translation.sh && cd - + cd package && bash ${Scripts}/Convert_Translation.sh && cd - ;; *) - ECHO "[${OP_BRANCH}]: Current Branch is not supported ..." + ECHO "[${OP_BRANCH}]: Current OP_BRANCH is not supported !" ;; esac else - ECHO "[${OP_Maintainer}]: Current Source_Maintainer is not supported ..." + ECHO "[${OP_AUTHOR}]: Current OP_AUTHOR is not supported !" fi fi - cat >> .config <> ${CONFIG_TEMP} < 更新 AutoUpdate.sh 脚本 (使用提供的地址 更新脚本) * 其他参数: - -B, --boot-mode 指定 x86 设备下载 引导的固件 (e.g. UEFI Legacy) + -B, --boot-mode 指定 x86 设备下载 引导的固件 (e.g. UEFI BIOS) -C 更改 Github 地址为提供的 --help 打印 AutoUpdate 帮助信息 --log < | del> <打印 | 删除> AutoUpdate 历史运行日志 @@ -62,7 +62,7 @@ function SHOW_VARIABLE() { cat < /dev/null) ]] && { ECHO r "Github API 请求错误,请检查网络后重试!" @@ -397,29 +395,29 @@ function ANALYZE_API() { for i in $(seq 0 500);do name=$(jsonfilter -i ${API_Cache} -e '@["assets"]' | jsonfilter -e '@['""$i""'].name' 2> /dev/null) [[ ! $? == 0 ]] && break - if [[ ${name} =~ "AutoBuild-${OP_REPO_NAME}-${TARGET_PROFILE}" || ${name} =~ Update_Logs.json ]] + if [[ ${name} =~ "AutoBuild-${OP_REPO}-${TARGET_PROFILE}" || ${name} =~ Update_Logs.json ]] then - format=$(echo ${name} | egrep -o "\-[0-9a-z]{5}.[a-z].+" | egrep -o "\..+" | cut -c2-10) - version=$(echo ${name} | egrep -o "R[0-9.]+-[0-9]+") - url=$(jsonfilter -i ${API_Cache} -e '@["assets"]' | jsonfilter -e '@['""$i""'].browser_download_url' 2> /dev/null) - size=$(jsonfilter -i ${API_Cache} -e '@["assets"]' | jsonfilter -e '@['""$i""'].size' 2> /dev/null | awk '{a=$1/1048576} {printf("%.2f\n",a)}') - date=$(jsonfilter -i ${API_Cache} -e '@["assets"]' | jsonfilter -e '@['""$i""'].updated_at' 2> /dev/null | sed 's/[-:TZ]//g') - count=$(jsonfilter -i ${API_Cache} -e '@["assets"]' | jsonfilter -e '@['""$i""'].download_count' 2> /dev/null) - sha256=$(echo ${name} | egrep -o "\-[a-z0-9]+" | cut -c2-6 | awk 'END{print}') + local format=$(echo ${name} | egrep -o "\-[0-9a-z]{5}.[a-z].+" | egrep -o "\..+" | cut -c2-10) + local version=$(echo ${name} | egrep -o "R[0-9.]+-[0-9]+") + local url=$(jsonfilter -i ${API_Cache} -e '@["assets"]' | jsonfilter -e '@['""$i""'].browser_download_url' 2> /dev/null) + local size=$(jsonfilter -i ${API_Cache} -e '@["assets"]' | jsonfilter -e '@['""$i""'].size' 2> /dev/null | awk '{a=$1/1048576} {printf("%.2f\n",a)}') + local date=$(jsonfilter -i ${API_Cache} -e '@["assets"]' | jsonfilter -e '@['""$i""'].updated_at' 2> /dev/null | sed 's/[-:TZ]//g') + local count=$(jsonfilter -i ${API_Cache} -e '@["assets"]' | jsonfilter -e '@['""$i""'].download_count' 2> /dev/null) + local sha256=$(echo ${name} | egrep -o "\-[a-z0-9]+" | cut -c2-6 | awk 'END{print}') [[ -z ${name} ]] && name="-" [[ -z ${format} ]] && format="-" [[ -z ${version} ]] && version="-" [[ -z ${url} ]] && url="-" - [[ -z ${size} ]] && size="-" + [[ -z ${size} ]] && size="-" || size="${size}MB" [[ -z ${date} ]] && date="-" [[ -z ${count} ]] && count="-" [[ -z ${sha256} ]] && sha256="-" - printf "%-75s %-15s %-5s %-8s %-20s %-10s %-15s %s\n" ${name} ${format} ${count} ${sha256} ${version} ${date} ${size}MB ${url} | egrep -v "${REGEX_Format}" >> ${API_File} + printf "%-75s %-15s %-5s %-8s %-20s %-10s %-15s %s\n" ${name} ${format} ${count} ${sha256} ${version} ${date} ${size} ${url} | egrep -v "${REGEX_Format}" >> ${API_File} fi done unset i - } - [[ -z $(cat ${API_File} 2> /dev/null) ]] && { + fi + [[ ! -s ${API_File} ]] && { ECHO r "Github API 解析内容为空!" return 1 } @@ -433,7 +431,7 @@ function GET_CLOUD_LOG() { } case "$1" in [Ll]ocal) - Version="${CURRENT_Version}" + Version="${OP_VERSION}" ;; [Cc]loud) Version="$(GET_FW_INFO 5)" @@ -462,10 +460,10 @@ function GET_FW_INFO() { return 1 } if [[ $1 == "-a" ]];then - Info=$(grep "AutoBuild-${OP_REPO_NAME}-${TARGET_PROFILE}" ${API_File} | grep "${x86_Boot}" | uniq) + Info=$(grep "AutoBuild-${OP_REPO}-${TARGET_PROFILE}" ${API_File} | grep "${x86_Boot_Method}" | uniq) shift else - Info=$(grep "AutoBuild-${OP_REPO_NAME}-${TARGET_PROFILE}" ${API_File} | grep "${x86_Boot}" | awk 'BEGIN {MAX = 0} {if ($6+0 > MAX+0) {MAX=$6 ;content=$0} } END {print content}') + Info=$(grep "AutoBuild-${OP_REPO}-${TARGET_PROFILE}" ${API_File} | grep "${x86_Boot_Method}" | awk 'BEGIN {MAX = 0} {if ($6+0 > MAX+0) {MAX=$6 ;content=$0} } END {print content}') fi Result="$(echo "${Info}" | awk '{print $"'${1}'"}' 2> /dev/null)" case $1 in @@ -588,12 +586,12 @@ function UPGRADE() { ECHO r "云端固件信息获取失败!" EXIT 2 } - [[ ${CLOUD_FW_Version} == ${CURRENT_Version} ]] && { + [[ ${CLOUD_FW_Version} == ${OP_VERSION} ]] && { CURRENT_Type="${Yellow} [已是最新]${White}" Upgrade_Stopped=1 } || { - [[ $(echo ${CLOUD_FW_Version} | cut -d "-" -f2) -gt $(echo ${CURRENT_Version} | cut -d "-" -f2) ]] && CURRENT_Type="${Green} [可更新]${White}" - [[ $(echo ${CLOUD_FW_Version} | cut -d "-" -f2) -lt $(echo ${CURRENT_Version} | cut -d "-" -f2) ]] && { + [[ $(echo ${CLOUD_FW_Version} | cut -d "-" -f2) -gt $(echo ${OP_VERSION} | cut -d "-" -f2) ]] && CURRENT_Type="${Green} [可更新]${White}" + [[ $(echo ${CLOUD_FW_Version} | cut -d "-" -f2) -lt $(echo ${OP_VERSION} | cut -d "-" -f2) ]] && { CHECKED_Type="${Red} [旧版本]${White}" Upgrade_Stopped=2 } @@ -602,16 +600,16 @@ function UPGRADE() { 设备名称: ${TARGET_PROFILE} 内核版本: $(uname -sr) -$([[ ${TARGET_BOARD} == x86 ]] && echo "固件格式: ${CLOUD_FW_Format} / ${x86_Boot}" || echo "固件格式: ${CLOUD_FW_Format}") +$([[ ${TARGET_BOARD} == x86 ]] && echo "固件格式: ${CLOUD_FW_Format} / ${x86_Boot_Method}" || echo "固件格式: ${CLOUD_FW_Format}") -$(echo -e "当前固件版本: ${CURRENT_Version}${CURRENT_Type}") +$(echo -e "当前固件版本: ${OP_VERSION}${CURRENT_Type}") $(echo -e "云端固件版本: ${CLOUD_FW_Version}${CHECKED_Type}") 云端固件名称: ${CLOUD_FW_Name} 云端固件体积: ${CLOUD_FW_Size} 固件下载次数: ${CLOUD_FW_Count} EOF - LOGGER "当前版本: ${CURRENT_Version}" + LOGGER "当前版本: ${OP_VERSION}" LOGGER "云端版本: ${CLOUD_FW_Version}" LOGGER "云端固件名称: ${CLOUD_FW_Name}" LOGGER "云端固件体积: ${CLOUD_FW_Size}" @@ -652,10 +650,10 @@ EOF else LOGGER "跳过 SHA256 校验 ..." fi - case "${Firmware_Format}" in + case "${CLOUD_FW_Format}" in img.gz) if [[ ${Decompress_Mode} == 1 ]];then - ECHO "正在解压 [${Firmware_Format}] 固件 ..." + ECHO "正在解压 [${CLOUD_FW_Format}] 固件 ..." gzip -d -q -f -c ${Firmware_Path}/${CLOUD_FW_Name} > ${Firmware_Path}/$(echo ${CLOUD_FW_Name} | sed -r 's/(.*).gz/\1/') [[ ! $? == 0 ]] && { ECHO r "固件解压失败!" @@ -1090,7 +1088,7 @@ function AutoUpdate_Main() { ;; -V) shift - [[ -z $* ]] && echo "${CURRENT_Version}" && EXIT 0 + [[ -z $* ]] && echo "${OP_VERSION}" && EXIT 0 case "$1" in [Cc]loud) shift @@ -1206,11 +1204,10 @@ ENV_DEPENDS=( TARGET_PROFILE TARGET_BOARD TARGET_SUBTARGET - Firmware_Format - CURRENT_Version - OP_Maintainer + OP_VERSION + OP_AUTHOR OP_BRANCH - OP_REPO_NAME + OP_REPO ) DOWNLOADERS="wget-ssl curl wget uclient-fetch" REGEX_Format=".vdi|.vhdx|.vmdk|kernel|rootfs|factory" diff --git a/Scripts/Sync.sh b/Scripts/Sync.sh index a2b10f1..697d4ae 100755 --- a/Scripts/Sync.sh +++ b/Scripts/Sync.sh @@ -1,22 +1,21 @@ #!/bin/bash # AutoBuild Module by Hyy2001 -# Thanks 281677160 and TobKed/github-forks-sync-action.git +# Thanks to 281677160 and TobKed # Sync # 上游仓库与分支 INPUT_UPSTREAM_REPOSITORY=Hyy2001X/AutoBuild-Actions INPUT_UPSTREAM_BRANCH=master -# 文件同步列表,按需修改 +# 需要文件的同步列表, 按需修改 Sync_List=( # .github/workflows/* # Configs/* CustomFiles/Depends/* CustomFiles/Patches/* - CustomFiles/mac80211_d-team_newifi-d2.patch - CustomFiles/system_d-team_newifi-d2 + CustomFiles/d-team_newifi-d2_mac80211.patch + CustomFiles/d-team_newifi-d2_system # Scripts/AutoBuild_DiyScript.sh - # Scripts/AutoBuild_ExtraPackages.sh # Scripts/Sync.sh Scripts/AutoBuild_Function.sh Scripts/AutoUpdate.sh