From d1257c968e167af231263155f490024998d84d15 Mon Sep 17 00:00:00 2001 From: ling <1042585959@qq.com> Date: Tue, 23 May 2023 15:51:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/x86-x64-5.x-test.yml | 206 ++++++++++++++++++ ...{x86-x64-test.yml => x86-x64-6.x-test.yml} | 17 +- 2 files changed, 214 insertions(+), 9 deletions(-) create mode 100644 .github/workflows/x86-x64-5.x-test.yml rename .github/workflows/{x86-x64-test.yml => x86-x64-6.x-test.yml} (91%) diff --git a/.github/workflows/x86-x64-5.x-test.yml b/.github/workflows/x86-x64-5.x-test.yml new file mode 100644 index 00000000..86343d30 --- /dev/null +++ b/.github/workflows/x86-x64-5.x-test.yml @@ -0,0 +1,206 @@ +#================================================= +# https://github.com/P3TERX/Actions-OpenWrt +# Description: Build OpenWrt using GitHub Actions +# Lisence: MIT +# Author: P3TERX +# Blog: https://p3terx.com +#================================================= + +name: x86-x64-5.x-测试版 + +on: + repository_dispatch: + workflow_dispatch: + # schedule: + # - cron: 0 17 * * * + # watch: + # types: started + +env: + REPO_URL: https://github.com/xiaoxifu64/lede + REPO_BRANCH: master + CONFIG_FILE: configs/lean/test.config + DIY_SH: scripts/simplify.sh + KMODS_IN_FIRMWARE: true + UPLOAD_WETRANSFER: false #上传到WeTransfer + UPLOAD_RELEASE: true + TZ: Asia/Shanghai + +jobs: + Build: + runs-on: self-hosted + outputs: + OPENWRTROOT: ${{ steps.update.outputs.OPENWRTROOT }} + PLATFORM: ${{ steps.compile.outputs.PLATFORM }} + TARGET: ${{ steps.compile.outputs.TARGET }} + SUBTARGET: ${{ steps.compile.outputs.SUBTARGET }} + FIRMWARE: ${{ steps.compile.outputs.FIRMWARE }} + GENERATE_STATUS: ${{ steps.generate.outputs.GENERATE_STATUS }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Clone Source Code + run: | + df -hT $PWD + git clone $REPO_URL -b $REPO_BRANCH openwrt + + - name: Update Feeds + id: update + run: | + cd openwrt + echo "OPENWRTROOT=$PWD" >> $GITHUB_ENV + echo "OPENWRTROOT=$PWD" >> $GITHUB_OUTPUT + mkdir customfeeds + git clone --depth=1 https://github.com/DHDAXCW/packages customfeeds/packages + git clone --depth=1 https://github.com/DHDAXCW/luci customfeeds/luci + chmod +x ../scripts/*.sh + ../scripts/hook-feeds.sh + + - name: Install Feeds + run: | + cd $OPENWRTROOT + ./scripts/feeds install -a + + - name: Load Custom Configuration + run: | + [ -e files ] && mv files $OPENWRTROOT/files + [ -e $CONFIG_FILE ] && mv $CONFIG_FILE $OPENWRTROOT/.config + chmod +x scripts/*.sh + cd $OPENWRTROOT + ../$DIY_SH + ../scripts/preset-clash-core.sh amd64 + ../scripts/preset-terminal-tools.sh + make defconfig + + - name: Download Package + id: package + run: | + cd $OPENWRTROOT + cat .config + make download -j50 + find dl -size -1024c -exec ls -l {} \; + find dl -size -1024c -exec rm -f {} \; + + - name: Compile Packages + id: compile + run: | + cd $OPENWRTROOT + echo -e "$(nproc) thread compile" + make tools/compile -j1 V=s + make toolchain/compile -j1 V=s + make target/compile -j1 V=s + make diffconfig + make package/compile -j1 V=s + make package/index + cd $OPENWRTROOT/bin/packages/* + PLATFORM=$(basename `pwd`) + echo "PLATFORM=$PLATFORM" >> $GITHUB_ENV + echo "PLATFORM=$PLATFORM" >> $GITHUB_OUTPUT + cd $OPENWRTROOT/bin/targets/* + TARGET=$(basename `pwd`) + echo "TARGET=$TARGET" >> $GITHUB_ENV + echo "TARGET=$TARGET" >> $GITHUB_OUTPUT + cd * + SUBTARGET=$(basename `pwd`) + echo "SUBTARGET=$SUBTARGET" >> $GITHUB_ENV + echo "SUBTARGET=$SUBTARGET" >> $GITHUB_OUTPUT + echo "FIRMWARE=$PWD" >> $GITHUB_ENV + echo "FIRMWARE=$PWD" >> $GITHUB_OUTPUT + echo "COMPILE_STATUS=success" >> $GITHUB_OUTPUT + + - name: Generate Firmware + if: steps.compile.outputs.COMPILE_STATUS == 'success' + id: generate + run: | + cd configs/opkg + sed -i "s/subtarget/$SUBTARGET/g" distfeeds*.conf + sed -i "s/target\//$TARGET\//g" distfeeds*.conf + sed -i "s/platform/$PLATFORM/g" distfeeds*.conf + cd $OPENWRTROOT + mkdir -p files/etc/uci-defaults/ + cp ../scripts/init-settings.sh files/etc/uci-defaults/99-init-settings + mkdir -p files/etc/opkg + cp ../configs/opkg/distfeeds-packages-server.conf files/etc/opkg/distfeeds.conf.server + if "$KMODS_IN_FIRMWARE" = 'true' + then + mkdir -p files/www/snapshots + cp -r bin/targets files/www/snapshots + cp ../configs/opkg/distfeeds-18.06-local.conf files/etc/opkg/distfeeds.conf + else + cp ../configs/opkg/distfeeds-18.06-remote.conf files/etc/opkg/distfeeds.conf + fi + cp files/etc/opkg/distfeeds.conf.server files/etc/opkg/distfeeds.conf.mirror + sed -i "s/http:\/\/192.168.123.100:2345\/snapshots/https:\/\/openwrt.cc\/snapshots\/$(date +"%Y-%m-%d")\/lean/g" files/etc/opkg/distfeeds.conf.mirror + make package/install -j1 V=s + make target/install -j1 V=s + pushd bin/targets/x86/64 + kernelv=`cat openwrt-x86-64-generic.manifest | grep 'kernel - ' | awk -F '[- ]' '{print $4}'` + echo "kernel_version=$kernelv" >> $GITHUB_OUTPUT + rm -rf openwrt-x86-64-generic-kernel.bin + rm -rf openwrt-x86-64-generic-rootfs.tar.gz + rm -rf openwrt-x86-64-generic-squashfs-rootfs.img.gz + rm -rf openwrt-x86-64-generic-squashfs-combined-efi.vmdk + rm -rf openwrt-x86-64-generic.manifest + mv openwrt-x86-64-generic-squashfs-combined-efi.img.gz test-x86-64-squashfs-efi.img.gz + popd + make checksum + mv bin/targets/x86/64/sha256sums bin/targets/x86/64/test-sha256sums + echo "GENERATE_STATUS=success" >> $GITHUB_OUTPUT + + - name: Upload firmware to WeTransfer + id: wetransfer + if: steps.generate.outputs.GENERATE_STATUS == 'success' && env.UPLOAD_WETRANSFER == 'true' && !cancelled() && !failure() + run: | + curl -fsSL git.io/file-transfer | sh + ./transfer wet -s -p 16 --no-progress ${FIRMWARE} 2>&1 | tee wetransfer.log + echo "::warning file=wetransfer.com::$(cat wetransfer.log | grep https)" + echo "::set-output name=url::$(cat wetransfer.log | grep https | cut -f3 -d" ")" + + - name: Generate release tag + id: tag + if: env.UPLOAD_RELEASE == 'true' && !cancelled() + run: | + echo "release_tag=$(date +"%Y.%m.%d")-Lean" >> $GITHUB_OUTPUT + echo "release_date=$(date +"%Y.%m.%d")" >> $GITHUB_OUTPUT + touch release.txt + echo "## 🗒️ 固件信息" >> release.txt + [ $UPLOAD_WETRANSFER = true ] && echo "- 🚀 [点我快速下载](${{ steps.wetransfer.outputs.url }})" >> release.txt + echo "- 🔗 后台地址:192.168.10.1" >> release.txt + echo "- 🔑 后台密码:password" >> release.txt + echo "## 🍻 固件类型" >> release.txt + echo "- 测试版:test" >> release.txt + echo "status=success" >> $GITHUB_OUTPUT + + - name: Upload firmware to release + uses: softprops/action-gh-release@v1 + if: steps.tag.outputs.status == 'success' && !cancelled() + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + name: 📦‍ 固件下载 | x86-64-Linux-${{ steps.generate.outputs.kernel_version }} | ${{ steps.tag.outputs.release_date }} + tag_name: ${{ steps.tag.outputs.release_tag }} + body_path: release.txt + files: ${{ env.FIRMWARE }}/* + + - name: Delete workflow runs + uses: Mattraks/delete-workflow-runs@v2 + with: + retain_days: 1 + keep_minimum_runs: 1 + + - name: Remove old Releases + uses: dev-drprasad/delete-older-releases@v0.2.1 + if: env.UPLOAD_RELEASE == 'true' && !cancelled() + with: + keep_latest: 20 + delete_tags: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Delete Artifacts + uses: geekyeggo/delete-artifact@v2 + with: + name: | + bin-archive diff --git a/.github/workflows/x86-x64-test.yml b/.github/workflows/x86-x64-6.x-test.yml similarity index 91% rename from .github/workflows/x86-x64-test.yml rename to .github/workflows/x86-x64-6.x-test.yml index 0ec7acd0..ad79ae33 100644 --- a/.github/workflows/x86-x64-test.yml +++ b/.github/workflows/x86-x64-6.x-test.yml @@ -17,7 +17,7 @@ on: # types: started env: - REPO_URL: https://github.com/Siriling/lede + REPO_URL: https://github.com/coolsnowwolf/lede REPO_BRANCH: master CONFIG_FILE: configs/lean/test.config DIY_SH: scripts/simplify.sh @@ -88,11 +88,11 @@ jobs: run: | cd $OPENWRTROOT echo -e "$(nproc) thread compile" - make tools/compile -j$(nproc) || make tools/compile -j$(nproc) - make toolchain/compile -j$(nproc) || make toolchain/compile -j$(nproc) - make target/compile -j$(nproc) || make target/compile -j$(nproc) IGNORE_ERRORS=1 + make tools/compile -j1 V=s + make toolchain/compile -j1 V=s + make target/compile -j1 V=s make diffconfig - make package/compile -j$(nproc) IGNORE_ERRORS=1 || make package/compile -j$(nproc) IGNORE_ERRORS=1 + make package/compile -j1 V=s make package/index cd $OPENWRTROOT/bin/packages/* PLATFORM=$(basename `pwd`) @@ -133,8 +133,8 @@ jobs: fi cp files/etc/opkg/distfeeds.conf.server files/etc/opkg/distfeeds.conf.mirror sed -i "s/http:\/\/192.168.123.100:2345\/snapshots/https:\/\/openwrt.cc\/snapshots\/$(date +"%Y-%m-%d")\/lean/g" files/etc/opkg/distfeeds.conf.mirror - make package/install -j$(nproc) || make package/install -j1 V=s - make target/install -j$(nproc) || make target/install -j1 V=s + make package/install -j1 V=s + make target/install -j1 V=s pushd bin/targets/x86/64 kernelv=`cat openwrt-x86-64-generic.manifest | grep 'kernel - ' | awk -F '[- ]' '{print $4}'` echo "kernel_version=$kernelv" >> $GITHUB_OUTPUT @@ -170,8 +170,7 @@ jobs: echo "- 🔗 后台地址:192.168.10.1" >> release.txt echo "- 🔑 后台密码:password" >> release.txt echo "## 🍻 固件类型" >> release.txt - echo "- 完整版:full" >> release.txt - echo "- 精简版:simplify" >> release.txt + echo "- 测试版:test" >> release.txt echo "status=success" >> $GITHUB_OUTPUT - name: Upload firmware to release