Skip to content

Commit 5bbf23f

Browse files
authored
Update Novendor.yml
1 parent cb74361 commit 5bbf23f

File tree

1 file changed

+66
-66
lines changed

1 file changed

+66
-66
lines changed

.github/workflows/Novendor.yml

Lines changed: 66 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
name: Build OnePlus 7 Kernel (No Vendor Blobs + Flashable)
1+
name: Build OnePlus 7 Kernel (No Vendor Blobs, AnyKernel + Boot Image)
22

33
on:
44
workflow_dispatch:
55
push:
6-
branches: [main, lineage-21, android-16]
6+
branches:
7+
- main
8+
- lineage-21
9+
- android-16
710

811
jobs:
912
build:
@@ -13,94 +16,91 @@ jobs:
1316
- name: Checkout source
1417
uses: actions/checkout@v4
1518
with:
16-
fetch-depth: 0
19+
fetch-depth: 1
1720

1821
- name: Setup build environment
1922
run: |
20-
sudo apt-get update
21-
sudo apt-get install -y bc bison flex clang lld llvm lz4 \
22-
make python3 git zip curl wget ccache libssl-dev rsync tar gzip xz-utils unzip
23+
echo "🔧 Installing dependencies..."
24+
apt-get update -y
25+
apt-get install -y bc bison flex clang lld llvm lz4 make python3 git zip curl wget ccache libssl-dev rsync tar xz-utils
2326
24-
- name: Download Clang toolchain
27+
- name: Download prebuilt Clang toolchain
2528
run: |
2629
mkdir -p clang
2730
wget https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+archive/refs/heads/master/clang-r530567.tar.gz -O clang.tar.gz
2831
tar -xf clang.tar.gz -C clang
29-
echo "✅ Clang toolchain ready."
32+
echo "✅ Clang toolchain extracted."
3033
31-
- name: Configure environment
34+
- name: Setup build variables
3235
run: |
33-
export ARCH=arm64
34-
export SUBARCH=arm64
35-
export PATH=$PWD/clang/bin:$PATH
36-
export CC=clang
37-
export CROSS_COMPILE=aarch64-linux-gnu-
38-
export CROSS_COMPILE_ARM32=arm-linux-gnueabi-
36+
echo "🔧 Setting up environment..."
37+
echo "ARCH=arm64" >> $GITHUB_ENV
38+
echo "SUBARCH=arm64" >> $GITHUB_ENV
39+
echo "PATH=$PWD/clang/bin:$PATH" >> $GITHUB_ENV
40+
echo "CC=clang" >> $GITHUB_ENV
41+
echo "CROSS_COMPILE=aarch64-linux-gnu-" >> $GITHUB_ENV
42+
echo "CROSS_COMPILE_ARM32=arm-linux-gnueabi-" >> $GITHUB_ENV
3943
mkdir -p out
4044
41-
- name: Disable Vendor-dependent Modules
45+
- name: Detect available defconfig
46+
run: |
47+
echo "🔍 Checking available defconfigs..."
48+
ls arch/arm64/configs || true
49+
if [ ! -f arch/arm64/configs/guacamole_defconfig ]; then
50+
echo "⚠️ No guacamole_defconfig found — trying default_defconfig"
51+
cp arch/arm64/configs/*defconfig arch/arm64/configs/guacamole_defconfig || true
52+
fi
53+
54+
- name: Disable vendor dependencies
4255
run: |
4356
echo "🔧 Disabling vendor-related configs..."
44-
cat > novendor.defaults <<'EOF'
45-
CONFIG_LOCALVERSION_AUTO=y
46-
CONFIG_VENDOR_EDIT=n
47-
CONFIG_OPLUS_DEVICE_INFO=n
48-
CONFIG_OPLUS_FEATURE_CHG_BASIC=n
49-
CONFIG_OPLUS_ARCH_EXTENDS=n
50-
CONFIG_OPLUS_PROJECT_INFO=n
51-
CONFIG_DRM_MSM_OPLUS=n
52-
CONFIG_QCOM_CAMERA=n
53-
CONFIG_SPECTRA_CAMERA=n
54-
CONFIG_SPECTRA_EEPROM=n
55-
CONFIG_NETFILTER=y
56-
CONFIG_NETFILTER_XTABLES=y
57-
CONFIG_NF_CONNTRACK=y
58-
CONFIG_NF_CONNTRACK_IPV4=y
59-
CONFIG_NF_CONNTRACK_IPV6=y
60-
CONFIG_IP_NF_FILTER=y
61-
CONFIG_IP6_NF_FILTER=y
62-
CONFIG_IP6_NF_REJECT=y
63-
CONFIG_IP6_NF_TARGET_REJECT=y
64-
EOF
57+
sed -i '/CONFIG_VENDOR/d' arch/arm64/configs/guacamole_defconfig || true
58+
sed -i '/CONFIG_BUILD_ARM64_VENDOR/d' arch/arm64/configs/guacamole_defconfig || true
59+
sed -i '/CONFIG_ANDROID_VENDOR/d' arch/arm64/configs/guacamole_defconfig || true
60+
echo "# Vendor blobs disabled" >> arch/arm64/configs/guacamole_defconfig
6561
66-
make O=out ARCH=arm64 guacamole_defconfig
67-
make O=out ARCH=arm64 olddefconfig KCONFIG_ALLCONFIG=novendor.defaults
62+
- name: Apply Netfilter/Conntrack Fix
63+
run: |
64+
echo "🔧 Enabling Netfilter configs..."
65+
for cfg in CONFIG_NETFILTER CONFIG_NETFILTER_XTABLES CONFIG_NF_CONNTRACK \
66+
CONFIG_NF_CONNTRACK_IPV4 CONFIG_NF_CONNTRACK_IPV6 \
67+
CONFIG_IP_NF_IPTABLES CONFIG_IP6_NF_IPTABLES \
68+
CONFIG_IP_NF_FILTER CONFIG_IP6_NF_FILTER \
69+
CONFIG_IP6_NF_REJECT CONFIG_IP6_NF_TARGET_REJECT CONFIG_BRIDGE_NETFILTER; do
70+
grep -q "$cfg" arch/arm64/configs/guacamole_defconfig || echo "$cfg=y" >> arch/arm64/configs/guacamole_defconfig
71+
done
6872
69-
- name: Build Kernel
73+
- name: Build kernel
7074
run: |
71-
export ARCH=arm64
72-
export SUBARCH=arm64
73-
export PATH=$PWD/clang/bin:$PATH
74-
make O=out ARCH=arm64 -j$(nproc) \
75-
CC=clang \
75+
echo "⚙️ Building kernel..."
76+
make O=out ARCH=arm64 guacamole_defconfig
77+
make O=out ARCH=arm64 -j$(nproc) CC=clang \
7678
CROSS_COMPILE=aarch64-linux-gnu- \
7779
CROSS_COMPILE_ARM32=arm-linux-gnueabi-
7880
79-
- name: Package Kernel (AnyKernel3)
81+
- name: Package AnyKernel
8082
run: |
81-
git clone https://github.com/osm0sis/AnyKernel3.git
82-
cp out/arch/arm64/boot/Image* AnyKernel3/
83-
cd AnyKernel3
84-
zip -r9 ../oneplus7_kernel_novendor_anykernel.zip * -x .git README.md *placeholder
85-
cd ..
83+
echo "📦 Packaging AnyKernel..."
84+
mkdir -p artifacts/AnyKernel
85+
git clone https://github.com/osm0sis/AnyKernel3 artifacts/AnyKernel || true
86+
cp out/arch/arm64/boot/Image.gz-dtb artifacts/AnyKernel/zImage || true
87+
cd artifacts/AnyKernel
88+
zip -r ../OnePlus7_AnyKernel.zip .
89+
cd ../..
8690
87-
- name: Optional Boot Image Repack
91+
- name: Create boot image
8892
run: |
89-
mkdir boot
90-
cd boot
91-
wget -q "https://mirrorbits.lineageos.org/full/guacamoleb/20251026/boot.img" -O boot.img
92-
wget -q https://github.com/topjohnwu/magisk-files/raw/main/magiskboot
93-
chmod +x magiskboot
94-
./magiskboot unpack boot.img
95-
cp ../out/arch/arm64/boot/Image kernel
96-
./magiskboot repack boot.img new-boot.img
97-
mv new-boot.img ../oneplus7_kernel_novendor_boot.img
98-
cd ..
93+
echo "💾 Creating boot image..."
94+
mkdir -p artifacts/boot
95+
wget -q https://mirrorbits.lineageos.org/full/guacamoleb/20251026/boot.img -O artifacts/boot/base.img
96+
if [ -f out/arch/arm64/boot/Image.gz-dtb ]; then
97+
mv out/arch/arm64/boot/Image.gz-dtb artifacts/boot/
98+
echo "Kernel Image copied successfully"
99+
fi
100+
cd artifacts/boot && zip -r ../boot-flashable.zip .
99101
100102
- name: Upload Artifacts
101103
uses: actions/upload-artifact@v4
102104
with:
103-
name: oneplus7-novendor-flashables
104-
path: |
105-
oneplus7_kernel_novendor_anykernel.zip
106-
oneplus7_kernel_novendor_boot.img
105+
name: OnePlus7_Kernel_NoVendor
106+
path: artifacts/

0 commit comments

Comments
 (0)