Custom Android kernel CI pipeline for SM8250, kernel 4.19.x, non-GKI. This repo is the CI wrapper + AnyKernel3 overlay. The actual kernel source is cloned fresh on every build — nothing here compiles standalone.
.github/workflows/
build.yml — clones kernel source, builds, packages AK3 zip, ships to
Telegram + GitHub Releases
notify.yml — commit push / build result notifications
PitchKernel/
anykernel-vendor/ — full AnyKernel3 tree (AstideLabs base + PitchKernel
overlay merged), vendored directly in this repo. CI seeds
this into the cloned kernel source's anykernel/ dir before
build.sh runs, and neutralizes build.sh's own AnyKernel3
git clone so no external AnyKernel3 repo (forked or
upstream) is touched at build time.
release/ — telegram.sh, sourced by build.yml to ship the artifact
module/ — standalone KSU/Magisk module (module.prop + post-fs-data.sh).
ORPHANED: not referenced anywhere in build.yml, never zipped,
never shipped. Either wire it into the packaging step or
delete it — right now it's dead weight that looks live.
STATUS.md — ground truth as of the last full audit: what's actually
building, what's actually shipping, what's unverified.
Read this before trusting any comment elsewhere that
claims to know current state — several have gone stale
before.
CHANGELOG.md — bugs found and fixed, chronologically, so "was this already
fixed once" has an answer that isn't "check with Syed."
Manual dispatch only (workflow_dispatch). Inputs:
script: onlybuild.sh(AOSP+MIUI dual zip) is wired into packaging.build-miui.shexists upstream but this pipeline doesn't use it.ksu: enables the current root provider (see STATUS.md for which one that actually is right now, and for current SUSFS status — it has been removed and re-added at different points; don't assume either state without checking STATUS.md's most recent update).
vendor.atfwd(ATFWD-daemon) crash-loops on signal 31 (SIGSYS) every ~5s in the one dmesg/logcat capture audited so far. Signal delivered synchronously to itself — consistent with a seccomp-bpf syscall-filter trap, i.e. the vendor binary hitting a syscall the seccomp policy for its domain doesn't allow. Not confirmed to be kernel-caused. Needs: a diff of the syscall table / seccomp policy against a known-working (stock or other custom) kernel on the same device before touching any code over it.- baseband_guard is compiled into every build unconditionally, gated on
neither
ksuinput nor anything else (apasitu/build.shruns the Baseband-guard setup script before theKSU_ENABLEbranch). If you don't want it on non-root builds, that's a real gap to close upstream inbuild.sh, not something this repo controls.