|
|
@@ -36,7 +36,6 @@ on:
|
|
|
description: "Root Flavor"
|
|
|
type: choice
|
|
|
options:
|
|
|
- - none
|
|
|
- KernelSU-Next
|
|
|
- KernelSU
|
|
|
- ReSukiSU
|
|
|
@@ -179,9 +178,8 @@ jobs:
|
|
|
|
|
|
# Selected root implementation(s). Maps the human-facing choice
|
|
|
# (KernelSU-Next / KernelSU / ReSukiSU / All) to internal root-setup
|
|
|
- # flavors (next / classic / resukisu). 'none' leaves them empty so
|
|
|
- # build.yml falls back to its legacy KernelSU-Next path. 'All' emits a
|
|
|
- # matrix of all three root flavors plus each pinned commit.
|
|
|
+ # flavors (next / classic / resukisu). Every build always has a root;
|
|
|
+ # 'All' emits a matrix of all three root flavors plus each pinned commit.
|
|
|
#
|
|
|
# Always resolve all three branch-tip commits so 'All' can fan out.
|
|
|
CLASSIC_COMMIT="$(resolve_sha https://github.com/tiann/KernelSU.git refs/heads/main)"
|
|
|
@@ -219,10 +217,8 @@ jobs:
|
|
|
echo "root_commit=" >> "$GITHUB_OUTPUT"
|
|
|
;;
|
|
|
*)
|
|
|
- # none: legacy path, no explicit root variant
|
|
|
- echo "root_flavor=" >> "$GITHUB_OUTPUT"
|
|
|
- echo "root_commit=" >> "$GITHUB_OUTPUT"
|
|
|
- ROOT_MATRIX="[{\"root_flavor\":\"\",\"variant\":\"\",\"root_commit\":\"\"}]"
|
|
|
+ echo "ERROR: unknown root_flavor '${{ inputs.root_flavor }}'" >&2
|
|
|
+ exit 1
|
|
|
;;
|
|
|
esac
|
|
|
echo "root_matrix=$ROOT_MATRIX" >> "$GITHUB_OUTPUT"
|
|
|
@@ -354,15 +350,8 @@ jobs:
|
|
|
run: |
|
|
|
set -euo pipefail
|
|
|
|
|
|
- # SUSFS needs a root implementation (KernelSU / KernelSU-Next / ReSukiSU)
|
|
|
- # to hook into. Without one the kernel wouldn't actually exercise the
|
|
|
- # SUSFS root-hiding patches, so fail fast instead of building a useless kernel.
|
|
|
- if [ "${{ inputs.use_susfs }}" = "true" ] && [ "${{ inputs.root_flavor }}" = "none" ]; then
|
|
|
- echo "ERROR: SUSFS requires a root implementation, but root_flavor is 'none'." >&2
|
|
|
- echo "Pick KernelSU-Next, KernelSU, or ReSukiSU in the Root Implementation box" >&2
|
|
|
- echo "(SUSFS patches SUSFS's root-hiding on top of the root solution)." >&2
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ # Every build always has a root implementation (no 'none' option), so
|
|
|
+ # SUSFS always has a root to hook into -- no extra guard needed.
|
|
|
|
|
|
# A Release/Pre-Release ships whichever manger build(s) were resolved
|
|
|
# in the manager step above (exact match per root flavor). No root
|