Skip to content

Commit 0e12dc8

Browse files
authored
Update LOS-OP7-SM8150-Kernel.yml
1 parent 4207bb1 commit 0e12dc8

File tree

1 file changed

+78
-90
lines changed

1 file changed

+78
-90
lines changed

.github/workflows/LOS-OP7-SM8150-Kernel.yml

Lines changed: 78 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ jobs:
2121
- name: Setup build kernel environment
2222
run: |
2323
echo "BUILD_TIME=$(TZ=Asia/Shanghai date "+%y%m%d")" >> $GITHUB_ENV
24+
echo "BUILD_TIME_1=$(TZ=Asia/Shanghai date "+%Y-%m-%d")" >> $GITHUB_ENV
2425
sudo apt-get update
25-
sudo apt-get install git dwarves libelf-dev ccache automake flex bison build-essential zlib1g-dev libncurses5-dev libc6-dev-i386 bc device-tree-compiler python3 make
26+
sudo apt-get install git ccache automake flex lzop bison gperf build-essential zip curl zlib1g-dev g++-multilib bzip2 libbz2-dev liblz4-tool make squashfs-tools dpkg-dev libssl-dev python3 bc libc6-dev-i386 libncurses5-dev
2627
mkdir -p $GITHUB_WORKSPACE/kernel_workspace
2728
2829
- name: Download Clang-aosp
@@ -32,134 +33,121 @@ jobs:
3233
wget https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+archive/refs/heads/main/clang-r522817.tar.gz
3334
tar -C clang-aosp/ -zxvf clang-r522817.tar.gz
3435
36+
- name: Download Gcc-aosp
37+
run: |
38+
cd $GITHUB_WORKSPACE/kernel_workspace
39+
mkdir gcc-64
40+
wget -O gcc-aarch64.tar.gz https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/+archive/refs/tags/android-12.1.0_r27.tar.gz
41+
tar -C gcc-64/ -zxvf gcc-aarch64.tar.gz
42+
3543
- name: Download kernel source
3644
run: |
3745
cd $GITHUB_WORKSPACE/kernel_workspace
3846
git clone --recursive https://github.com/LineageOS/android_kernel_oneplus_sm8150 -b lineage-22.1 android-kernel --depth=1
39-
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel/scripts
40-
sed -i 's/ -dirty//g' setlocalversion
4147
42-
- name: Setup official KernelSU
48+
- name: Set up rsuntk KernelSU
4349
run: |
50+
cd $GITHUB_WORKSPACE/patches
51+
sed -i '1655 r path_umount.c' $GITHUB_WORKSPACE/kernel_workspace/android-kernel/fs/namespace.c
4452
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel
45-
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s main
53+
curl -LSs "https://raw.githubusercontent.com/rsuntk/KernelSU/main/kernel/setup.sh" | bash -s main
54+
bash $GITHUB_WORKSPACE/patches/patches.sh
55+
if ! grep -q "CONFIG_KSU=y" arch/arm64/configs/vendor/sm8150-perf_defconfig; then
56+
sed -i '$a # KernelSU\nCONFIG_KSU=y' arch/arm64/configs/vendor/sm8150-perf_defconfig
57+
fi
4658
KSU_VERSION=$(cd KernelSU && expr $(/usr/bin/git rev-list --count HEAD) + 10200)
4759
echo "KSUVER=$KSU_VERSION" >> $GITHUB_ENV
48-
49-
- name: Build kernel
60+
cd scripts
61+
sed -i 's/ -dirty//g' setlocalversion
62+
63+
- name: Build kernel with rsuntk KernelSU
5064
run: |
5165
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel
52-
LTO=thin
5366
export ARCH=arm64
5467
export SUBARCH=arm64
55-
export HEADER_ARCH=arm64
56-
export PATH=$GITHUB_WORKSPACE/kernel_workspace/clang-aosp/bin:$PATH
68+
export BRAND_SHOW_FLAG=oneplus
69+
export PATH=$GITHUB_WORKSPACE/kernel_workspace/clang-aosp/bin:$GITHUB_WORKSPACE/kernel_workspace/gcc-64/bin:$PATH
5770
export KBUILD_BUILD_HOST=Github-Action
5871
export KBUILD_BUILD_USER=$(echo ${{ github.actor }} | tr A-Z a-z)
59-
AR_CMD="ARCH=${ARCH} SUBARCH=${SUBARCH} HEADER_ARCH=${HEADER_ARCH}"
60-
BA_CMD="CC=clang CXX=clang++"
61-
EX_CMD="LD=ld.lld AR=llvm-ar NM=llvm-nm OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf OBJSIZE=llvm-size STRIP=llvm-strip LLVM=1 LLVM_IAS=1"
62-
DEFCONFIG="lineage_sm8150_defconfig"
63-
make O=out $AR_CMD $BA_CMD $EX_CMD $DEFCONFIG
64-
scripts/config --file out/.config -e LTO_CLANG -d LTO_NONE -e LTO_CLANG_THIN -d LTO_CLANG_FULL -e THINLTO
65-
make -j$(nproc --all) O=out $AR_CMD $BA_CMD $EX_CMD
72+
BA_CMD="CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-android-"
73+
EX_CMD="LD=ld.lld LLVM=1 LLVM_IAS=1"
74+
DEFCONFIG="vendor/sm8150-perf_defconfig vendor/debugfs.config"
75+
make O=out ARCH=arm64 CC=clang $BA_CMD $EX_CMD $DEFCONFIG
76+
make -j$(nproc --all) O=out ARCH=arm64 CC=clang $BA_CMD $EX_CMD
6677
67-
- name: Check a kernel output files
78+
- name: Check a kernel output files with rsuntk KernelSU
6879
run: |
69-
cd $GITHUB_WORKSPACE/kernel_workspace
70-
if [ -f android-kernel/out/arch/arm64/boot/Image ]; then
80+
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel/out
81+
if [ -f arch/arm64/boot/Image ]; then
7182
echo "CHECK_IMAGE=true" >> $GITHUB_ENV
83+
KERNEL_VERSION=$(cat include/config/kernel.release)
84+
echo "KERNEL_VERSION=$KERNEL_VERSION" >> $GITHUB_ENV
7285
else
7386
echo "Kernel output file is empty"
7487
exit 1
7588
fi
7689
77-
- name: Make Anykernel3
78-
if: env.CHECK_IMAGE == 'true'
90+
- name: Make AnyKernel3 with rsuntk KernelSU
91+
if: ${{ env.CHECK_IMAGE == 'true' }}
7992
run: |
8093
cd $GITHUB_WORKSPACE/kernel_workspace
81-
git clone https://github.com/Kernel-SU/AnyKernel3 --depth=1
82-
rm -rf AnyKernel3/.git
94+
git clone https://github.com/osm0sis/AnyKernel3 --depth=1 AnyKernel3
95+
sed -i 's/do.devicecheck=1/do.devicecheck=0/g' AnyKernel3/anykernel.sh
96+
sed -i 's!BLOCK=/dev/block/platform/omap/omap_hsmmc.0/by-name/boot;!BLOCK=auto;!g' AnyKernel3/anykernel.sh
97+
sed -i 's/IS_SLOT_DEVICE=0;/IS_SLOT_DEVICE=auto;/g' AnyKernel3/anykernel.sh
8398
cp android-kernel/out/arch/arm64/boot/Image AnyKernel3/
99+
rm -rf AnyKernel3/.git* AnyKernel3/README.md
84100
85101
- name: Compress AnyKernel3 with official KernelSU folder to zip
102+
if: ${{ env.CHECK_IMAGE == 'true' }}
86103
run: |
87104
cd $GITHUB_WORKSPACE/kernel_workspace/AnyKernel3
88-
zip -r $GITHUB_WORKSPACE/AK3-LOS22.1-Salami-Official-KSU_${{ env.KSUVER }}-${{ env.BUILD_TIME }}.zip ./*
89-
105+
zip -r $GITHUB_WORKSPACE/AK3-LineageOS-OPlus-SM8150-Official-KSU_${{ env.KSUVER }}-${{ env.BUILD_TIME }}.zip ./*
106+
90107
- name: Upload Image
91-
if: env.CHECK_IMAGE == 'true'
108+
if: ${{ env.CHECK_IMAGE == 'true' }}
92109
uses: actions/upload-artifact@v4
93110
with:
94-
name: Image-Official-KSU_${{ env.KSUVER }}
111+
name: Image
95112
path: kernel_workspace/android-kernel/out/arch/arm64/boot/Image
96113

97114
- name: Upload AnyKernel3
98-
if: env.CHECK_IMAGE == 'true'
115+
if: ${{ env.CHECK_IMAGE == 'true' }}
99116
uses: actions/upload-artifact@v4
100117
with:
101-
name: AK3-LOS22.1-Salami-Official-KSU_${{ env.KSUVER }}-${{ env.BUILD_TIME }}
118+
name: AK3-LineageOS_22-OPlus-SM1250-KSU_${{ env.KSUVER }}-${{ env.BUILD_TIME }}
102119
path: kernel_workspace/AnyKernel3/*
103-
104-
- name: Setup unofficial KernelSU
105-
run: |
106-
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel
107-
rm -rf KernelSU
108-
git clone --recursive https://github.com/5ec1cff/KernelSU -b main KernelSU
109-
KSU_VERSION_1=$(cd KernelSU && expr $(/usr/bin/git rev-list --count HEAD) + 10200)
110-
echo "KSUVER_1=$KSU_VERSION_1" >> $GITHUB_ENV
111-
112-
- name: Build kernel
113-
run: |
114-
cd $GITHUB_WORKSPACE/kernel_workspace/android-kernel
115-
rm -rf out/arch/arm64/boot/Image
116-
LTO=thin
117-
export ARCH=arm64
118-
export SUBARCH=arm64
119-
export HEADER_ARCH=arm64
120-
export PATH=$GITHUB_WORKSPACE/kernel_workspace/clang-aosp/bin:$PATH
121-
export KBUILD_BUILD_HOST=Github-Action
122-
export KBUILD_BUILD_USER=$(echo ${{ github.actor }} | tr A-Z a-z)
123-
AR_CMD="ARCH=${ARCH} SUBARCH=${SUBARCH} HEADER_ARCH=${HEADER_ARCH}"
124-
BA_CMD="CC=clang CXX=clang++"
125-
EX_CMD="LD=ld.lld AR=llvm-ar NM=llvm-nm OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf OBJSIZE=llvm-size STRIP=llvm-strip LLVM=1 LLVM_IAS=1"
126-
DEFCONFIG="gki_defconfig vendor/kalama_GKI.config vendor/oplus/kalama_GKI.config vendor/debugfs.config vendor/oplus/salami.config"
127-
make O=out $AR_CMD $BA_CMD $EX_CMD $DEFCONFIG
128-
scripts/config --file out/.config -e LTO_CLANG -d LTO_NONE -e LTO_CLANG_THIN -d LTO_CLANG_FULL -e THINLTO
129-
make -j$(nproc --all) O=out $AR_CMD $BA_CMD $EX_CMD
130-
131-
- name: Check a kernel output files
132-
run: |
133-
cd $GITHUB_WORKSPACE/kernel_workspace
134-
if [ -f android-kernel/out/arch/arm64/boot/Image ]; then
135-
echo "CHECK_IMAGE_1=true" >> $GITHUB_ENV
136-
else
137-
echo "Kernel output file is empty"
138-
exit 1
139-
fi
140-
141-
- name: Make Anykernel3
142-
if: env.CHECK_IMAGE_1 == 'true'
143-
run: |
144-
cd $GITHUB_WORKSPACE/kernel_workspace
145-
rm -rf AnyKernel3/Image
146-
cp android-kernel/out/arch/arm64/boot/Image AnyKernel3/
147-
148-
- name: Compress AnyKernel3 with official KernelSU folder to zip
120+
121+
- name: Zip files
149122
run: |
123+
zip -r Image.zip $GITHUB_WORKSPACE/kernel_workspace/android-kernel/out/arch/arm64/boot/Image
150124
cd $GITHUB_WORKSPACE/kernel_workspace/AnyKernel3
151-
zip -r $GITHUB_WORKSPACE/AK3-LOS22.1-Salami-Unofficial-KSU_${{ env.KSUVER_1 }}-${{ env.BUILD_TIME }}.zip ./*
152-
153-
- name: Upload Image
154-
if: env.CHECK_IMAGE_1 == 'true'
155-
uses: actions/upload-artifact@v4
156-
with:
157-
name: Image-Unofficial-KSU_${{ env.KSUVER_1 }}
158-
path: kernel_workspace/android-kernel/out/arch/arm64/boot/Image
125+
zip -r $GITHUB_WORKSPACE/AK3-LineageOS_22-OPlus-SM8150-KSU_${{ env.KSUVER }}-${{ env.BUILD_TIME }}.zip ./*
159126
160-
- name: Upload AnyKernel3
161-
if: env.CHECK_IMAGE_1 == 'true'
162-
uses: actions/upload-artifact@v4
163-
with:
164-
name: AK3-LOS22.1-Salami-Unofficial-KSU_${{ env.KSUVER_1 }}-${{ env.BUILD_TIME }}
165-
path: kernel_workspace/AnyKernel3/*
127+
- name: Send AnyKernel3 to Telegram
128+
env:
129+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
130+
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHANNEL_ID }}
131+
run: |
132+
caption2="\
133+
<blockquote><a href=\"https://github.com/rsuntk/KernelSU\"><b>Unofficial KernelSU (rsuntk)</b> - ${{ env.KSUVER }}</a></blockquote>
134+
135+
ROM:<blockquote><b>LineageOS 22</b></blockquote>
136+
Device:<blockquote>OnePlus 8 | OnePlus 8 Pro | OnePlus 8T | OnePlus 9R</blockquote>
137+
Kernel Version:<blockquote>${{ env.KERNEL_VERSION }}</blockquote>
138+
Build Time:<blockquote>${{ env.BUILD_TIME_1 }}</blockquote>
139+
Special Note:
140+
<blockquote>The unofficial version is recommended to install an <a href=\"https://github.com/rsuntk/KernelSU/releases\">unofficial manager</a></blockquote>
141+
Change Log:<blockquote>Test only.</blockquote>
142+
143+
<a href=\"https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}\">Github Action</a>"
144+
media=$(jq -n \
145+
--arg media1 "attach://anykernel3" \
146+
--arg media2 "attach://Image" \
147+
--arg caption2 "$caption2" \
148+
'[{type: "document", media: $media1, parse_mode: "HTML"},
149+
{type: "document", media: $media2, caption: $caption2, parse_mode: "HTML"}]')
150+
curl "https://api.telegram.org/bot$TELEGRAM_TOKEN/sendMediaGroup?chat_id=$TELEGRAM_CHAT_ID" \
151+
-F "media=$media" \
152+
-F anykernel3="@$GITHUB_WORKSPACE/AK3-LineageOS_22-OPlus-SM8150-KSU_${{ env.KSUVER }}-${{ env.BUILD_TIME }}.zip" \
153+
-F Image="@$GITHUB_WORKSPACE/Image.zip"

0 commit comments

Comments
 (0)