Build ImmortalWrt for N1 #6
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 ImmortalWrt for N1 | |
on: | |
workflow_dispatch: | |
inputs: | |
ssh: | |
description: 'SSH connection to Actions' | |
required: false | |
default: 'false' | |
schedule: | |
- cron: "0 0 1,16 * *" | |
env: | |
REPO_URL: https://github.com/immortalwrt/immortalwrt | |
REPO_BRANCH: openwrt-23.05 | |
CONFIG_FILE: N1/.config | |
DIY_SH: N1/diy.sh | |
FILES: N1/files | |
TZ: Asia/Shanghai | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@main | |
- name: Free up space | |
uses: jlumbroso/free-disk-space@main | |
with: | |
tool-cache: false | |
android: true | |
dotnet: true | |
haskell: true | |
large-packages: true | |
docker-images: true | |
swap-storage: true | |
- 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 mkdir -p /workdir | |
sudo chown $USER:$GROUPS /workdir | |
- name: Clone source code | |
working-directory: /workdir | |
run: | | |
git clone $REPO_URL -b $REPO_BRANCH --single-branch --depth=1 openwrt | |
ln -sf /workdir/openwrt $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: Package armsr as openwrt | |
if: ${{ env.compile_status }} == 'success' && !cancelled() | |
uses: unifreq/openwrt_packit@master | |
env: | |
OPENWRT_ARMVIRT: openwrt/bin/targets/*/*/*.tar.gz | |
KERNEL_VERSION_NAME: 5.15.158 | |
KERNEL_AUTO_LATEST: false | |
PACKAGE_SOC: diy | |
GZIP_IMGS: .xz | |
SCRIPT_DIY_PATH: N1/mk_s905d_n1.sh | |
WHOAMI: nantayo | |
SW_FLOWOFFLOAD: 0 | |
SFE_FLOW: 0 | |
ENABLE_WIFI_K510: 0 | |
- name: Upload firmware to release | |
uses: softprops/action-gh-release@master | |
if: ${{ env.PACKAGED_STATUS == 'success' }} && !cancelled() | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: OpenWrt_${{ env.PACKAGED_OUTPUTDATE }} | |
files: ${{ env.PACKAGED_OUTPUTPATH }}/*.img.xz | |
body: | | |
首次使用建议全新刷写 | |
* 基本信息 | |
IP: 192.168.2.2 | |
账户: root | |
密码: password | |
- name: Delete old releases | |
uses: dev-drprasad/delete-older-releases@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
keep_latest: 2 | |
delete_tags : true |