|
|
@@ -1,77 +0,0 @@
|
|
|
-# Pinned GKI Root Variants
|
|
|
-
|
|
|
-`Build pinned root variants` is a manual, artifact-only workflow. It produces
|
|
|
-three separate source trees and never combines root implementations:
|
|
|
-
|
|
|
-| Variant | Source | Pinned commit |
|
|
|
-| --- | --- | --- |
|
|
|
-| KernelSU | `tiann/KernelSU` | `da9abf498a77d438989fea0f5f4e348b9a540c07` |
|
|
|
-| KernelSU Next | `KernelSU-Next/KernelSU-Next` `dev` | `234f6e040fcbca18b16d2398e1aa225712ec99ad` |
|
|
|
-| ReSukiSU | `ReSukiSU/ReSukiSU` | `3ef06b0fcb0960dc9563256fe26a58e892663387` |
|
|
|
-| NoMount | `maxsteeel/nomount` `dev` | `c52936b229c25a4b0e41b6627f7d3bc5eaaaf2b5` |
|
|
|
-
|
|
|
-The workflow resolves the selected target to its immutable SUSFS pin:
|
|
|
-
|
|
|
-| GKI target | SUSFS branch tip pinned for this workflow |
|
|
|
-| --- | --- |
|
|
|
-| android12-5.10 | `3c14ad549f826b1f53878ec8c12253efebeed75a` |
|
|
|
-| android13-5.10 | `f81aaf10e9560282052bb61dd931315c2ca3e617` |
|
|
|
-| android13-5.15 | `ccb1918684b27644d17a6c842f57b60ae5966025` |
|
|
|
-| android14-5.15 | `0463ac089308014e8c22cc6a4558e0d6d2a53e08` |
|
|
|
-| android14-6.1 | `e287d59066380bf6de4396532d4a42edf4408701` |
|
|
|
-| android15-6.6 | `be7b7ef49a1e1b189c3abf00eacaa7ebdb4168c1` |
|
|
|
-| android16-6.12 | `f37930f374ef88de990d6abea0c67d0ea28c1edc` |
|
|
|
-
|
|
|
-All pins were resolved on 2026-08-13 from the named upstream branches. A pin
|
|
|
-is re-verified after checkout; a mismatch, missing upstream `fs/nomount`
|
|
|
-integration, or existing root integration fails the build.
|
|
|
-
|
|
|
-The workflow snapshots ABI/KMI controls before root integration and verifies
|
|
|
-them immediately afterward. It then snapshots the approved, target-specific
|
|
|
-SUSFS and device-patch ABI updates before NoMount integration and requires
|
|
|
-NoMount to leave that baseline unchanged. The guard covers legacy ABI symbol
|
|
|
-lists and the Android 16 Bazel ABI/staging/symbol definitions. It does not
|
|
|
-remove protected exports, bypass ABI checks, build a bypass image, create
|
|
|
-releases, or claim device compatibility.
|
|
|
-
|
|
|
-## Build-verified only artifact metadata
|
|
|
-
|
|
|
-Successful builds upload a single `<target>-BuildInfo` artifact combining a
|
|
|
-human-readable summary table with an embedded machine-readable JSON block. The
|
|
|
-JSON `status` is **`Build-verified only`** only after the corresponding
|
|
|
-AnyKernel3 and NoMount metamodule artifacts are uploaded and their GitHub
|
|
|
-Actions API URLs and GitHub-issued `sha256` digests are recorded. Each record
|
|
|
-also includes the build method, root implementation/manager/version and commit,
|
|
|
-SUSFS and NoMount revisions, Android branch/KMI, kernel source commit, and
|
|
|
-provenance run URL.
|
|
|
-
|
|
|
-NoMount integration invokes the upstream `kernel/setup.sh` by its full immutable
|
|
|
-commit URL and passes that same SHA as the script argument. Each kernel artifact
|
|
|
-also receives a separately uploaded NoMount metamodule archive built from the
|
|
|
-same SHA; its artifact URL and SHA-256 digest are included in the metadata
|
|
|
-record. Kernel and metamodule revisions must match exactly.
|
|
|
-
|
|
|
-The metadata `catalog` object makes publication eligibility explicit:
|
|
|
-
|
|
|
-| Field | Required value |
|
|
|
-| --- | --- |
|
|
|
-| `availability` | `eligible-with-provenance-and-checksums` |
|
|
|
-| `device_compatibility` | `not-validated` |
|
|
|
-| `flashability` | `not-guaranteed` |
|
|
|
-| `boot` | `not-guaranteed` |
|
|
|
-
|
|
|
-This status means that CI completed the source build and artifact integrity
|
|
|
-metadata is available. It is not device validation and does not claim device
|
|
|
-compatibility, flashability, or a successful boot. A catalog or release
|
|
|
-publisher may expose a successful build artifact only with its provenance URL
|
|
|
-and both kernel and matching NoMount metamodule checksums. It must mark an
|
|
|
-unbuilt, failed, or metadata-incomplete entry unavailable and provide no
|
|
|
-download.
|
|
|
-
|
|
|
-This workflow remains artifact-only: it does not create releases or publish a
|
|
|
-catalog. Any separate publisher must enforce this metadata contract.
|
|
|
-
|
|
|
-Runs dispatched before this metadata contract was added cannot retroactively
|
|
|
-contain these metadata artifacts. Their artifact digests remain available from
|
|
|
-the GitHub Actions artifact API, but they must not be represented as complete
|
|
|
-metadata-contract records.
|