Skip to content

feat: multi-kernel LOS presets, LTO, naming, and CI pipeline polish#7

Merged
mohdakil2426 merged 25 commits into
mainfrom
feature/los-kernel-source-presets
Jul 13, 2026
Merged

feat: multi-kernel LOS presets, LTO, naming, and CI pipeline polish#7
mohdakil2426 merged 25 commits into
mainfrom
feature/los-kernel-source-presets

Conversation

@mohdakil2426

Copy link
Copy Markdown
Owner

Summary

Merges multi-kernel CI packaging for Poco F5 / marble into main:

  • Kernel presets: melt, lineageos, evolution-x, pablo (kernel_source dropdown)
  • Toolchain: auto → llvm-22.1.8 (LOS) / android clang (Melt)
  • LTO: none/thin/full (default thin) + free-runner swap, JOBS/ThinLTO caps
  • ZIP naming: AK3_marble_<FAMILY>_<source>_<manager>…[_susfs-vX]_rN.zip
  • Banner: text-only dynamic Family/Source/Manager/SUSFS/LTO/Run
  • Caches: ccache v4 + ThinLTO; save on fail (!cancelled); per-kernel keys
  • Manager version: Wild-style rev-list + BASE inject
  • Summaries: LTO/toolchain/package family; Kernel Source id → repo link; CI Cache section with full ccache -s (stripped from release notes)
  • KSUNext+SUSFS: pershoot dev-susfs (aligned with Wild GKI SUSFS practice)

CI smoke (branch)

Config Result
Melt none thin ✅ 29211438837
LineageOS none thin ✅ 29212535876
LineageOS KSUNext+SUSFS thin ✅ 29214274071

Test plan

  • Local tests/test-*.sh (summary, matrix, promote, manager-version, workflow-policy)
  • Branch CI smokes above
  • Optional: post-merge preflight on main
  • Device boot LOS + manager still manual

Notes

  • Draft release notes use matrix-summary-release.md (no Cache block).
  • Official KernelSU + SUSFS still blocked; KSUNext SUSFS uses pershoot only.

Raise the ccache max size to 4G for both toolchains, keep compression
enabled, and set compression_level=6 when the installed ccache supports
it. Compiler validation stays content-based (CCACHE_COMPILERCHECK=content).

Bump the Actions cache key prefix to marble-builder-ccache-v3 and include
LTO mode (-lto${LTO}) in the key identity alongside the existing config
hash of build scripts and preset config files. Record lto= in
build-info.txt for artifact metadata.

Keep save-on-miss for ccache: GitHub Actions cache keys are immutable, so
always-save on a hit cannot update an existing key and is effectively
useless.
Run a fast policy subset in the matrix setup job before fan-out
(workflow, LTO, manager, matrix-generator, SUSFS presets) instead of
every tests/test-*.sh script. The full suite remains in preflight.

After aggregate generates matrix-summary.md, upload it as
marble-matrix-summary-rN with the same pinned upload-artifact action
and 30-day retention used for flash artifacts. The release job still
downloads flash ZIPs and verifies checksums via prepare-promoted-release.sh.
Document the lto workflow input (default thin; none/thin/full) in the
README inputs table. Note that Melt keeps LTO on while LOS presets pair
thin LTO with llvm-22 and swap on free runners. Refresh the ccache
reliability row to 4 GiB with LTO included in the cache identity.

Add free-runner LTO guidance to docs/versions.md covering mode trade-offs
and recommended toolchain/LTO combinations per preset family.
…polish

- ZIP: AK3_marble_FAMILY_source_manager[-ver][-codeN][_susfs-vX]_rN
- Dynamic text-only AnyKernel banner (Family/Source/Manager/SUSFS/LTO/Run)
- toolchain=auto resolves from preset recommended_toolchain
- PACKAGE_FAMILY export; shell-safe kernel-source.env quoting
- Summaries: LTO, ccache/ThinLTO hits, SUSFS module note, quality labels
- full LTO free-runner warning; Image file type audit; known-good pins
- Weekly Melt smoke workflow; LOS smoke checklist; docs/ARCHITECTURE
… Cache section

- Kernel Source row: (preset) links to github.com/source_repo
- Cache section: Actions hits + fenced ccache -s (matches artifact stats)
- Docs: ARCHITECTURE/README/versions aligned with release notes strip + manager version
@mohdakil2426
mohdakil2426 merged commit 30f56b6 into main Jul 13, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant