Skip to content

Build ImmortalWrt for N1 #8

Build ImmortalWrt for N1

Build ImmortalWrt for N1 #8

Workflow file for this run

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.10.200
账户: 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