Skip to content

ARMv8_Build

ARMv8_Build #1859

Workflow file for this run

name: ARMv8_Build
on:
workflow_dispatch:
repository_dispatch:
# release:
# types: published
schedule:
- cron: 30 23 * * *
watch:
types: started
env:
REPO_URL: https://github.com/coolsnowwolf/lede
REPO_BRANCH: master
FEEDS_CONF: feeds.conf.default
DIY_P1_SH: diy-part1.sh
DIY_P2_SH: diy-part2.sh
MRG_ADD_SH: aarch64/ARMv8.sh
Update_Ver_SH: aarch64/autoVersion.sh
Get_Imgs_SH: aarch64/getImgs.sh
DOCKER_BUILD_SH: buildImage.sh
# SSH_ACTIONS: false
UPLOAD_BIN_DIR: false
UPLOAD_FIRMWARE: false
TZ: Asia/Shanghai
FILE_NAME: ARMv8
PRODUCT_NAME: ARMv8
jobs:
build:
runs-on: ubuntu-20.04
# if: github.event.repository.owner.id == github.event.sender.id
steps:
#- name: WeChat notification
# run: curl https://sc.ftqq.com/${{ secrets.ServerChan }}.send?text=${{ env.FILE_NAME }}开始编译
- name: Checkout
uses: actions/checkout@master
- name: Check server performance
run: |
echo "警告⚠"
echo "若分配的服务器性能不足,务必及时取消,重新运行!"
echo "已知编译成功CPU型号:8370C,8171M"
echo "已知性能不足CPU型号:8272CL"
echo -e "-------------- ------------CPU信息------------------------------------------\n"
echo "CPU物理数量:$(cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l)"
echo -e "CPU核心及版本信息:$(cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c) \n"
echo "-------------------------------内存信息-------------------------------------------"
echo "已安装内存详细信息:"
sudo lshw -short -C memory | grep GiB
echo -e "\n"
echo "-----------------------------硬盘信息---------------------------------------------"
echo -e "硬盘数量:$(ls /dev/sd* | grep -v [1-9] | wc -l) \n"
echo "硬盘详情:"
df -Th
- name: Initialization environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo rm -rf /etc/apt/sources.list.d/* /usr/share/dotnet /usr/local/lib/android /opt/ghc
sudo -E apt-get -qq update
sudo -E apt-get -qq install $(curl -fsSL git.io/depends-ubuntu-1804)
sudo -E apt-get -qq install rename
sudo -E apt-get -qq install pigz
sudo -E apt-get -qq install time
sudo -E apt-get -qq install sshpass
sudo -E apt-get -qq autoremove --purge
sudo -E apt-get -qq clean
sudo timedatectl set-timezone "$TZ"
sudo mkdir -p /workdir
sudo chown $USER:$GROUPS /workdir
- name: Clone source code
working-directory: /workdir
run: |
df -hT $PWD
git clone --depth 1 $REPO_URL -b $REPO_BRANCH openwrt
ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt
cd openwrt
useVersionInfo=$(git show -s --date=short --format="Author: %an<br/>date: %cd<br/>commit: %s<br/>commit hash: %H")
echo "useVersionInfo=$useVersionInfo" >> $GITHUB_ENV
echo "DATE=$(date "+%Y-%m-%d %H:%M:%S")" >> $GITHUB_ENV
echo "DATE1=$(date "+%Y-%m-%d")" >> $GITHUB_ENV
# echo "::set-env name=useVersionInfo::$useVersionInfo"
# echo "::set-env name=DATE::$(date "+%Y-%m-%d %H:%M:%S")"
- name: Build firmware
id: build
run: |
echo $PWD
sudo mkdir /opt/kernel
cd /opt/kernel
sudo wget $(curl -s https://api.github.com/repos/HoldOnBro/Actions-OpenWrt/releases/69472888 | grep browser_download_url | cut -d '"' -f 4)
#sudo cp $GITHUB_WORKSPACE/BuildARMv8/* /opt/kernel/
cd /opt
#sudo cp $GITHUB_WORKSPACE/scripts/patches/*.patch ./
sudo cp $GITHUB_WORKSPACE/scripts/respawn_mks.sh ./
sudo git clone https://github.com/unifreq/openwrt_packit
sudo chmod +x ./respawn_mks.sh
sudo ./respawn_mks.sh
cd /opt/openwrt_packit
sudo wget $(curl -s https://api.github.com/repos/HoldOnBro/Actions-OpenWrt/releases/34554768 | grep browser_download_url | cut -d '"' -f 4)
chmod +x $GITHUB_WORKSPACE/$Update_Ver_SH
sudo $GITHUB_WORKSPACE/$Update_Ver_SH
sudo cp $GITHUB_WORKSPACE/scripts/whoami ./
#sudo ./mk_rk3328_beikeyun.sh
sudo ./mk_rk3328_beikeyun_basic.sh
#sudo ./mk_rk3328_beikeyun_plus.sh
sudo ./mk_rk3328_beikeyun_plusplus.sh
#sudo ./mk_rk3328_l1pro.sh
sudo ./mk_rk3328_l1pro_basic.sh
#sudo ./mk_rk3328_l1pro_plus.sh
sudo ./mk_rk3328_l1pro_plusplus.sh
#sudo ./mk_s905d_n1.sh
sudo ./mk_s905d_n1_basic.sh
#sudo ./mk_s905d_n1_plus.sh
sudo ./mk_s905d_n1_plusplus.sh
#sudo ./mk_s905x2_x96max.sh
#sudo ./mk_s905x2_x96max_basic.sh
#sudo ./mk_s905x2_x96max_plus.sh
#sudo ./mk_s905x3_multi.sh
sudo ./mk_s905x3_multi_basic.sh
#sudo ./mk_s905x3_multi_plus.sh
sudo ./mk_s905x3_multi_plusplus.sh
#sudo ./mk_s912_zyxq.sh
sudo ./mk_s912_zyxq_basic.sh
#sudo ./mk_s912_zyxq_plus.sh
sudo ./mk_s912_zyxq_plusplus.sh
#sudo ./mk_s922x_gtking.sh
sudo ./mk_s922x_gtking_basic.sh
#sudo ./mk_s922x_gtking_plus.sh
sudo ./mk_s922x_gtking_plusplus.sh
#sudo ./mk_h6_vplus.sh
sudo ./mk_h6_vplus_basic.sh
#sudo ./mk_h6_vplus_plus.sh
sudo ./mk_h6_vplus_plusplus.sh
sudo ./mk_rk3568_r68s_basic.sh
sudo ./mk_rk3568_r68s_plusplus.sh
sudo cp ./*AllPackages.tar.gz ./output/
sudo cp ./files/update*.sh ./output/
echo "status=success" >> "$GITHUB_OUTPUT"
- name: Organize files
id: organize
if: steps.build.outputs.status == 'success' && !cancelled()
run: |
cd /opt/openwrt_packit/output
pigz -6 -p $(nproc) *.img
echo "FIRMWARE=$PWD" >> $GITHUB_ENV
echo "status=success" >> "$GITHUB_OUTPUT"
- name: Check performance again
run: |
echo "警告⚠"
echo "若分配的服务器性能不足,务必及时取消,重新运行!"
echo "已知编译成功CPU型号:8370C,8171M"
echo "已知性能不足CPU型号:8272CL"
echo -e "-------------- ------------CPU信息------------------------------------------\n"
echo "CPU物理数量:$(cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l)"
echo -e "CPU核心及版本信息:$(cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c) \n"
echo "-------------------------------内存信息-------------------------------------------"
echo "已安装内存详细信息:"
sudo lshw -short -C memory | grep GiB
echo -e "\n"
echo "-----------------------------硬盘信息---------------------------------------------"
echo -e "硬盘数量:$(ls /dev/sd* | grep -v [1-9] | wc -l) \n"
echo "硬盘详情:"
df -Th
- name: Upload bin directory
uses: actions/upload-artifact@master
if: steps.compile.outputs.status == 'success' && env.UPLOAD_BIN_DIR == 'true'
with:
name: OpenWrt_bin${{ env.DEVICE_NAME }}${{ env.FILE_DATE }}
path: openwrt/bin/targets/*/*/bin.tar.gz
- name: Upload firmware directory
uses: actions/upload-artifact@master
if: env.UPLOAD_FIRMWARE == 'true' && steps.organize.outputs.status == 'success' && !cancelled()
with:
name: OpenWrt_firmware${{ env.DEVICE_NAME }}${{ env.FILE_DATE }}
path: ${{ env.FIRMWARE }}
- name: Create release
id: release
uses: ncipollo/release-action@v1
with:
name: R${{ env.DATE }} for ${{ env.FILE_NAME }}
allowUpdates: true
tag: ${{ env.FILE_NAME }}
commit: master
token: ${{ secrets.RELEASES_TOKEN }}
body: |
升级降级方法统一为:
1. 把 update-xxxxxx-openwrt.sh 及解压后得到的 img 镜像上传至 /mnt/mmcblk2p4
2. `cd /mnt/mmcblk2p4`
3. `chmod 755 update-xxxxxx-openwrt.sh`
4. `./update-xxxxxx-openwrt.sh ./openwrt*.img`
artifacts: ${{ env.FIRMWARE }}/*
- name: Telegram notification
uses: appleboy/telegram-action@master
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
message: |
编译时间:${{ env.DATE }}
lede更新信息:${{ env.useVersionInfo }}
${{ env.PRODUCT_NAME }}打包完成