Skip to content

packit new

packit new #163

Workflow file for this run

name: packit new
on:
repository_dispatch:
workflow_dispatch:
inputs:
ssh:
description: 'SSH connection to Actions'
required: false
default: 'false'
set_54x:
description: "KERNEL: 5.4.x / none"
required: false
default: "none"
set_510x:
description: "KERNEL: 5.10.x / none"
required: false
default: "none"
set_515x:
description: "KERNEL: 5.15.x / none"
required: false
default: "none"
set_61x:
description: "KERNEL: 6.1.x / none"
required: false
default: "none"
set_66x:
description: "KERNEL: 6.6.x / none"
required: false
default: "none"
set_ver:
description: "VER: 24.4.4 / ..."
required: false
default: "24.9.9"
upload_firmware:
description: "whether to upload firmware."
required: false
default: "true"
release_firmware:
description: "whether to release firmware."
required: false
default: "true"
env:
REPO_URL: https://github.com/unifreq/openwrt_packit
REPO_BRANCH: master
ROOTFS_URL: https://github.com/kissyouhunter/openwrt_N1/releases/download/rootfs/openwrt-armvirt-64-generic-rootfs.tar.gz
KERNEL_URL: https://cloud.kisslove.eu.org/d/onedrive/OPENWRT/N1_OP/kernel
UPLOAD_BIN_DIR: false
SERVERCHAN_SCKEY: true
TZ: Asia/Shanghai
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: telegrame_bot
run: |
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c > CPU
cat /proc/cpuinfo | grep "cpu cores" | uniq >> CPU
sed -i 's|[[:space:]]||g; s|^.||' CPU && sed -i 's|CPU||g; s|pucores:||' CPU
CPUNAME="$(awk 'NR==1' CPU)" && CPUCORES="$(awk 'NR==2' CPU)"
rm -rf CPU
if [[ "${SERVERCHAN_SCKEY}" == "true" ]]; then
curl -k --data chat_id="${{ secrets.TELEGRAM_CHAT_ID }}" --data "text=🎉 主人:
您正在使用kissyouhunter仓库 {CPU型号为 [ ${CPUNAME} ] 核心数 为 [ ${CPUCORES} ] 线程数为 [ $(nproc) ]的机器} 打包 ${{ github.event.inputs.set_54x }} ${{ github.event.inputs.set_510x }} ${{ github.event.inputs.set_515x }} ${{ github.event.inputs.set_61x }} ${{ github.event.inputs.set_66x }} 固件,请耐心等待...... 😋" "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage"
fi
- name: choose kernel
run: |
set_54x="${{ github.event.inputs.set_54x }}"
if [ "$set_54x" = "none" ]; then
echo "no kernel was chosen"
else
echo "KERNEL_5_4_Y=${set_54x}" >> $GITHUB_ENV
fi
set_510x="${{ github.event.inputs.set_510x }}"
if [ "$set_510x" = "none" ]; then
echo "no kernel was chosen"
else
echo "KERNEL_5_10_Y=${set_510x}" >> $GITHUB_ENV
fi
set_515x="${{ github.event.inputs.set_515x }}"
if [ "$set_515x" = "none" ]; then
echo "no kernel was chosen"
else
echo "KERNEL_5_15_Y=${set_515x}" >> $GITHUB_ENV
fi
set_66x="${{ github.event.inputs.set_66x }}"
if [ "$set_66x" = "none" ]; then
echo "no kernel was chosen"
else
echo "KERNEL_6_6_Y=${set_66x}" >> $GITHUB_ENV
fi
set_61x="${{ github.event.inputs.set_61x }}"
if [ "$set_61x" = "none" ]; then
echo "no kernel was chosen"
else
echo "KERNEL_6_1_Y=${set_61x}" >> $GITHUB_ENV
fi
set_ver="${{ github.event.inputs.set_ver }}"
echo "OP_DATE=${set_ver}" >> $GITHUB_ENV
upload_firmware="${{ github.event.inputs.upload_firmware }}"
echo "UPLOAD_FIRMWARE=${upload_firmware}" >> $GITHUB_ENV
release_firmware="${{ github.event.inputs.release_firmware }}"
echo "RELEASE_FIRMWARE=${release_firmware}" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v4
- name: Installing requirements
run: |
docker rmi `docker images -q`
#sudo rm -rf /usr/share/dotnet /etc/mysql /etc/php /etc/apt/sources.list.d /usr/local/lib/android
#sudo -E apt-get -y purge azure-cli ghc* zulu* hhvm llvm* firefox google* dotnet* powershell openjdk* adoptopenjdk* mysql* php* mongodb* dotnet* moby* snapd* || true
sudo -E apt-get update
sudo -E apt-get install subversion -y
sudo -E apt-get -y autoremove --purge
sudo -E apt-get clean
- name: Check space usage
if: (!cancelled())
run: df -hT
- name: Download Openwrt_Packit
id: packit
run: |
git clone $REPO_URL -b $REPO_BRANCH /tmp/packit
sed -i 's|50000|25000|g' /tmp/packit/files/cpustat
cd /tmp/packit
curl -LO $ROOTFS_URL
cp $GITHUB_WORKSPACE/mk_s905d_n1-docker.sh mk_s905d_n1-docker.sh -v
cd /tmp/packit/files
rm -f ./index.html.patches/luci-admin-status-index-html.patch
cp $GITHUB_WORKSPACE/diy/n1_lede/index/luci-admin-status-index-html.patch ./index.html.patches/luci-admin-status-index-html.patch -v
rm -f amlogic_model_database.txt
cp $GITHUB_WORKSPACE/amlogic_model_database.txt amlogic_model_database.txt -v
rm -f openwrt-install-amlogic
cp $GITHUB_WORKSPACE/openwrt-install-amlogic openwrt-install-amlogic -v
- name: Pack OpenWrt
id: pack
run: |
set_54x="${{ github.event.inputs.set_54x }}"
if [ "$set_54x" = "none" ]; then
echo "no kernel was chosen"
echo "OP_54=none" >> $GITHUB_ENV
else
cd /tmp/packit
curl -LO $KERNEL_URL/${KERNEL_5_4_Y}/boot-${KERNEL_5_4_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_5_4_Y}/modules-${KERNEL_5_4_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_5_4_Y}/dtb-amlogic-${KERNEL_5_4_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_5_4_Y}/header-${KERNEL_5_4_Y}-kissyouhunter.tar.gz
rm -f make.env
cp $GITHUB_WORKSPACE/make_kernel.env make.env -v
sed -i 's|op-kissyouhunter|'"$KERNEL_5_4_Y"-kissyouhunter'|g' ./make.env
sed -i 's|date|'"$OP_DATE"'|g' ./make.env
sudo bash mk_s905d_n1-docker.sh
echo "OP_54=openwrt_s905d_n1_R${OP_DATE}_k${KERNEL_5_4_Y}-kissyouhunter.img.gz" >> $GITHUB_ENV
fi
set_510x="${{ github.event.inputs.set_510x }}"
if [ "$set_510x" = "none" ]; then
echo "no kernel was chosen"
echo "OP_510=none" >> $GITHUB_ENV
else
cd /tmp/packit
curl -LO $KERNEL_URL/${KERNEL_5_10_Y}/boot-${KERNEL_5_10_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_5_10_Y}/modules-${KERNEL_5_10_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_5_10_Y}/dtb-amlogic-${KERNEL_5_10_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_5_10_Y}/header-${KERNEL_5_10_Y}-kissyouhunter.tar.gz
rm -f make.env
cp $GITHUB_WORKSPACE/make_kernel.env make.env -v
sed -i 's|op-kissyouhunter|'"$KERNEL_5_10_Y"-kissyouhunter'|g' ./make.env
sed -i 's|date|'"$OP_DATE"'|g' ./make.env
sudo bash mk_s905d_n1-docker.sh
echo "OP_510=openwrt_s905d_n1_R${OP_DATE}_k${KERNEL_5_10_Y}-kissyouhunter.img.gz" >> $GITHUB_ENV
fi
set_515x="${{ github.event.inputs.set_515x }}"
if [ "$set_515x" = "none" ]; then
echo "no kernel was chosen"
echo "OP_515=none" >> $GITHUB_ENV
else
cd /tmp/packit
curl -LO $KERNEL_URL/${KERNEL_5_15_Y}/boot-${KERNEL_5_15_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_5_15_Y}/modules-${KERNEL_5_15_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_5_15_Y}/dtb-amlogic-${KERNEL_5_15_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_5_15_Y}/header-${KERNEL_5_15_Y}-kissyouhunter.tar.gz
rm -f make.env
cp $GITHUB_WORKSPACE/make_kernel.env make.env -v
sed -i 's|op-kissyouhunter|'"$KERNEL_5_15_Y"-kissyouhunter'|g' ./make.env
sed -i 's|date|'"$OP_DATE"'|g' ./make.env
sudo bash mk_s905d_n1-docker.sh
echo "OP_515=openwrt_s905d_n1_R${OP_DATE}_k${KERNEL_5_15_Y}-kissyouhunter.img.gz" >> $GITHUB_ENV
fi
set_61x="${{ github.event.inputs.set_61x }}"
if [ "$set_61x" = "none" ]; then
echo "no kernel was chosen"
echo "OP_61=none" >> $GITHUB_ENV
else
cd /tmp/packit
curl -LO $KERNEL_URL/${KERNEL_6_1_Y}/boot-${KERNEL_6_1_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_6_1_Y}/modules-${KERNEL_6_1_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_6_1_Y}/dtb-amlogic-${KERNEL_6_1_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_6_1_Y}/header-${KERNEL_6_1_Y}-kissyouhunter.tar.gz
rm -f make.env
cp $GITHUB_WORKSPACE/make_kernel.env make.env -v
sed -i 's|op-kissyouhunter|'"$KERNEL_6_1_Y"-kissyouhunter'|g' ./make.env
sed -i 's|date|'"$OP_DATE"'|g' ./make.env
sudo bash mk_s905d_n1-docker.sh
echo "OP_61=openwrt_s905d_n1_R${OP_DATE}_k${KERNEL_6_1_Y}-kissyouhunter.img.gz" >> $GITHUB_ENV
fi
set_66x="${{ github.event.inputs.set_66x }}"
if [ "$set_66x" = "none" ]; then
echo "no kernel was chosen"
echo "OP_66=none" >> $GITHUB_ENV
else
cd /tmp/packit
curl -LO $KERNEL_URL/${KERNEL_6_6_Y}/boot-${KERNEL_6_6_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_6_6_Y}/modules-${KERNEL_6_6_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_6_6_Y}/dtb-amlogic-${KERNEL_6_6_Y}-kissyouhunter.tar.gz
curl -LO $KERNEL_URL/${KERNEL_6_6_Y}/header-${KERNEL_6_6_Y}-kissyouhunter.tar.gz
rm -f make.env
cp $GITHUB_WORKSPACE/make_kernel.env make.env -v
sed -i 's|op-kissyouhunter|'"$KERNEL_6_6_Y"-kissyouhunter'|g' ./make.env
sed -i 's|date|'"$OP_DATE"'|g' ./make.env
ls -a
cat ./make.env
sudo bash mk_s905d_n1-docker.sh
echo "OP_66=openwrt_s905d_n1_R${OP_DATE}_k${KERNEL_6_6_Y}-kissyouhunter.img.gz" >> $GITHUB_ENV
fi
echo "status=success" >> $GITHUB_OUTPUT
- name: Organize files
id: organize
if: steps.pack.outputs.status == 'success' && !cancelled()
run: |
cd /tmp/packit/output
sudo gzip -9 *
sudo chmod 777 *
echo "FIRMWARE=$PWD" >> $GITHUB_ENV
echo "status=success" >> $GITHUB_OUTPUT
- name: Upload firmware Kernel_5_4_Y
uses: actions/upload-artifact@master
if: steps.organize.outputs.status == 'success' && env.UPLOAD_FIRMWARE == 'true' && !cancelled()
with:
name: ${{ env.OP_54 }}
path: |
${{ env.FIRMWARE }}/${{ env.OP_54 }}
- name: Upload firmware Kernel_5_10_Y
uses: actions/upload-artifact@master
if: steps.organize.outputs.status == 'success' && env.UPLOAD_FIRMWARE == 'true' && !cancelled()
with:
name: ${{ env.OP_510 }}
path: |
${{ env.FIRMWARE }}/${{ env.OP_510 }}
- name: Upload firmware Kernel_5_15_Y
uses: actions/upload-artifact@master
if: steps.organize.outputs.status == 'success' && env.UPLOAD_FIRMWARE == 'true' && !cancelled()
with:
name: ${{ env.OP_515 }}
path: |
${{ env.FIRMWARE }}/${{ env.OP_515 }}
- name: Upload firmware Kernel_6_1_Y
uses: actions/upload-artifact@master
if: steps.organize.outputs.status == 'success' && env.UPLOAD_FIRMWARE == 'true' && !cancelled()
with:
name: ${{ env.OP_61 }}
path: |
${{ env.FIRMWARE }}/${{ env.OP_61 }}
- name: Upload firmware Kernel_6_6_Y
uses: actions/upload-artifact@master
if: steps.organize.outputs.status == 'success' && env.UPLOAD_FIRMWARE == 'true' && !cancelled()
with:
name: ${{ env.OP_66 }}
path: |
${{ env.FIRMWARE }}/${{ env.OP_66 }}
- name: Upload firmware to release
uses: ncipollo/release-action@v1
if: steps.organize.outputs.status == 'success' && env.RELEASE_FIRMWARE == 'true' && !cancelled()
with:
token: ${{ secrets.REPO_TOKEN }}
name: Openwrt_N1_without_docker
tag: n1_openwrt
commit: main
allowUpdates: true
repo: Openwrt_X86-Openwrt_N1-Armbian_N1
body: |
## Openwrt_N1:
* IP: 192.168.2.4 ID: root Password: password
* 刷入emmc命令: install
* adguardhome已内置好DNS和广告过滤,下载好核心后开启即可。
* adguardhome ID: root Password: password wifi password: password
* N1固件不带docker,请用一键脚本自行安装。
* (一键脚本: bash <(curl -s -S -L https://git.io/JMl6C) 或者 curl -Lo ./kiss.sh https://git.io/JMl6C && bash kiss.sh)
### 升级方式一:
* 一键升级命令:(最新的固件已支持在U盘运行的openwrt)
* 如已刷入本固件,ssh连接n1或ttyd输入update即可。
* 命令一:bash <(curl -Lso- nb0.cc/k)
* 命令二:bash <(curl -s -S -L https://git.io/update-N1)
* 根据命令操作就可以,强烈推荐,保证/mnt/mmcblk2p4/或/mnt/sda4分区剩余空间1G以上,查看命令df -h。
### 升级方式二:
* 由译内核的不同,如升级emmc里的固件请用releases里的update-amlogic-openwrt.sh文件
* 将update-amlogic-openwrt.sh和img文件上传至/mnt/mmcblk2p4分区
* ssh连接n1或ttyd输入如下命令:
* cd /mnt/mmcblk2p4/ && chmod 755 update-N1-openwrt.sh
* ./update-N1-openwrt.sh 文件名.img #img文字名请自行输入
* 跑码过程中都有中文提示,请根据提示操作即可。
* 系统重启后使用命令 rm -rf /mnt/mmcblk2p4/文件名img 删除 #img文字名请自行输入
[注:三分区版本的N1只能重新写入固件到emmc,无法直接升级固件](#注:三分区版本的N1只能重新写入固件到emmc,无法直接升级固件)
artifacts: ${{ env.FIRMWARE }}/*.gz
- name: Setup Rclone
uses: AnimMouse/setup-rclone@v1
with:
rclone_config: ${{ secrets.RCLONE_CONFIG }}
- name: Upload to OneDrive
run: |
cd /tmp/packit/
sudo chmod -R 777 .
rclone -v move output kiss_blockads:onedrive/OPENWRT/N1_OP
- name: Notify on failure
if: ${{ failure() }}
run: |
curl -k --data chat_id="${{ secrets.TELEGRAM_CHAT_ID }}" --data "text=我亲爱的😭主人😭:
您使用kissyouhunter仓库打包的 ${{ github.event.inputs.set_54x }} ${{ github.event.inputs.set_510x }} ${{ github.event.inputs.set_515x }} ${{ github.event.inputs.set_61x }} ${{ github.event.inputs.set_66x }} 固件失败了,请及时处理!😭" "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage"
- name: telegram_bot
run: |
if [[ "${SERVERCHAN_SCKEY}" == "true" ]]; then
curl -k --data chat_id="${{ secrets.TELEGRAM_CHAT_ID }}" --data "text=我亲爱的✨主人✨:
您使用kissyouhunter仓库打包的 ${{ github.event.inputs.set_54x }} ${{ github.event.inputs.set_510x }} ${{ github.event.inputs.set_515x }} ${{ github.event.inputs.set_61x }} ${{ github.event.inputs.set_66x }} 固件顺利完成了!💐" "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage"
fi