Build OpenWRT for AX6-NSS #22
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
name: Build OpenWRT for AX6-NSS | |
on: | |
workflow_dispatch: | |
env: | |
REPO_URL: https://github.com/VIKINGYFY/immortalwrt.git | |
REPO_BRANCH: owrt | |
CONFIG_FILE: AX6-IPQ/.config | |
DIY_SH: AX6-IPQ/diy.sh | |
FILES: AX6-IPQ/files | |
TZ: Asia/Shanghai | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check machine configuration | |
run: | | |
echo "警告⚠" | |
echo "分配的服务器性能有限,若选择的插件过多,务必注意CPU性能!" | |
echo "云编译建议取消勾选Node.js及其相关插件!" | |
echo "已知CPU型号(降序):7763,8370C,8272CL,8171M,E5系列" | |
echo "--------------------------CPU信息--------------------------" | |
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: Before freeing up disk space | |
run: | | |
echo "Before freeing up disk space" | |
echo "==============================================================================" | |
df -hT | |
echo "==============================================================================" | |
- name: "Optimize Disk Space" | |
uses: "hugoalh/[email protected]" | |
with: | |
operate_sudo: "True" | |
general_include: ".+" | |
general_exclude: |- | |
^GCC$ | |
^G\+\+$ | |
Clang | |
LLVM | |
docker_include: ".+" | |
docker_prune: "True" | |
docker_clean: "True" | |
apt_prune: "True" | |
apt_clean: "True" | |
homebrew_prune: "True" | |
homebrew_clean: "True" | |
npm_prune: "True" | |
npm_clean: "True" | |
os_swap: "True" | |
- name: Freeing up disk space | |
uses: easimon/maximize-build-space@master | |
with: | |
root-reserve-mb: 10240 | |
swap-size-mb: 1 | |
remove-dotnet: 'true' | |
remove-android: 'true' | |
remove-haskell: 'true' | |
remove-codeql: 'true' | |
remove-docker-images: 'true' | |
- name: Free up disk space complete | |
run: | | |
echo "Free up disk space complete" | |
echo "==============================================================================" | |
df -hT | |
echo "==============================================================================" | |
- name: Checkout | |
uses: actions/checkout@main | |
- name: Initialize environment | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
sudo -E apt-get -qq update -y | |
sudo -E apt-get -qq install -y $(curl -fsSL https://raw.githubusercontent.com/nantayo/My-Pkg/master/2305) | |
sudo -E apt-get -qq autoremove --purge | |
sudo -E apt-get -qq clean | |
sudo timedatectl set-timezone "$TZ" | |
sudo chown $USER:$GROUPS $GITHUB_WORKSPACE | |
- name: Clone source code | |
working-directory: ./ | |
run: | | |
git clone $REPO_URL -b $REPO_BRANCH openwrt | |
- name: cache wrt build | |
uses: stupidloud/cachewrtbuild@main | |
with: | |
ccache: 'true' | |
mixkey: AX6-NSS-${{ env.REPO_BRANCH }} | |
prefix: ${{ github.workspace }}/openwrt | |
- name: Update & Install feeds | |
working-directory: ./openwrt | |
run: | | |
./scripts/feeds update -a | |
./scripts/feeds install -a | |
- name: Load custom config | |
run: | | |
[ -e $FILES ] && mv $FILES openwrt/files | |
[ -e $CONFIG_FILE ] && mv $CONFIG_FILE openwrt/.config | |
chmod +x $DIY_SH | |
cd openwrt | |
$GITHUB_WORKSPACE/$DIY_SH | |
# - name: SSH connect to Actions | |
# uses: P3TERX/ssh2actions@main | |
# if: (github.event.inputs.ssh == 'true') || contains(github.event.action, 'ssh') | |
- name: Download package | |
working-directory: ./openwrt | |
run: | | |
make defconfig | |
make download -j8 | |
find dl -size -1024c -exec ls -l {} \; | |
find dl -size -1024c -exec rm -f {} \; | |
- name: Compile the firmware | |
run: | | |
chmod -R 755 openwrt | |
cd openwrt | |
echo -e "$(nproc) thread compile" | |
make -j$(nproc) || make -j1 || make -j1 V=s | |
echo "compile_status=success" >> $GITHUB_ENV | |
# - name : Upload packages | |
# uses: actions/upload-artifact@master | |
# if: always() | |
# with: | |
# name: AX6-NSS | |
# path: openwrt/bin/targets | |
- name: cp output to upload file | |
run: | | |
df -hT | |
mkdir upload | |
cp openwrt/bin/targets/*/*/*.ubi upload/ | |
cp openwrt/bin/targets/*/*/*.bin upload/ | |
- name: Get Current Date | |
run: echo "CURRENT_DATE=$(date '+%Y%m%d%H%M%S')" >> $GITHUB_ENV | |
- name: Upload OpenWrt Firmware to Release | |
uses: ncipollo/release-action@main | |
with: | |
tag: AX6_NSS_${{ env.CURRENT_DATE }} | |
artifacts: upload/* | |
allowUpdates: true | |
token: ${{ secrets.GITHUB_TOKEN }} | |
body: | | |
基于VIKINGYFY合并的immortalwrt构建 | |
首次使用建议全新刷写 | |
NSS满血加速! | |
* 基本信息 | |
IP: 192.168.1.1 | |
账户: root | |
密码: 空 | |
- name: Delete old releases | |
uses: dev-drprasad/delete-older-releases@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
keep_latest: 10 | |
delete_tags : true |