Skip to content

Build KernelSU Next

Build KernelSU Next #7

name: Build OnePlus KernelSU Next
on:
workflow_dispatch:
inputs:
CPU:
description: "CPU分支"
required: true
type: choice
options:
- 'sm8650'
- 'sm8550'
- 'sm8450'
- 'sm8475'
- 'sm7675'
- 'sm7550'
- 'sm6375'
default: 'sm8650'
FEIL:
description: "手机型号"
required: true
type: choice
options:
- 'oneplus_12'
- 'oneplus_ace3_pro'
- 'oneplus_ace5'
- 'oneplus_13r'
- 'oneplus_pad2'
- 'oneplus_pad_pro'
- 'oneplus_11'
- 'oneplus_12r'
- 'oneplus_ace2_pro'
- 'oneplus_ace3'
- 'oneplus_open'
- 'oneplus_10t'
- 'oneplus_11r'
- 'oneplus_ace2'
- 'oneplus_ace_pro'
- 'oneplus_10_pro'
- 'oneplus_ace_3v'
- 'onrplus_nord_4'
- 'oneplus_nord_ce4_lite_5g'
- 'oneplus_nord_ce4'
default: 'oneplus_12'
CPUD:
description: "处理器代号"
required: true
type: choice
options:
- 'pineapple'
- 'kalama'
- 'waipio'
- 'crow'
- 'blair'
default: 'pineapple'
ANDROID_VERSION:
description: "内核安卓版本"
required: true
type: choice
options:
- 'android14'
- 'android13'
- 'android12'
default: 'android14'
KERNEL_VERSION:
description: "内核版本"
required: true
type: choice
options:
- '6.1'
- '5.15'
- '5.10'
default: '6.1'
lz4kd:
description: "是否启用lz4kd(关闭则6.1系启用lz4 + zstd)"
required: true
type: choice
options:
- 'On'
- 'Off'
default: 'Off'
bbr:
description: "是否启用bbr算法(优化上行数据, 对手机日用无太大意义甚至可能负优化)"
required: true
type: choice
options:
- 'On'
- 'Off'
default: 'Off'
proxy:
description: "是否添加代理性能优化"
required: true
type: choice
options:
- 'On'
- 'Off'
default: 'On'
jobs:
build:
name: For ${{ github.event.inputs.FEIL }} lz4kd ${{ github.event.inputs.lz4kd }}
runs-on: ubuntu-latest
env:
CCACHE_COMPILERCHECK: "%compiler% -dumpmachine; %compiler% -dumpversion"
CCACHE_NOHASHDIR: "true"
CCACHE_HARDLINK: "true"
CCACHE_DIR: /home/runner/.ccache
CCACHE_MAXSIZE: 8G
steps:
# ====================== 系统初始化阶段 ======================
- name: "🚀 Maximize Build Space | 最大化构建空间"
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: 8192
temp-reserve-mb: 4096
remove-dotnet: 'true'
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
- name: "🔐 Configure Git | 配置Git账户"
run: |
echo "🔧 正在配置Git用户信息..."
git config --global user.name "build"
git config --global user.email "2210077278@qq.com"
echo "✅ Git配置完成"
# ====================== 依赖管理阶段 ======================
- name: "📦 Configure APT Cache | 配置APT缓存"
run: |
echo "🔧 正在设置APT缓存目录..."
APT_CACHE_DIR="$HOME/apt-cache"
mkdir -p "$APT_CACHE_DIR"/{archives,lists/partial}
# 创建APT配置文件
echo "Dir::Cache \"$APT_CACHE_DIR\";" | sudo tee /etc/apt/apt.conf.d/90user-cache
echo "Dir::Cache::archives \"$APT_CACHE_DIR/archives\";" | sudo tee -a /etc/apt/apt.conf.d/90user-cache
echo "Dir::State::lists \"$APT_CACHE_DIR/lists\";" | sudo tee -a /etc/apt/apt.conf.d/90user-cache
echo "Acquire::Check-Valid-Until \"false\";" | sudo tee -a /etc/apt/apt.conf.d/90user-cache
echo "Acquire::Languages \"none\";" | sudo tee -a /etc/apt/apt.conf.d/90user-cache
sudo chown -R $USER:$USER "$APT_CACHE_DIR"
echo "✅ APT缓存配置完成"
- name: "📦 Restore APT Cache | 恢复APT缓存"
uses: actions/cache@v3
with:
path: ${{ env.HOME }}/apt-cache
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/Build SukiSU Ultra.yml') }}
restore-keys: |
${{ runner.os }}-apt-
- name: "📦 Install Dependencies | 安装构建依赖"
run: |
echo "🔧 正在安装编译依赖项..."
sudo rm -f /var/lib/apt/lists/lock /var/lib/dpkg/lock
APT_CACHE_DIR="$HOME/apt-cache"
mkdir -p "$APT_CACHE_DIR/lists/partial"
# 更新包列表并安装必要工具
sudo apt -o Dir::Cache="$APT_CACHE_DIR" update -qq
sudo DEBIAN_FRONTEND=noninteractive apt -o Dir::Cache="$APT_CACHE_DIR" install -yq --no-install-recommends \
python3 git curl ccache libelf-dev \
build-essential flex bison libssl-dev \
libncurses-dev liblz4-tool zlib1g-dev \
libxml2-utils rsync unzip
echo "✅ 所有依赖项已成功安装"
# ====================== 缓存管理阶段 ======================
- name: "💾 Restore ccache | 恢复ccache缓存"
uses: actions/cache@v3
with:
path: /home/runner/.ccache
key: ccache-${{ runner.os }}-${{ github.ref }}
restore-keys: |
ccache-${{ runner.os }}-
# ====================== 源码准备阶段 ======================
- name: "📥 Install Repo Tool | 安装Repo工具"
run: |
echo "⬇️ 正在下载repo工具..."
curl -fsSL https://storage.googleapis.com/git-repo-downloads/repo > ~/repo
chmod a+x ~/repo
sudo mv ~/repo /usr/local/bin/repo
echo "✅ repo工具安装完成"
- name: "⬇️ Clone Kernel Source | 克隆内核源码"
run: |
echo "🌐 正在初始化内核仓库..."
mkdir kernel_workspace && cd kernel_workspace
repo init -u https://github.com/Xiaomichael/kernel_manifest.git -b refs/heads/oneplus/${{ github.event.inputs.CPU }} -m ${{ github.event.inputs.FEIL }}.xml --depth=1
echo "🔄 同步代码库(使用$(nproc --all)线程)..."
repo sync -c -j$(nproc --all) --no-tags --no-clone-bundle --force-sync
echo "⬇️ 下载内核设置工具..."
curl -L -o kernel_setup.bin https://github.com/Xiaomichael/OnePlus-Actions/raw/Build/script/kernel_setup.bin
chmod +x kernel_setup.bin
./kernel_setup.bin
echo "✅ 内核配置完成"
# ====================== 内核定制阶段 ======================
- name: "⚡ Setup KernelSU Next | 配置 KernelSU Next"
run: |
cd kernel_workspace/kernel_platform
echo "🛠️ 正在设置KernelSU Next..."
# use pershoot's susfs-ksun
curl -LSs "https://raw.githubusercontent.com/pershoot/KernelSU-Next/next-susfs/kernel/setup.sh" | bash -s next-susfs
cd KernelSU-Next
KSU_VERSION=$(expr $(/usr/bin/git rev-list --count HEAD) "+" 10160)
echo "KSUVER=$KSU_VERSION" >> $GITHUB_ENV
sed -i "s/DKSU_VERSION=11998/DKSU_VERSION=${KSU_VERSION}/" kernel/Makefile
echo "✅ KernelSU Next 配置完成"
- name: "🔧 Set up SUSFS | 配置 SUSFS"
run: |
cd kernel_workspace
echo "⬇️ 下载SUSFS补丁..."
git clone https://gitlab.com/simonpunk/susfs4ksu.git -b gki-${{ github.event.inputs.ANDROID_VERSION }}-${{ github.event.inputs.KERNEL_VERSION }}
git clone https://github.com/Xiaomichael/kernel_patches.git
git clone https://github.com/ShirkNeko/SukiSU_patch.git
cd kernel_platform
echo "📝 复制补丁文件..."
cp ../susfs4ksu/kernel_patches/50_add_susfs_in_gki-${{ github.event.inputs.ANDROID_VERSION }}-${{ github.event.inputs.KERNEL_VERSION }}.patch ./common/
cp ../kernel_patches/next/scope_min_manual_hooks_v1.4.patch ./common/
if [ "${{ github.event.inputs.lz4kd }}" = "Off" ] && [ "${{ github.event.inputs.KERNEL_VERSION }}" = "6.1" ]; then
cp ../kernel_patches/zram/001-lz4.patch ./common/
cp ../kernel_patches/zram/lz4armv8.S ./common/lib
# cp ../kernel_patches/zram/lz4-oneplus.patch ./common/
cp ../kernel_patches/zram/002-zstd.patch ./common/
fi
if [ "${{ github.event.inputs.lz4kd }}" == "On" ]; then
# Copy lz4k from ShirkNeko
cp -r ../SukiSU_patch/other/zram/lz4k/include/linux/* ./common/include/linux
cp -r ../SukiSU_patch/other/zram/lz4k/lib/* ./common/lib
cp -r ../SukiSU_patch/other/zram/lz4k/crypto/* ./common/crypto
cp -r ../SukiSU_patch/other/zram/lz4k_oplus ./common/lib/
fi
cp ../susfs4ksu/kernel_patches/fs/* ./common/fs/
cp ../susfs4ksu/kernel_patches/include/linux/* ./common/include/linux/
# Apply patches
echo "🔧 应用补丁..."
cd ./common
if [ "${{ github.event.inputs.lz4kd }}" = "Off" ] && [ "${{ github.event.inputs.KERNEL_VERSION }}" = "6.1" ]; then
echo "📦 应用lz4+zstd补丁..."
git apply -p1 < 001-lz4.patch || true
patch -p1 < 002-zstd.patch || true
fi
if [ "${{ github.event.inputs.lz4kd }}" == "On" ]; then
echo "🚀 应用lz4kd补丁..."
cp ../../SukiSU_patch/other/zram/zram_patch/${{ github.event.inputs.KERNEL_VERSION }}/lz4kd.patch ./
patch -p1 -F 3 < lz4kd.patch || true
cp ../../SukiSU_patch/other/zram/zram_patch/${{ github.event.inputs.KERNEL_VERSION }}/lz4k_oplus.patch ./
patch -p1 -F 3 < lz4k_oplus.patch || true
fi
patch -p1 < 50_add_susfs_in_gki-${{ github.event.inputs.ANDROID_VERSION }}-${{ github.event.inputs.KERNEL_VERSION }}.patch || true
cp ../../kernel_patches/69_hide_stuff.patch ./
patch -p1 -F 3 < 69_hide_stuff.patch
patch -p1 --fuzz=3 < scope_min_manual_hooks_v1.4.patch
echo "✅ 所有补丁应用完成"
- name: "⚙️ Configure Kernel Options | 配置内核选项"
run: |
echo "⚙️ 正在配置内核编译选项..."
cd kernel_workspace/kernel_platform
# Add KSU configuration settings
echo "CONFIG_KSU=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_KPROBES_HOOK=n" >> ./common/arch/arm64/configs/gki_defconfig
# Add SUSFS configuration settings
echo "CONFIG_KSU_SUSFS=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_HAS_MAGIC_MOUNT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_SUS_PATH=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_SUS_MOUNT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_AUTO_ADD_SUS_KSU_DEFAULT_MOUNT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_AUTO_ADD_SUS_BIND_MOUNT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_SUS_KSTAT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_SUS_OVERLAYFS=n" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_TRY_UMOUNT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_AUTO_ADD_TRY_UMOUNT_FOR_BIND_MOUNT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_SPOOF_UNAME=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_ENABLE_LOG=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_HIDE_KSU_SUSFS_SYMBOLS=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_SPOOF_CMDLINE_OR_BOOTCONFIG=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_OPEN_REDIRECT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_KSU_SUSFS_SUS_SU=n" >> ./common/arch/arm64/configs/gki_defconfig
if [ "${{ github.event.inputs.bbr }}" == "On" ]; then
echo "🌐 启用BBR网络算法..."
echo "CONFIG_TCP_CONG_ADVANCED=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_TCP_CONG_BBR=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_NET_SCH_FQ=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_TCP_CONG_BIC=n" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_TCP_CONG_WESTWOOD=n" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_TCP_CONG_HTCP=n" >> ./common/arch/arm64/configs/gki_defconfig
fi
if [ "${{ github.event.inputs.lz4kd }}" == "On" ]; then
echo "📦 启用lz4kd压缩..."
echo "CONFIG_CRYPTO_LZ4KD=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_CRYPTO_LZ4K_OPLUS=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_ZRAM_WRITEBACK=y" >> ./common/arch/arm64/configs/gki_defconfig
fi
if [ "${{ github.event.inputs.KERNEL_VERSION }}" == "6.1" ]; then
# Add O2 config
echo "📦 为6.1加入O2优化..."
echo "CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y" >> ./common/arch/arm64/configs/gki_defconfig
fi
if [ "${{ github.event.inputs.proxy }}" == "On" ]; then
# Add proxy config
echo "CONFIG_BPF_STREAM_PARSER=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_NETFILTER_XT_SET=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_MAX=65534" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_BITMAP_IP=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_BITMAP_IPMAC=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_BITMAP_PORT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_IP=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_IPMARK=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_IPPORT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_IPPORTIP=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_IPPORTNET=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_IPMAC=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_MAC=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_NETPORTNET=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_NET=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_NETNET=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_NETPORT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_HASH_NETIFACE=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP_SET_LIST_SET=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP6_NF_NAT=y" >> ./common/arch/arm64/configs/gki_defconfig
echo "CONFIG_IP6_NF_TARGET_MASQUERADE=y" >> ./common/arch/arm64/configs/gki_defconfig
fi
if [ "${{ github.event.inputs.KERNEL_VERSION }}" == "5.10" ] || [ "${{ github.event.inputs.KERNEL_VERSION }}" == "5.15" ]; then
echo "📦 正在为5.10系与5.15系配置lto中...."
DEFCONFIG=./common/arch/arm64/configs/gki_defconfig
sed -i 's/^CONFIG_LTO=n/CONFIG_LTO=y/' "$DEFCONFIG"
sed -i 's/^CONFIG_LTO_CLANG_FULL=y/CONFIG_LTO_CLANG_THIN=y/' "$DEFCONFIG"
sed -i 's/^CONFIG_LTO_CLANG_NONE=y/CONFIG_LTO_CLANG_THIN=y/' "$DEFCONFIG"
grep -q '^CONFIG_LTO_CLANG_THIN=y' "$DEFCONFIG" || echo 'CONFIG_LTO_CLANG_THIN=y' >> "$DEFCONFIG"
fi
sed -i 's/check_defconfig//' ./common/build.config.gki
echo "✅ 内核配置更新完成"
- name: "🔨 Build Kernel | 编译内核"
run: |
echo "🏗️ 开始内核编译..."
if [ "${{ github.event.inputs.KERNEL_VERSION }}" == "6.1" ]; then
export KBUILD_BUILD_TIMESTAMP="Wed May 29 07:25:40 UTC 2025"
export KBUILD_BUILD_VERSION=1
export PATH="$GITHUB_WORKSPACE/kernel_workspace/kernel_platform/prebuilts/clang/host/linux-x86/clang-r487747c/bin:$PATH"
export PATH="/usr/lib/ccache:$PATH"
sudo apt install libelf-dev
cd kernel_workspace/kernel_platform/common
make -j$(nproc --all) LLVM=1 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- CC="ccache clang" RUSTC=../../prebuilts/rust/linux-x86/1.73.0b/bin/rustc PAHOLE=../../prebuilts/kernel-build-tools/linux-x86/bin/pahole LD=ld.lld HOSTLD=ld.lld O=out KCFLAGS+=-O2 gki_defconfig all
elif [ "${{ github.event.inputs.KERNEL_VERSION }}" == "5.15" ]; then
export PATH="$GITHUB_WORKSPACE/kernel_workspace/kernel_platform/prebuilts/clang/host/linux-x86/clang-r450784e/bin:$PATH"
export PATH="/usr/lib/ccache:$PATH"
sudo apt install libelf-dev
cd kernel_workspace/kernel_platform/common
make -j$(nproc --all) LLVM=1 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- CC="ccache clang" RUSTC=../../prebuilts/rust/linux-x86/1.73.0b/bin/rustc PAHOLE=../../prebuilts/kernel-build-tools/linux-x86/bin/pahole LD=ld.lld HOSTLD=ld.lld O=out gki_defconfig all
elif [ "${{ github.event.inputs.KERNEL_VERSION }}" == "5.10" ]; then
export PATH="$GITHUB_WORKSPACE/kernel_workspace/kernel_platform/prebuilts-master/clang/host/linux-x86/clang-r416183b/bin:$PATH"
export PATH="/usr/lib/ccache:$PATH"
sudo apt install libelf-dev
cd kernel_workspace/kernel_platform/common
make -j$(nproc --all) LLVM_IAS=1 LLVM=1 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- CC="ccache clang" RUSTC=../../prebuilts/rust/linux-x86/1.73.0b/bin/rustc PAHOLE=../../prebuilts/kernel-build-tools/linux-x86/bin/pahole LD=ld.lld HOSTLD=ld.lld O=out gki_defconfig all
fi
# 显示ccache统计信息
ccache -s
echo "✅ 内核编译完成"
- name: "📦 Package Kernel | 打包内核"
run: |
echo "📦 准备AnyKernel3打包环境..."
git clone https://github.com/Xiaomichael/AnyKernel3 --depth=1
rm -rf ./AnyKernel3/.git
mkdir -p kernel_workspace/kernel_platform/out/Final-Image-Find/
dir1=""
dir2=""
image_path=$(find "./kernel_workspace/kernel_platform/common/out/" -name "Image" | head -n 1)
if [ -n "$image_path" ]; then
dir1=$(dirname "$image_path")/
echo "✅ 使用 make 编译的统一路径,成功找到 Image 文件 ✅"
fi
if [ -n "$image_path" ] && [ -f "$image_path" ]; then
echo "Image file finally located at: $image_path"
cp "$image_path" ./AnyKernel3/Image
cp "$image_path" kernel_workspace/kernel_platform/out/Final-Image-Find/Image
fi
# ====================== 上传阶段 ======================
- name: "🧠 Set Artifact Name | 设置产物名称"
id: set_name
run: |
if [ "${{ github.event.inputs.lz4kd }}" = "On" ]; then
echo "ARTIFACT_NAME=AnyKernel3_KernelSU_Next_lz4kd_${{ env.KSUVER }}_${{ github.event.inputs.FEIL }}" >> $GITHUB_OUTPUT
elif [ "${{ github.event.inputs.KERNEL_VERSION }}" = "6.1" ]; then
echo "ARTIFACT_NAME=AnyKernel3_KernelSU_Next_lz4_zstd_${{ env.KSUVER }}_${{ github.event.inputs.FEIL }}" >> $GITHUB_OUTPUT
else
echo "ARTIFACT_NAME=AnyKernel3_KernelSU_Next_${{ env.KSUVER }}_${{ github.event.inputs.FEIL }}" >> $GITHUB_OUTPUT
fi
- name: "📤 Upload AnyKernel3 | 上传 AnyKernel3"
uses: actions/upload-artifact@v4
with:
name: ${{ steps.set_name.outputs.ARTIFACT_NAME }}
path: ./AnyKernel3/*
- name: "📝 Find zram.ko & crypto_zstdn.ko | 查找 zram.ko & crypto_zstdn.ko"
if: ${{ github.event.inputs.lz4kd == 'On' }}
run: |
find -name zram.ko
find -name crypto_zstdn.ko
- name: "📤 Upload zram.ko | 上传 zram.ko"
if: ${{ github.event.inputs.lz4kd == 'On' }}
uses: actions/upload-artifact@v4
with:
name: zram.ko
path: ./kernel_workspace/kernel_platform/common/out/drivers/block/zram/zram.ko
- name: "🤖 Get bot script | 获取 bot 脚本"
uses: actions/checkout@v4
with:
path: bot
- name: "📤 Upload to telegram | 上传至Telegram群组"
run: |
if [ ! -z "${{ secrets.BOT_TOKEN }}" ]; then
echo "📤 正在上传到Telegram..."
cd AnyKernel3
zip -q -r "../${{ steps.set_name.outputs.ARTIFACT_NAME }}.zip" ./*
cd ..
pip3 install telethon
python3 ./bot/script/buildbot.py "./${{ steps.set_name.outputs.ARTIFACT_NAME }}.zip"
echo "✅ 文件已上传到Telegram"
fi
env:
CHATID: ${{secrets.CHATID}}
BOT_TOKEN: ${{secrets.BOT_TOKEN}}
MESSAGE_THREAD_ID: ${{secrets.MESSAGE_THREAD_ID}}
KernelVer: ${{ github.event.inputs.ANDROID_VERSION}}-${{ github.event.inputs.KERNEL_VERSION }}
DEVICE: ${{ github.event.inputs.FEIL }}
KPM: ${{ github.event.inputs.KPM }}
LZ4KD: ${{ github.event.inputs.lz4kd }}
BBR: ${{ github.event.inputs.bbr }}
KSU_VAR: "NEXT"