Procházet zdrojové kódy

ci: Continue workflow overhaul

TheWildJames před 6 měsíci
rodič
revize
b96b35c9ac

+ 40 - 0
.github/kernel-config/a12-5.10.json

@@ -0,0 +1,40 @@
+{
+  "include": [
+    {"kernel_version": "5.10.43-android12-2021-08"},
+    {"kernel_version": "5.10.43-android12-2021-09"},
+    {"kernel_version": "5.10.43-android12-2021-10"},
+    {"kernel_version": "5.10.66-android12-2021-11"},
+    {"kernel_version": "5.10.66-android12-2021-12"},
+    {"kernel_version": "5.10.66-android12-2022-01"},
+    {"kernel_version": "5.10.81-android12-2022-02"},
+    {"kernel_version": "5.10.81-android12-2022-03"},
+    {"kernel_version": "5.10.101-android12-2022-04"},
+    {"kernel_version": "5.10.101-android12-2022-05"},
+    {"kernel_version": "5.10.110-android12-2022-06"},
+    {"kernel_version": "5.10.110-android12-2022-07"},
+    {"kernel_version": "5.10.117-android12-2022-08"},
+    {"kernel_version": "5.10.117-android12-2022-09"},
+    {"kernel_version": "5.10.136-android12-2022-10"},
+    {"kernel_version": "5.10.136-android12-2022-11"},
+    {"kernel_version": "5.10.149-android12-2022-12"},
+    {"kernel_version": "5.10.149-android12-2023-01"},
+    {"kernel_version": "5.10.160-android12-2023-02"},
+    {"kernel_version": "5.10.160-android12-2023-03"},
+    {"kernel_version": "5.10.168-android12-2023-04"},
+    {"kernel_version": "5.10.168-android12-2023-05"},
+    {"kernel_version": "5.10.177-android12-2023-06"},
+    {"kernel_version": "5.10.177-android12-2023-07"},
+    {"kernel_version": "5.10.185-android12-2023-09"},
+    {"kernel_version": "5.10.198-android12-2023-11"},
+    {"kernel_version": "5.10.198-android12-2024-01"},
+    {"kernel_version": "5.10.205-android12-2024-03"},
+    {"kernel_version": "5.10.209-android12-2024-05"},
+    {"kernel_version": "5.10.218-android12-2024-08"},
+    {"kernel_version": "5.10.226-android12-2024-11"},
+    {"kernel_version": "5.10.233-android12-2025-02"},
+    {"kernel_version": "5.10.236-android12-2025-05"},
+    {"kernel_version": "5.10.237-android12-2025-06"},
+    {"kernel_version": "5.10.240-android12-2025-09"},
+    {"kernel_version": "5.10.246-android12-2025-12"}
+  ]
+}

+ 41 - 0
.github/kernel-config/a13-5.10.json

@@ -0,0 +1,41 @@
+{
+  "include": [
+    {"kernel_version": "5.10.107-android13-2022-04"},
+    {"kernel_version": "5.10.107-android13-2022-05"},
+    {"kernel_version": "5.10.107-android13-2022-06"},
+    {"kernel_version": "5.10.107-android13-2022-07"},
+    {"kernel_version": "5.10.107-android13-2022-08"},
+    {"kernel_version": "5.10.107-android13-2022-09"},
+    {"kernel_version": "5.10.107-android13-2022-10"},
+    {"kernel_version": "5.10.107-android13-2022-11"},
+    {"kernel_version": "5.10.149-android13-2022-12"},
+    {"kernel_version": "5.10.149-android13-2023-01"},
+    {"kernel_version": "5.10.157-android13-2023-02"},
+    {"kernel_version": "5.10.157-android13-2023-03"},
+    {"kernel_version": "5.10.168-android13-2023-04"},
+    {"kernel_version": "5.10.168-android13-2023-05"},
+    {"kernel_version": "5.10.177-android13-2023-06"},
+    {"kernel_version": "5.10.177-android13-2023-07"},
+    {"kernel_version": "5.10.186-android13-2023-08"},
+    {"kernel_version": "5.10.186-android13-2023-09"},
+    {"kernel_version": "5.10.189-android13-2023-10"},
+    {"kernel_version": "5.10.189-android13-2023-11"},
+    {"kernel_version": "5.10.198-android13-2023-12"},
+    {"kernel_version": "5.10.198-android13-2024-01"},
+    {"kernel_version": "5.10.205-android13-2024-02"},
+    {"kernel_version": "5.10.205-android13-2024-03"},
+    {"kernel_version": "5.10.209-android13-2024-04"},
+    {"kernel_version": "5.10.209-android13-2024-05"},
+    {"kernel_version": "5.10.210-android13-2024-06"},
+    {"kernel_version": "5.10.214-android13-2024-07"},
+    {"kernel_version": "5.10.218-android13-2024-08"},
+    {"kernel_version": "5.10.223-android13-2024-09"},
+    {"kernel_version": "5.10.223-android13-2024-11"},
+    {"kernel_version": "5.10.228-android13-2025-01"},
+    {"kernel_version": "5.10.234-android13-2025-03"},
+    {"kernel_version": "5.10.236-android13-2025-05"},
+    {"kernel_version": "5.10.238-android13-2025-07"},
+    {"kernel_version": "5.10.243-android13-2025-10"},
+    {"kernel_version": "5.10.246-android13-2026-01"}
+  ]
+}

+ 39 - 0
.github/kernel-config/a13-5.15.json

@@ -0,0 +1,39 @@
+{
+  "include": [
+    {"kernel_version": "5.15.41-android13-2022-06"},
+    {"kernel_version": "5.15.41-android13-2022-07"},
+    {"kernel_version": "5.15.41-android13-2022-08"},
+    {"kernel_version": "5.15.41-android13-2022-09"},
+    {"kernel_version": "5.15.41-android13-2022-10"},
+    {"kernel_version": "5.15.41-android13-2022-11"},
+    {"kernel_version": "5.15.74-android13-2022-12"},
+    {"kernel_version": "5.15.74-android13-2023-01"},
+    {"kernel_version": "5.15.78-android13-2023-02"},
+    {"kernel_version": "5.15.78-android13-2023-03"},
+    {"kernel_version": "5.15.94-android13-2023-04"},
+    {"kernel_version": "5.15.94-android13-2023-05"},
+    {"kernel_version": "5.15.104-android13-2023-06"},
+    {"kernel_version": "5.15.104-android13-2023-07"},
+    {"kernel_version": "5.15.119-android13-2023-08"},
+    {"kernel_version": "5.15.119-android13-2023-09"},
+    {"kernel_version": "5.15.123-android13-2023-10"},
+    {"kernel_version": "5.15.123-android13-2023-11"},
+    {"kernel_version": "5.15.137-android13-2023-12"},
+    {"kernel_version": "5.15.137-android13-2024-01"},
+    {"kernel_version": "5.15.144-android13-2024-02"},
+    {"kernel_version": "5.15.144-android13-2024-03"},
+    {"kernel_version": "5.15.148-android13-2024-04"},
+    {"kernel_version": "5.15.148-android13-2024-05"},
+    {"kernel_version": "5.15.149-android13-2024-06"},
+    {"kernel_version": "5.15.149-android13-2024-07"},
+    {"kernel_version": "5.15.151-android13-2024-08"},
+    {"kernel_version": "5.15.153-android13-2024-09"},
+    {"kernel_version": "5.15.167-android13-2024-11"},
+    {"kernel_version": "5.15.170-android13-2025-01"},
+    {"kernel_version": "5.15.178-android13-2025-03"},
+    {"kernel_version": "5.15.180-android13-2025-05"},
+    {"kernel_version": "5.15.185-android13-2025-07"},
+    {"kernel_version": "5.15.189-android13-2025-09"},
+    {"kernel_version": "5.15.194-android13-2025-12"}
+  ]
+}

+ 24 - 0
.github/kernel-config/a14-5.15.json

@@ -0,0 +1,24 @@
+{
+  "include": [
+    {"kernel_version": "5.15.110-android14-2023-06"},
+    {"kernel_version": "5.15.110-android14-2023-08"},
+    {"kernel_version": "5.15.110-android14-2023-09"},
+    {"kernel_version": "5.15.131-android14-2023-11"},
+    {"kernel_version": "5.15.137-android14-2024-01"},
+    {"kernel_version": "5.15.144-android14-2024-02"},
+    {"kernel_version": "5.15.144-android14-2024-03"},
+    {"kernel_version": "5.15.148-android14-2024-04"},
+    {"kernel_version": "5.15.148-android14-2024-05"},
+    {"kernel_version": "5.15.149-android14-2024-06"},
+    {"kernel_version": "5.15.153-android14-2024-07"},
+    {"kernel_version": "5.15.158-android14-2024-08"},
+    {"kernel_version": "5.15.164-android14-2024-09"},
+    {"kernel_version": "5.15.167-android14-2024-11"},
+    {"kernel_version": "5.15.170-android14-2025-01"},
+    {"kernel_version": "5.15.178-android14-2025-03"},
+    {"kernel_version": "5.15.180-android14-2025-05"},
+    {"kernel_version": "5.15.185-android14-2025-07"},
+    {"kernel_version": "5.15.192-android14-2025-10"},
+    {"kernel_version": "5.15.196-android14-2026-01"}
+  ]
+}

+ 33 - 0
.github/kernel-config/a14-6.1.json

@@ -0,0 +1,33 @@
+{
+  "include": [
+    {"kernel_version": "6.1.25-android14-2023-06"},
+    {"kernel_version": "6.1.25-android14-2023-07"},
+    {"kernel_version": "6.1.25-android14-2023-08"},
+    {"kernel_version": "6.1.25-android14-2023-09"},
+    {"kernel_version": "6.1.25-android14-2023-10"},
+    {"kernel_version": "6.1.43-android14-2023-11"},
+    {"kernel_version": "6.1.57-android14-2023-12"},
+    {"kernel_version": "6.1.57-android14-2024-01"},
+    {"kernel_version": "6.1.68-android14-2024-02"},
+    {"kernel_version": "6.1.68-android14-2024-03"},
+    {"kernel_version": "6.1.75-android14-2024-04"},
+    {"kernel_version": "6.1.75-android14-2024-05"},
+    {"kernel_version": "6.1.78-android14-2024-06"},
+    {"kernel_version": "6.1.84-android14-2024-07"},
+    {"kernel_version": "6.1.90-android14-2024-08"},
+    {"kernel_version": "6.1.93-android14-2024-09"},
+    {"kernel_version": "6.1.99-android14-2024-10"},
+    {"kernel_version": "6.1.112-android14-2024-11"},
+    {"kernel_version": "6.1.115-android14-2024-12"},
+    {"kernel_version": "6.1.118-android14-2025-01"},
+    {"kernel_version": "6.1.124-android14-2025-02"},
+    {"kernel_version": "6.1.128-android14-2025-03"},
+    {"kernel_version": "6.1.129-android14-2025-04"},
+    {"kernel_version": "6.1.134-android14-2025-05"},
+    {"kernel_version": "6.1.138-android14-2025-06"},
+    {"kernel_version": "6.1.141-android14-2025-07"},
+    {"kernel_version": "6.1.145-android14-2025-08"},
+    {"kernel_version": "6.1.145-android14-2025-09"},
+    {"kernel_version": "6.1.157-android14-2025-12"}
+  ]
+}

+ 21 - 0
.github/kernel-config/a15-6.6.json

@@ -0,0 +1,21 @@
+{
+  "include": [
+    {"kernel_version": "6.6.30-android15-2024-07"},
+    {"kernel_version": "6.6.30-android15-2024-08"},
+    {"kernel_version": "6.6.46-android15-2024-09"},
+    {"kernel_version": "6.6.50-android15-2024-10"},
+    {"kernel_version": "6.6.56-android15-2024-11"},
+    {"kernel_version": "6.6.57-android15-2024-12"},
+    {"kernel_version": "6.6.58-android15-2025-01"},
+    {"kernel_version": "6.6.66-android15-2025-02"},
+    {"kernel_version": "6.6.77-android15-2025-03"},
+    {"kernel_version": "6.6.82-android15-2025-04"},
+    {"kernel_version": "6.6.87-android15-2025-05"},
+    {"kernel_version": "6.6.89-android15-2025-06"},
+    {"kernel_version": "6.6.92-android15-2025-07"},
+    {"kernel_version": "6.6.98-android15-2025-08"},
+    {"kernel_version": "6.6.98-android15-2025-09"},
+    {"kernel_version": "6.6.102-android15-2025-10"},
+    {"kernel_version": "6.6.118-android15-2026-01"}
+  ]
+}

+ 10 - 0
.github/kernel-config/a16-6.12.json

@@ -0,0 +1,10 @@
+{
+  "include": [
+    {"kernel_version": "6.12.23-android16-2025-05-exp"},
+    {"kernel_version": "6.12.23-android16-2025-06"},
+    {"kernel_version": "6.12.30-android16-2025-07"},
+    {"kernel_version": "6.12.38-android16-2025-08"},
+    {"kernel_version": "6.12.38-android16-2025-09"},
+    {"kernel_version": "6.12.58-android16-2025-12"}
+  ]
+}

+ 11 - 0
.github/kernel-config/bypass.json

@@ -0,0 +1,11 @@
+{
+  "include": [
+    {"kernel_version": "5.10.X-android12-lts", "variant": "Bypass"},
+    {"kernel_version": "5.10.X-android13-lts", "variant": "Bypass"},
+    {"kernel_version": "5.15.X-android13-lts", "variant": "Bypass"},
+    {"kernel_version": "5.15.X-android14-lts", "variant": "Bypass"},
+    {"kernel_version": "6.1.X-android14-lts", "variant": "Bypass"},
+    {"kernel_version": "6.6.X-android15-lts", "variant": "Bypass"},
+    {"kernel_version": "6.12.X-android16-lts", "variant": "Bypass" }
+  ]
+}

+ 9 - 0
.github/kernel-config/custom.json

@@ -0,0 +1,9 @@
+{
+  "include": [
+    {"kernel_version": "5.10.226-android12-2024-11", "variant": "vTomsonek"},
+    {"kernel_version": "6.1.145-android14-2025-09", "variant": "TheWildJames"},
+    {"kernel_version": "6.1.157-android14-2025-12", "variant": "MarionKernel"},
+    {"kernel_version": "6.1.128-android14-2025-03", "variant": "Hakan"},
+    {"kernel_version": "5.10.226-android12-2024-11", "variant": "Neyugn"}
+  ]
+}

+ 11 - 0
.github/kernel-config/lts.json

@@ -0,0 +1,11 @@
+{
+  "include": [
+    {"kernel_version": "5.10.X-android12-lts"},
+    {"kernel_version": "5.10.X-android13-lts"},
+    {"kernel_version": "5.15.X-android13-lts"},
+    {"kernel_version": "5.15.X-android14-lts"},
+    {"kernel_version": "6.1.X-android14-lts"},
+    {"kernel_version": "6.6.X-android15-lts"},
+    {"kernel_version": "6.12.X-android16-lts"}
+  ]
+}

+ 5 - 0
.github/kernel-config/testing.json

@@ -0,0 +1,5 @@
+{
+  "include": [
+    {"kernel_version": "6.1.145-android14-2025-08", "variant": "Placeholder"}
+  ]
+}

+ 133 - 351
.github/workflows/build.yml

@@ -6,18 +6,9 @@ permissions:
 on:
 on:
   workflow_call:
   workflow_call:
     inputs:
     inputs:
-      android_version:
-        required: true
-        type: string
       kernel_version:
       kernel_version:
         required: true
         required: true
         type: string
         type: string
-      sub_level:
-        required: true
-        type: string
-      os_patch_level:
-        required: true
-        type: string
       variant:
       variant:
         required: false
         required: false
         type: string
         type: string
@@ -27,34 +18,43 @@ on:
       feature_set:
       feature_set:
         required: true
         required: true
         type: string
         type: string
-      build_bypass:
-        required: true
-        type: boolean
 
 
 jobs:
 jobs:
   build-gki:
   build-gki:
-    name: "${{ inputs.kernel_version }}.${{ inputs.sub_level }}-${{ inputs.android_version }}-${{ inputs.os_patch_level }}-${{ matrix.build_type }}"
+    name: "${{ inputs.kernel_version }}${{ inputs.variant && format('-{0}', inputs.variant) || '' }}"
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
     timeout-minutes: 60
     timeout-minutes: 60
-    strategy:
-      fail-fast: false
-      matrix:
-        build_type: >-
-          ${{
-            fromJSON(
-              inputs.variant == 'vTomsonek' && '["vTomsonek"]' ||
-              inputs.variant == 'TheWildJames' && '["TheWildJames"]' ||
-              inputs.variant == 'MarionKernel' && '["MarionKernel"]' ||
-              inputs.variant == 'Hakan' && '["Hakan"]' ||
-              inputs.variant == 'Neyugn' && '["Neyugn"]' ||
-              (inputs.build_bypass && '["Normal","Bypass"]' || '["Normal"]')
-            )
-          }}
 
 
     steps:
     steps:
     - name: Checkout Repository
     - name: Checkout Repository
       uses: actions/checkout@v4
       uses: actions/checkout@v4
 
 
+    - name: Parse kernel version
+      id: parse
+      run: |
+        # Parse from format: 5.10.125-android14-stable
+        # Extract: KERNEL_VERSION=5.10, SUB_LEVEL=125, ANDROID_VERSION=android14, OS_PATCH_LEVEL=stable
+        INPUT_VERSION="${{ inputs.kernel_version }}"
+        KERNEL_BASE="${INPUT_VERSION%%-*}"
+        KERNEL_VERSION="${KERNEL_BASE%.*}"
+        SUB_LEVEL="${KERNEL_BASE##*.}"
+        ANDROID_VERSION="${INPUT_VERSION#*-}"
+        ANDROID_VERSION="${ANDROID_VERSION%%-*}"
+        OS_PATCH_LEVEL="${INPUT_VERSION#*-}"
+        OS_PATCH_LEVEL="${OS_PATCH_LEVEL#*-}"
+        
+        # Set environment variables for subsequent steps and shell scripts
+        echo "ANDROID_VERSION=$ANDROID_VERSION" >> "$GITHUB_ENV"
+        echo "KERNEL_VERSION=$KERNEL_VERSION" >> "$GITHUB_ENV"
+        echo "SUB_LEVEL=$SUB_LEVEL" >> "$GITHUB_ENV"
+        echo "OS_PATCH_LEVEL=$OS_PATCH_LEVEL" >> "$GITHUB_ENV"
+
+        # Set step outputs for immediate YAML context access (avoids validation warnings)
+        echo "android_version=$ANDROID_VERSION" >> $GITHUB_OUTPUT
+        echo "kernel_version=$KERNEL_VERSION" >> $GITHUB_OUTPUT
+        echo "sub_level=$SUB_LEVEL" >> $GITHUB_OUTPUT
+        echo "os_patch_level=$OS_PATCH_LEVEL" >> $GITHUB_OUTPUT
+
     - name: Free Disk Space
     - name: Free Disk Space
       if: true
       if: true
       uses: endersonmenezes/free-disk-space@v3  # Use @main for latest, @v3 for stable
       uses: endersonmenezes/free-disk-space@v3  # Use @main for latest, @v3 for stable
@@ -71,92 +71,59 @@ jobs:
         rmz_version: "3.1.1"  # Required when rm_cmd is 'rmz'
         rmz_version: "3.1.1"  # Required when rm_cmd is 'rmz'
         testing: false
         testing: false
 
 
-    - name: Download AnyKernel3 Artifact
-      uses: actions/download-artifact@v4
-      with:
-        name: anykernel3
-        path: AnyKernel3
-
-    - name: Download Kernel Patches Artifact
-      uses: actions/download-artifact@v4
-      with:
-        name: kernel-patches
-        path: kernel_patches
-
-    - name: Download Git Repo Tool Artifact
+    - name: Download Build Dependencies
       uses: actions/download-artifact@v4
       uses: actions/download-artifact@v4
       with:
       with:
-        name: git-repo-tool
-        path: git-repo
+        name: build-dependencies
+        path: .
 
 
     - name: Setup Build Environment
     - name: Setup Build Environment
       run: |
       run: |
-        CONFIG="${{ inputs.android_version }}-${{ inputs.kernel_version }}-${{ inputs.sub_level }}"
-        KERNEL_ROOT="$GITHUB_WORKSPACE/$CONFIG"
-        mkdir -p "$KERNEL_ROOT"
-
-        cat >> $GITHUB_ENV << EOF
-        DEFCONFIG=$KERNEL_ROOT/common/arch/arm64/configs/gki_defconfig
-        DEFCONFIG_FRAGMENT=$KERNEL_ROOT/common/arch/arm64/configs/wild_gki.fragment
-        CONFIG=$CONFIG
-        KERNEL_ROOT=$KERNEL_ROOT
-        SUSFS4KSU=$GITHUB_WORKSPACE/susfs4ksu
-        KERNEL_PATCHES=$GITHUB_WORKSPACE/kernel_patches
-        ANYKERNEL3=$GITHUB_WORKSPACE/AnyKernel3
-        REPO=$GITHUB_WORKSPACE/git-repo/repo
-        EOF
+        mkdir -p "$GITHUB_WORKSPACE/kernel"
         
         
         # Ensure repo tool is executable
         # Ensure repo tool is executable
         chmod +x "$GITHUB_WORKSPACE/git-repo/repo"
         chmod +x "$GITHUB_WORKSPACE/git-repo/repo"
         echo "$GITHUB_WORKSPACE/git-repo" >> "$GITHUB_PATH"
         echo "$GITHUB_WORKSPACE/git-repo" >> "$GITHUB_PATH"
 
 
-    - name: Dependency Summary
-      run: |
-        echo "========================================"
-        echo "     Downloaded Dependencies Ready      "
-        echo "========================================"
-        echo "AnyKernel3      : ✓ $(ls -d AnyKernel3 2>/dev/null && echo 'Ready' || echo 'Missing')"
-        echo "Kernel Patches  : ✓ $(ls -d kernel_patches 2>/dev/null && echo 'Ready' || echo 'Missing')"
-        echo "Git Repo Tool   : ✓ $(ls git-repo/repo 2>/dev/null && echo 'Ready' || echo 'Missing')"
-        echo "========================================"
-
     - name: Download Kernel Repository
     - name: Download Kernel Repository
       uses: ./.github/actions/download-kernel
       uses: ./.github/actions/download-kernel
       with:
       with:
-        android_version: ${{ inputs.android_version }}
-        kernel_version: ${{ inputs.kernel_version }}
-        sub_level: ${{ inputs.sub_level }}
-        os_patch_level: ${{ inputs.os_patch_level }}
-        kernel_root: ${{ env.KERNEL_ROOT }}
+        android_version: ${{ steps.parse.outputs.android_version }}
+        kernel_version: ${{ steps.parse.outputs.kernel_version }}
+        os_patch_level: ${{ steps.parse.outputs.os_patch_level }}
 
 
     - name: Extract Sublevel and Set File Name
     - name: Extract Sublevel and Set File Name
+      id: extract
       run: |
       run: |
-        SUBLEVEL="${{ inputs.sub_level }}"
-        if [[ -f "$KERNEL_ROOT/common/Makefile" ]]; then
-          EXTRACTED=$(grep '^SUBLEVEL = ' "$KERNEL_ROOT/common/Makefile" | awk '{print $3}')
+        SUBLEVEL="$SUB_LEVEL"
+        if [[ -f "$GITHUB_WORKSPACE/kernel/common/Makefile" ]]; then
+          EXTRACTED=$(grep '^SUBLEVEL = ' "$GITHUB_WORKSPACE/kernel/common/Makefile" | awk '{print $3}')
           [[ -n "$EXTRACTED" ]] && SUBLEVEL="$EXTRACTED"
           [[ -n "$EXTRACTED" ]] && SUBLEVEL="$EXTRACTED"
         fi
         fi
 
 
-        ARTIFACT_BASE="${{ inputs.kernel_version }}.$SUBLEVEL-${{ inputs.android_version }}-${{ inputs.os_patch_level }}-${{ matrix.build_type }}"
+        FILE_NAME="$KERNEL_VERSION.$SUBLEVEL-$ANDROID_VERSION-$OS_PATCH_LEVEL${{ inputs.variant && format('-{0}', inputs.variant) || '' }}"
         echo "SUBLEVEL=$SUBLEVEL" >> $GITHUB_ENV
         echo "SUBLEVEL=$SUBLEVEL" >> $GITHUB_ENV
-        echo "ARTIFACT_BASE=$ARTIFACT_BASE" >> $GITHUB_ENV
-        echo "FILE_NAME=$ARTIFACT_BASE" >> $GITHUB_ENV
+        echo "FILE_NAME=$FILE_NAME" >> $GITHUB_ENV
+        
+        # Set step outputs for parse-time YAML context access
+        echo "file_name=$FILE_NAME" >> $GITHUB_OUTPUT
+        echo "sublevel=$SUBLEVEL" >> $GITHUB_OUTPUT
 
 
     - name: Apply glibc 2.38 Compatibility Fix
     - name: Apply glibc 2.38 Compatibility Fix
       if: false
       if: false
       run: |
       run: |
         # Use SUBLEVEL for LTS builds, otherwise use the input sub_level
         # Use SUBLEVEL for LTS builds, otherwise use the input sub_level
-        if [[ "${{ inputs.android_version }}" == "android13" && "${{ inputs.kernel_version }}" == "5.10" && $SUBLEVEL -le 186 ]] || 
-           [[ "${{ inputs.android_version }}" == "android13" && "${{ inputs.kernel_version }}" == "5.15" && $SUBLEVEL -le 119 ]] || 
-           [[ "${{ inputs.android_version }}" == "android14" && "${{ inputs.kernel_version }}" == "5.15" && $SUBLEVEL -le 110 ]] || 
-           [[ "${{ inputs.android_version }}" == "android14" && "${{ inputs.kernel_version }}" == "6.1" && $SUBLEVEL -le 43 ]]; then
+        if [[ "$ANDROID_VERSION" == "android13" && "$KERNEL_VERSION" == "5.10" && $SUBLEVEL -le 186 ]] || 
+           [[ "$ANDROID_VERSION" == "android13" && "$KERNEL_VERSION" == "5.15" && $SUBLEVEL -le 119 ]] || 
+           [[ "$ANDROID_VERSION" == "android14" && "$KERNEL_VERSION" == "5.15" && $SUBLEVEL -le 110 ]] || 
+           [[ "$ANDROID_VERSION" == "android14" && "$KERNEL_VERSION" == "6.1" && $SUBLEVEL -le 43 ]]; then
           GLIBC_VERSION=$(ldd --version 2>/dev/null | head -n 1 | awk '{print $NF}') 
           GLIBC_VERSION=$(ldd --version 2>/dev/null | head -n 1 | awk '{print $NF}') 
           if [ "$(printf '%s\n' "2.38" "$GLIBC_VERSION" | sort -V | head -n1)" = "2.38" ]; then 
           if [ "$(printf '%s\n' "2.38" "$GLIBC_VERSION" | sort -V | head -n1)" = "2.38" ]; then 
-            cd "$KERNEL_ROOT/common"
+            cd "$GITHUB_WORKSPACE/kernel/common"
             sed -i '/\$(Q)\$(MAKE) -C \$(SUBCMD_SRC) OUTPUT=\$(abspath \$(dir \$@))\/ \$(abspath \$@)/s//$(Q)$(MAKE) -C $(SUBCMD_SRC) EXTRA_CFLAGS="$(CFLAGS)" OUTPUT=$(abspath $(dir $@))\/ $(abspath $@)/' tools/bpf/resolve_btfids/Makefile 2>/dev/null || true
             sed -i '/\$(Q)\$(MAKE) -C \$(SUBCMD_SRC) OUTPUT=\$(abspath \$(dir \$@))\/ \$(abspath \$@)/s//$(Q)$(MAKE) -C $(SUBCMD_SRC) EXTRA_CFLAGS="$(CFLAGS)" OUTPUT=$(abspath $(dir $@))\/ $(abspath $@)/' tools/bpf/resolve_btfids/Makefile 2>/dev/null || true
-            if [[ "${{ inputs.android_version }}" == "android13" && "${{ inputs.kernel_version }}" == "5.10" && $SUBLEVEL -le 186 ]] || 
-               [[ "${{ inputs.android_version }}" == "android13" && "${{ inputs.kernel_version }}" == "5.15" && $SUBLEVEL -le 119 ]] || 
-               [[ "${{ inputs.android_version }}" == "android14" && "${{ inputs.kernel_version }}" == "5.15" && $SUBLEVEL -le 110 ]]; then
+            if [[ "$ANDROID_VERSION" == "android13" && "$KERNEL_VERSION" == "5.10" && $SUBLEVEL -le 186 ]] || 
+               [[ "$ANDROID_VERSION" == "android13" && "$KERNEL_VERSION" == "5.15" && $SUBLEVEL -le 119 ]] || 
+               [[ "$ANDROID_VERSION" == "android14" && "$KERNEL_VERSION" == "5.15" && $SUBLEVEL -le 110 ]]; then
               sed -i '/char \*buf = NULL;/a int i;' tools/lib/subcmd/parse-options.c 2>/dev/null || true
               sed -i '/char \*buf = NULL;/a int i;' tools/lib/subcmd/parse-options.c 2>/dev/null || true
               sed -i 's/for (int i = 0; subcommands\[i\]; i++) {/for (i = 0; subcommands[i]; i++) {/' tools/lib/subcmd/parse-options.c 2>/dev/null || true
               sed -i 's/for (int i = 0; subcommands\[i\]; i++) {/for (i = 0; subcommands[i]; i++) {/' tools/lib/subcmd/parse-options.c 2>/dev/null || true
               sed -i '/if (subcommands) {/a int i;' tools/lib/subcmd/parse-options.c 2>/dev/null || true
               sed -i '/if (subcommands) {/a int i;' tools/lib/subcmd/parse-options.c 2>/dev/null || true
@@ -166,8 +133,8 @@ jobs:
         fi 
         fi 
 
 
     - name: Fix Less Than 6.6.50 Builds
     - name: Fix Less Than 6.6.50 Builds
-      if: inputs.android_version == 'android15' && inputs.kernel_version == '6.6'
-      working-directory: ${{ env.KERNEL_ROOT }}/common
+      if: ${{ steps.parse.outputs.android_version == 'android15' && steps.parse.outputs.kernel_version == '6.6' }}
+      working-directory: ${{ github.workspace }}/kernel/common
       run: |
       run: |
         if ! grep -qxF '#include <trace/hooks/fs.h>' ./fs/namespace.c; then
         if ! grep -qxF '#include <trace/hooks/fs.h>' ./fs/namespace.c; then
             sed -i '/#include <trace\/hooks\/blk.h>/a #include <trace\/hooks\/fs.h>' ./fs/namespace.c
             sed -i '/#include <trace\/hooks\/blk.h>/a #include <trace\/hooks\/fs.h>' ./fs/namespace.c
@@ -175,47 +142,30 @@ jobs:
 
 
     - name: Setup Wild KSU
     - name: Setup Wild KSU
       if: contains(inputs.feature_set, 'WKSU')
       if: contains(inputs.feature_set, 'WKSU')
-      uses: ./.github/actions/setup-wksu
-      with:
-        ksu_commit: ${{ inputs.ksu_commit }}
-        kernel_root: ${{ env.KERNEL_ROOT }}
-
-    - name: Download SUSFS Cache Artifact
-      if: contains(inputs.feature_set, 'SUSFS')
-      uses: actions/download-artifact@v4
-      with:
-        name: susfs-cache
-        path: susfs_cache
+      uses: ./.github/actions/wksu
 
 
     - name: Setup SUSFS
     - name: Setup SUSFS
       if: contains(inputs.feature_set, 'SUSFS')
       if: contains(inputs.feature_set, 'SUSFS')
-      uses: ./.github/actions/setup-susfs
+      uses: ./.github/actions/susfs
       with:
       with:
-        android_version: ${{ inputs.android_version }}
-        kernel_version: ${{ inputs.kernel_version }}
-        os_patch_level: ${{ inputs.os_patch_level }}
-        sublevel: ${{ env.SUBLEVEL }}
-        kernel_root: ${{ env.KERNEL_ROOT }}
-        kernel_patches: ${{ env.KERNEL_PATCHES }}
-        susfs4ksu: ${{ env.SUSFS4KSU }}
+        android_version: ${{ steps.parse.outputs.android_version }}
+        kernel_version: ${{ steps.parse.outputs.kernel_version }}
+        os_patch_level: ${{ steps.parse.outputs.os_patch_level }}
+        sublevel: ${{ steps.parse.outputs.sub_level }}
 
 
     - name: Setup Baseband Guard
     - name: Setup Baseband Guard
       if: contains(inputs.feature_set, 'BBG')
       if: contains(inputs.feature_set, 'BBG')
-      uses: ./.github/actions/setup-bbg
-      with:
-        kernel_root: ${{ env.KERNEL_ROOT }}
-        defconfig_fragment: ${{ env.DEFCONFIG_FRAGMENT }}
+      uses: ./.github/actions/bbg
 
 
     - name: Apply Module Check Bypass
     - name: Apply Module Check Bypass
-      if: ${{ matrix.build_type == 'Bypass' || matrix.build_type == 'Hakan' }}
+      if: ${{ inputs.variant == 'Bypass' || inputs.variant == 'Hakan' }}
       run: |
       run: |
-        if [[ "${{ inputs.kernel_version }}" == "6.1" || "${{ inputs.kernel_version }}" == "6.6" || "${{ inputs.kernel_version }}" == "6.12" ]]; then
-          TARGET_FILE="$KERNEL_ROOT/common/kernel/module/version.c"
+        if [[ "$KERNEL_VERSION" == "6.1" || "$KERNEL_VERSION" == "6.6" || "$KERNEL_VERSION" == "6.12" ]]; then
+          TARGET_FILE="$GITHUB_WORKSPACE/kernel/common/kernel/module/version.c"
         else
         else
-          TARGET_FILE="$KERNEL_ROOT/common/kernel/module.c"
+          TARGET_FILE="$GITHUB_WORKSPACE/kernel/common/kernel/module.c"
         fi
         fi
-
-        echo "Applying bypass to $TARGET_FILE"
+        # Apply bypass patch to the target file
         sed -i '/bad_version:/{:a;n;/return 0;/{s/return 0;/return 1;/;b};ba}' "$TARGET_FILE"
         sed -i '/bad_version:/{:a;n;/return 0;/{s/return 0;/return 1;/;b};ba}' "$TARGET_FILE"
 
 
         # Verify the bypass
         # Verify the bypass
@@ -227,185 +177,49 @@ jobs:
           exit 1
           exit 1
         fi
         fi
 
 
-    - name: Fix WiFi and Bluetooth on Samsung 6.6 GKI devices
-      if: ${{ inputs.kernel_version == '6.6' }}
-      working-directory: ${{ env.KERNEL_ROOT }}/common
-      run: |
-        SYMBOL_LIST=android/abi_gki_aarch64_galaxy
-        echo "kdp_set_cred_non_rcu" >> $SYMBOL_LIST
-        echo "kdp_usecount_dec_and_test" >> $SYMBOL_LIST
-        echo "kdp_usecount_inc" >> $SYMBOL_LIST
-
-        PATCH="$KERNEL_PATCHES/samsung/min_kdp/add-min_kdp-symbols.patch"
-        if patch -p1 --dry-run < "$PATCH"; then
-          patch -p1 --no-backup-if-mismatch < $PATCH
-        fi
-
-        cp "$KERNEL_PATCHES/samsung/min_kdp/min_kdp.c" drivers/min_kdp.c
-        echo "obj-y += min_kdp.o" >> drivers/Makefile
-
-    - name: Fix WiFi and Bluetooth on Xiaomi 6.6 GKI devices
-      if: ${{ ( inputs.kernel_version == '6.6' ) }}
-      working-directory: ${{ env.KERNEL_ROOT }}/common
-      run: |
-        SYMBOL_LIST=android/abi_gki_aarch64_xiaomi
-        echo "device_find_any_child" >> $SYMBOL_LIST
+    - name: Apply Device-Specific Patches
+      uses: ./.github/actions/apply-device-patches
+      with:
+        kernel_version: ${{ steps.parse.outputs.kernel_version }}
 
 
     - name: Configure Kernel Options
     - name: Configure Kernel Options
-      working-directory: ${{ env.KERNEL_ROOT }}
-      run: |
-        cat >> "${{ env.DEFCONFIG_FRAGMENT }}" << 'EOF'
-        # KernelSU Configuration
-        CONFIG_KSU=y
-        CONFIG_KSU_SUSFS=y
-
-        # KPatch Next Support
-        CONFIG_KALLSYMS=y
-        CONFIG_KALLSYMS_ALL=y
-
-        # Mountify Support
-        CONFIG_TMPFS_XATTR=y
-        CONFIG_TMPFS_POSIX_ACL=y
-        
-        EOF
+      uses: ./.github/actions/configure-kernel
 
 
-        # Networking Configuration
-        #CONFIG_IP_NF_TARGET_TTL=y
-        #CONFIG_IP6_NF_TARGET_HL=y
-        #CONFIG_IP6_NF_MATCH_HL=y
-        
-        # BBR TCP Congestion Control
-        #CONFIG_TCP_CONG_ADVANCED=y
-        #CONFIG_TCP_CONG_BBR=y
-        #CONFIG_NET_SCH_FQ=y
-        ## CONFIG_TCP_CONG_BIC is not set
-        ## CONFIG_TCP_CONG_WESTWOOD is not set
-        ## CONFIG_TCP_CONG_HTCP is not set
-        
-        # IPSet Support
-        #CONFIG_IP_SET=y
-        #CONFIG_IP_SET_MAX=65534
-        #CONFIG_IP_SET_BITMAP_IP=y
-        #CONFIG_IP_SET_BITMAP_IPMAC=y
-        #CONFIG_IP_SET_BITMAP_PORT=y
-        #CONFIG_IP_SET_HASH_IP=y
-        #CONFIG_IP_SET_HASH_IPMARK=y
-        #CONFIG_IP_SET_HASH_IPPORT=y
-        #CONFIG_IP_SET_HASH_IPPORTIP=y
-        #CONFIG_IP_SET_HASH_IPPORTNET=y
-        #CONFIG_IP_SET_HASH_IPMAC=y
-        #CONFIG_IP_SET_HASH_MAC=y
-        #CONFIG_IP_SET_HASH_NETPORTNET=y
-        #CONFIG_IP_SET_HASH_NET=y
-        #CONFIG_IP_SET_HASH_NETNET=y
-        #CONFIG_IP_SET_HASH_NETPORT=y
-        #CONFIG_IP_SET_HASH_NETIFACE=y
-        #CONFIG_IP_SET_LIST_SET=y
-        
-        echo "Contents of ${{ env.DEFCONFIG_FRAGMENT }}:"
-        cat "${{ env.DEFCONFIG_FRAGMENT }}"
-
-    - name: Configure Audio Modules
-      if: inputs.variant == 'Hakan'
-      working-directory: ${{ env.KERNEL_ROOT }}
-      run: |
-        cat >> "${{ env.DEFCONFIG_FRAGMENT }}" << 'EOF'
-        CONFIG_RFKILL=y
-        CONFIG_CFG80211=y
-        CONFIG_MAC80211=y
-        EOF
+    - name: Setup Hakan
+      if: ${{ inputs.variant == 'Hakan' }}
+      uses: ./.github/actions/hakan
 
 
-        sed -i \
-          -e '/_COMMON_GKI_MODULES_LIST = \[/,/^[[:space:]]*\]/{/^[[:space:]]*"lib\/crypto\/libarc4\.ko",[[:space:]]*$/d}' \
-          -e '/_COMMON_GKI_MODULES_LIST = \[/,/^[[:space:]]*\]/{/^[[:space:]]*"net\/rfkill\/rfkill\.ko",[[:space:]]*$/d}' \
-          common/modules.bzl
+    - name: Setup vTomsonek
+      if: ${{ inputs.variant == 'vTomsonek' }}
+      uses: ./.github/actions/vtomsonek
+      with:
+        android_version: ${{ steps.parse.outputs.android_version }}
+        kernel_version: ${{ steps.parse.outputs.kernel_version }}
+        sublevel: ${{ steps.parse.outputs.sub_level }}
+        os_patch_level: ${{ steps.parse.outputs.os_patch_level }}
 
 
-    - name: Configure SND
-      if: inputs.variant == 'vTomsonek'
-      working-directory: ${{ env.KERNEL_ROOT }}
+    - name: Apply ABI Compare Bypass
+      working-directory: ${{ github.workspace }}/kernel
       run: |
       run: |
-        cat >> "${{ env.DEFCONFIG_FRAGMENT }}" << 'EOF'
-        # Sound Configuration
-        CONFIG_SND=y
-        CONFIG_SND_DRIVERS=y
-        CONFIG_SND_PCM=y
-        CONFIG_SND_TIMER=y
-        CONFIG_SND_DYNAMIC_MINORS=y
-        CONFIG_SND_PROC_FS=y
-        CONFIG_SND_ALOOP=m
-        CONFIG_USB_GADGET=y
-        CONFIG_CONFIGFS_FS=y
-        CONFIG_USB_CONFIGFS=y
-        CONFIG_USB_LIBCOMPOSITE=m
-        CONFIG_USB_AUDIO=m
-        CONFIG_USB_CONFIGFS_F_UAC1=y
-        CONFIG_USB_CONFIGFS_F_UAC2=y
-        EOF
-
-        # Add snd-aloop.ko to modules list
-        echo "drivers/usb/gadget/legacy/g_audio.ko" >> common/android/gki_aarch64_modules
-        echo "sound/drivers/snd-aloop.ko" >> common/android/gki_aarch64_modules
-        #echo "drivers/usb/gadget/libcomposite.ko" >> common/android/gki_aarch64_modules
-
-        if [[ -f common/modules.bzl ]]; then
-          # Insert before the closing bracket of COMMON_GKI_MODULES_LIST or _COMMON_GKI_MODULES_LIST
-          echo "Audio modules injection: adding to module list"
-          if [[ "${{ inputs.android_version }}" == "android14" && "${{ inputs.kernel_version }}" == "5.15" && $SUBLEVEL -le 110 && "${{ inputs.os_patch_level }}" != "2023-09" ]] \
-          || [[ "${{ inputs.android_version }}" == "android14" && "${{ inputs.kernel_version }}" == "6.1" && $SUBLEVEL -le 25 && "${{ inputs.os_patch_level }}" != "2023-09" ]]; then
-            # snd-aloop
-            sed -i '/COMMON_GKI_MODULES_LIST = \[/,/^[[:space:]]*\]/{/^[[:space:]]*\]$/i\    "sound/drivers/snd-aloop.ko",
-            }' common/modules.bzl
-            # USB Gadget Audio modules
-            sed -i '/COMMON_GKI_MODULES_LIST = \[/,/^[[:space:]]*\]/{/^[[:space:]]*\]$/i\    "drivers/usb/gadget/libcomposite.ko",
-            }' common/modules.bzl
-            sed -i '/COMMON_GKI_MODULES_LIST = \[/,/^[[:space:]]*\]/{/^[[:space:]]*\]$/i\    "drivers/usb/gadget/legacy/g_audio.ko",
-            }' common/modules.bzl
-          else
-            # snd-aloop
-            sed -i '/_COMMON_GKI_MODULES_LIST = \[/,/^[[:space:]]*\]/{/^[[:space:]]*\]$/i\    "sound/drivers/snd-aloop.ko",
-            }' common/modules.bzl
-            # USB Gadget Audio modules
-            sed -i '/_COMMON_GKI_MODULES_LIST = \[/,/^[[:space:]]*\]/{/^[[:space:]]*\]$/i\    "drivers/usb/gadget/libcomposite.ko",
-            }' common/modules.bzl
-            sed -i '/_COMMON_GKI_MODULES_LIST = \[/,/^[[:space:]]*\]/{/^[[:space:]]*\]$/i\    "drivers/usb/gadget/legacy/g_audio.ko",
-            }' common/modules.bzl
-          fi
-          
-          # Verify the injection was successful
-          if grep -q '"sound/drivers/snd-aloop.ko"' common/modules.bzl && \
-            grep -q '"drivers/usb/gadget/libcomposite.ko"' common/modules.bzl && \
-            grep -q '"drivers/usb/gadget/legacy/g_audio.ko"' common/modules.bzl && \
-            grep -q '"drivers/usb/gadget/configfs.ko"' common/modules.bzl; then
-            echo "✓ Audio modules injection: successfully added all modules to list"
-          else
-            echo "✗ Audio modules injection: failed to add one or more modules"
-            exit 1
-          fi
-        fi
-
-        # Add symbols to abi_gki_aarch64
-        #SYMBOL_LIST=common/android/abi_gki_aarch64
-        #cat Wild_KSU/kernel/export_symbol.txt | awk '{sub("[ \t]+","");print "  "$0}' >> $SYMBOL_LIST
-
         # ABI compare bypass per kernel/android version
         # ABI compare bypass per kernel/android version
         # Edit each block as needed per version
         # Edit each block as needed per version
-        if [[ "${{ inputs.android_version }}" == "android12" && "${{ inputs.kernel_version }}" == "5.10" ]]; then
+        if [[ "$ANDROID_VERSION" == "android12" && "$KERNEL_VERSION" == "5.10" ]]; then
           sed -i 's/^\s*exit 1$/    echo "Who Cares? Bypassing Now!"/' build/abi/compare_to_symbol_list
           sed -i 's/^\s*exit 1$/    echo "Who Cares? Bypassing Now!"/' build/abi/compare_to_symbol_list
-        elif [[ "${{ inputs.android_version }}" == "android13" && "${{ inputs.kernel_version }}" == "5.10" ]]; then
+        elif [[ "$ANDROID_VERSION" == "android13" && "$KERNEL_VERSION" == "5.10" ]]; then
           sed -i 's/^\s*exit 1$/    echo "Who Cares? Bypassing Now!"/' build/kernel/abi/compare_to_symbol_list
           sed -i 's/^\s*exit 1$/    echo "Who Cares? Bypassing Now!"/' build/kernel/abi/compare_to_symbol_list
-        elif [[ "${{ inputs.android_version }}" == "android13" && "${{ inputs.kernel_version }}" == "5.15" ]]; then
+        elif [[ "$ANDROID_VERSION" == "android13" && "$KERNEL_VERSION" == "5.15" ]]; then
           sed -i 's/^\s*exit 1$/    echo "Who Cares? Bypassing Now!"/' build/kernel/abi/compare_to_symbol_list
           sed -i 's/^\s*exit 1$/    echo "Who Cares? Bypassing Now!"/' build/kernel/abi/compare_to_symbol_list
-        elif [[ "${{ inputs.android_version }}" == "android14" && "${{ inputs.kernel_version }}" == "5.15" ]]; then
+        elif [[ "$ANDROID_VERSION" == "android14" && "$KERNEL_VERSION" == "5.15" ]]; then
           perl -i -pe 's/^(\s*)return 1$/$1print("Who Cares? Bypassing Now!")\n$1return 0/g if /if missing_symbols:/../return 1/' build/kernel/abi/check_buildtime_symbol_protection.py
           perl -i -pe 's/^(\s*)return 1$/$1print("Who Cares? Bypassing Now!")\n$1return 0/g if /if missing_symbols:/../return 1/' build/kernel/abi/check_buildtime_symbol_protection.py
-        elif [[ "${{ inputs.android_version }}" == "android14" && "${{ inputs.kernel_version }}" == "6.1" ]]; then
+        elif [[ "$ANDROID_VERSION" == "android14" && "$KERNEL_VERSION" == "6.1" ]]; then
           perl -i -pe 's/^(\s*)return 1$/$1print("Who Cares? Bypassing Now!")\n$1return 0/g if /if missing_symbols:/../return 1/' build/kernel/abi/check_buildtime_symbol_protection.py
           perl -i -pe 's/^(\s*)return 1$/$1print("Who Cares? Bypassing Now!")\n$1return 0/g if /if missing_symbols:/../return 1/' build/kernel/abi/check_buildtime_symbol_protection.py
-        elif [[ "${{ inputs.android_version }}" == "android15" && "${{ inputs.kernel_version }}" == "6.6" ]]; then
+        elif [[ "$ANDROID_VERSION" == "android15" && "$KERNEL_VERSION" == "6.6" ]]; then
           perl -i -pe 's/^(\s*)return 1$/$1print("Who Cares? Bypassing Now!")\n$1return 0/g if /if missing_symbols:/../return 1/' build/kernel/abi/check_buildtime_symbol_protection.py
           perl -i -pe 's/^(\s*)return 1$/$1print("Who Cares? Bypassing Now!")\n$1return 0/g if /if missing_symbols:/../return 1/' build/kernel/abi/check_buildtime_symbol_protection.py
         fi
         fi
 
 
     - name: Append ashmem exports if missing
     - name: Append ashmem exports if missing
-      if: ${{ inputs.android_version == 'android16' && inputs.kernel_version == '6.12' && false }}
-      working-directory: ${{ env.KERNEL_ROOT }}
+      if: ${{ steps.parse.outputs.android_version == 'android16' && steps.parse.outputs.kernel_version == '6.12' && false }}
+      working-directory: ${{ github.workspace }}/kernel
       run: |
       run: |
         FILE=common/drivers/staging/android/ashmem.c
         FILE=common/drivers/staging/android/ashmem.c
         if [[ -f "$FILE" ]] && ! grep -q 'is_ashmem_file' "$FILE"; then
         if [[ -f "$FILE" ]] && ! grep -q 'is_ashmem_file' "$FILE"; then
@@ -438,53 +252,26 @@ jobs:
           cat common/drivers/android/Makefile
           cat common/drivers/android/Makefile
         fi
         fi
 
 
-    - name: Change Kernel Name
-      working-directory: ${{ env.KERNEL_ROOT }}
-      run: |
-        #Wild to Kernel Version (replace last instance only)
-        if [[ "${{ inputs.kernel_version }}" == "5."* ]] || [[ "${{ inputs.kernel_version }}" == "6.1" ]]; then
-          case ${{ matrix.build_type }} in
-            MarionKernel)
-              perl -i -0777 -pe 's/(.*)echo "\$res"/$1echo "\$res-Wild-MarionKernel"/s' ./common/scripts/setlocalversion
-              ;;
-            Hakan)
-              perl -i -0777 -pe 's/(.*)echo "\$res"/$1echo "\$res-Wild-Hakan"/s' ./common/scripts/setlocalversion
-              ;;
-            *)
-              perl -i -0777 -pe 's/(.*)echo "\$res"/$1echo "\$res-Wild"/s' ./common/scripts/setlocalversion
-              ;;
-          esac
-        else
-          perl -i -0777 -pe 's/(.*)echo "\$\{KERNELVERSION\}\$\{file_localversion\}\$\{config_localversion\}\$\{LOCALVERSION\}\$\{scm_version\}"/$1echo "\${KERNELVERSION}\${file_localversion}\${config_localversion}\${LOCALVERSION}-Wild\${scm_version}"/s' ./common/scripts/setlocalversion
-        fi
-        export KBUILD_BUILD_TIMESTAMP="$(date -u '+%a %b %e %H:%M:%S UTC %Y')"
-        if [ -f "build/build.sh" ]; then
-          #Remove Dirty Flag
-          sed -i 's/-dirty//' ./common/scripts/setlocalversion
-        else
-          #Remove Dirty Flag
-          sed -i "/stable_scmversion_cmd/s/-maybe-dirty//g" ./build/kernel/kleaf/impl/stamp.bzl
-          sed -i 's/-dirty//' ./common/scripts/setlocalversion
-          #Remove Abi Exports and Error
-          rm -rf ./common/android/abi_gki_protected_exports_*
-          perl -pi -e 's/^\s*"protected_exports_list"\s*:\s*"android\/abi_gki_protected_exports_aarch64",\s*$//;' ./common/BUILD.bazel
-        fi
+    - name: Apply Kernel Branding
+      uses: ./.github/actions/apply-kernel-branding
+      with:
+        build_type: ${{ inputs.variant || 'Normal' }}
+        kernel_version: ${{ steps.parse.outputs.kernel_version }}
 
 
-        cd $KERNEL_ROOT/common
-        git config --global user.name "github-actions[bot]"
-        git config --global user.email "github-actions[bot]@users.noreply.github.com"
-        git add .
-        git commit -m "Wild: Clean Dirty Flag"
+    - name: Clean Kernel Flags
+      uses: ./.github/actions/clean-kernel-flags
 
 
     - name: Build Kernel
     - name: Build Kernel
-      working-directory: ${{ env.KERNEL_ROOT }}
+      working-directory: ${{ github.workspace }}/kernel
       run: |
       run: |
         set -ex
         set -ex
         #make -C common mrproper
         #make -C common mrproper
         if [ -f "build/build.sh" ]; then
         if [ -f "build/build.sh" ]; then
-          GKI_DEFCONFIG_FRAGMENT="${{ env.DEFCONFIG_FRAGMENT }}" LTO=thin BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh || exit 1
+          GKI_DEFCONFIG_FRAGMENT="$GITHUB_WORKSPACE/wild_gki.fragment" LTO=thin BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh || exit 1
         else
         else
-          if [[ "${{ inputs.android_version }}" == "android14" ]]; then
+          # Copy fragment to kernel tree for bazel
+          cp "$GITHUB_WORKSPACE/wild_gki.fragment" common/arch/arm64/configs/wild_gki.fragment
+          if [[ "$ANDROID_VERSION" == "android14" ]]; then
             tools/bazel build --config=fast --lto=thin --defconfig_fragment=//common:arch/arm64/configs/wild_gki.fragment //common:kernel_aarch64_dist || exit 1
             tools/bazel build --config=fast --lto=thin --defconfig_fragment=//common:arch/arm64/configs/wild_gki.fragment //common:kernel_aarch64_dist || exit 1
           else
           else
             tools/bazel build --config=fast --lto=none --defconfig_fragment=//common:arch/arm64/configs/wild_gki.fragment //common:kernel_aarch64_dist || exit 1
             tools/bazel build --config=fast --lto=none --defconfig_fragment=//common:arch/arm64/configs/wild_gki.fragment //common:kernel_aarch64_dist || exit 1
@@ -494,10 +281,10 @@ jobs:
     - name: Prepare AnyKernel3 Zip
     - name: Prepare AnyKernel3 Zip
       run: |
       run: |
         # Copy Image from normal build locations
         # Copy Image from normal build locations
-        if [ -f "$KERNEL_ROOT/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist/Image" ]; then
-          cp "$KERNEL_ROOT/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist/Image" "$ANYKERNEL3/Image"
-        elif [ -f "$KERNEL_ROOT/bazel-bin/common/kernel_aarch64/Image" ]; then
-          cp "$KERNEL_ROOT/bazel-bin/common/kernel_aarch64/Image" "$ANYKERNEL3/Image"
+        if [ -f "$GITHUB_WORKSPACE/kernel/out/$ANDROID_VERSION-$KERNEL_VERSION/dist/Image" ]; then
+          cp "$GITHUB_WORKSPACE/kernel/out/$ANDROID_VERSION-$KERNEL_VERSION/dist/Image" "$GITHUB_WORKSPACE/AnyKernel3/Image"
+        elif [ -f "$GITHUB_WORKSPACE/kernel/bazel-bin/common/kernel_aarch64/Image" ]; then
+          cp "$GITHUB_WORKSPACE/kernel/bazel-bin/common/kernel_aarch64/Image" "$GITHUB_WORKSPACE/AnyKernel3/Image"
         else
         else
           echo "Error: Image file not found in any expected location"
           echo "Error: Image file not found in any expected location"
           exit 1
           exit 1
@@ -507,25 +294,26 @@ jobs:
       if: ${{ inputs.variant == 'vTomsonek' }}
       if: ${{ inputs.variant == 'vTomsonek' }}
       run: |
       run: |
         if [ "${{ inputs.variant }}" = "vTomsonek" ]; then
         if [ "${{ inputs.variant }}" = "vTomsonek" ]; then
-          sed -i 's|^do\.modules=.*|do.modules=1|' ./AnyKernel3/anykernel.sh
+          sed -i 's|^do\.modules=.*|do.modules=1|' "$GITHUB_WORKSPACE/AnyKernel3/anykernel.sh"
         fi
         fi
 
 
-        mkdir -p AnyKernel3/modules/data/adb/lkm
+        mkdir -p "$GITHUB_WORKSPACE/AnyKernel3/modules/data/adb/lkm"
 
 
-        if [[ "${{ inputs.android_version }}" == "android12" || "${{ inputs.android_version }}" == "android13" ]]; then
-          SRC_DIR="$KERNEL_ROOT/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist"
+        if [[ "$ANDROID_VERSION" == "android12" || "$ANDROID_VERSION" == "android13" ]]; then
+          SRC_DIR="$GITHUB_WORKSPACE/kernel/out/$ANDROID_VERSION-$KERNEL_VERSION/dist"
         else
         else
-          SRC_DIR="$KERNEL_ROOT/bazel-bin/common/kernel_aarch64"
+          SRC_DIR="$GITHUB_WORKSPACE/kernel/bazel-bin/common/kernel_aarch64"
         fi
         fi
 
 
-        cp "$SRC_DIR/snd-aloop.ko" "$ANYKERNEL3/modules/data/adb/lkm/"
-        cp "$SRC_DIR/g_audio.ko" "$ANYKERNEL3/modules/data/adb/lkm/"
+        cp "$SRC_DIR/snd-aloop.ko" "$GITHUB_WORKSPACE/AnyKernel3/modules/data/adb/lkm/"
+        cp "$SRC_DIR/g_audio.ko" "$GITHUB_WORKSPACE/AnyKernel3/modules/data/adb/lkm/"
 
 
     - name: Scan and collect patch rejects
     - name: Scan and collect patch rejects
+      id: scan
       if: ${{ always() }}
       if: ${{ always() }}
       run: |
       run: |
         set -e
         set -e
-        CONFIG_DIR="$KERNEL_ROOT"
+        CONFIG_DIR="$GITHUB_WORKSPACE/kernel"
         REJECTS_DIR="$GITHUB_WORKSPACE/patch-rejects"
         REJECTS_DIR="$GITHUB_WORKSPACE/patch-rejects"
         mkdir -p "$REJECTS_DIR"
         mkdir -p "$REJECTS_DIR"
         # Find all .rej files under the configuration directory
         # Find all .rej files under the configuration directory
@@ -533,6 +321,7 @@ jobs:
         REJ_COUNT=${#REJS[@]}
         REJ_COUNT=${#REJS[@]}
         echo "Found $REJ_COUNT .rej files under $CONFIG_DIR"
         echo "Found $REJ_COUNT .rej files under $CONFIG_DIR"
         echo "REJ_COUNT=$REJ_COUNT" >> $GITHUB_ENV
         echo "REJ_COUNT=$REJ_COUNT" >> $GITHUB_ENV
+        echo "rej_count=$REJ_COUNT" >> $GITHUB_OUTPUT
         if [ "$REJ_COUNT" -gt 0 ]; then
         if [ "$REJ_COUNT" -gt 0 ]; then
           for REJ in "${REJS[@]}"; do
           for REJ in "${REJS[@]}"; do
             # Relative path from $CONFIG
             # Relative path from $CONFIG
@@ -554,16 +343,16 @@ jobs:
     - name: Upload Artifacts
     - name: Upload Artifacts
       uses: actions/upload-artifact@v4
       uses: actions/upload-artifact@v4
       with:
       with:
-        name: ${{ env.FILE_NAME }}-AnyKernel3
-        path: ./AnyKernel3/**
+        name: ${{ steps.extract.outputs.file_name }}-AnyKernel3
+        path: ${{ github.workspace }}/AnyKernel3/**
         if-no-files-found: ignore
         if-no-files-found: ignore
         compression-level: 9
         compression-level: 9
 
 
     - name: Upload Rejects
     - name: Upload Rejects
-      if: ${{ always() && matrix.build_type != 'Bypass' && env.REJ_COUNT > 0 }}
+      if: ${{ always() && inputs.variant != 'Bypass' && steps.scan.outputs.rej_count > 0 }}
       uses: actions/upload-artifact@v4
       uses: actions/upload-artifact@v4
       with:
       with:
-        name: ${{ env.FILE_NAME }}-Rejects
+        name: ${{ steps.extract.outputs.file_name }}-Rejects
         path: patch-rejects/
         path: patch-rejects/
         if-no-files-found: ignore
         if-no-files-found: ignore
         compression-level: 9
         compression-level: 9
@@ -571,32 +360,25 @@ jobs:
     - name: Build Summary
     - name: Build Summary
       if: ${{ always() }}
       if: ${{ always() }}
       run: |
       run: |
-        echo "========================================"
-        echo "       Kernel Build Summary             "
-        echo "========================================"
-        echo "Kernel Info:"
-        echo "Android Version     : ${{ inputs.android_version }}"
-        echo "Kernel Version      : ${{ inputs.kernel_version }}"
-        echo "Sub Level           : ${{ inputs.sub_level }}"
+        # Kernel info
+        echo "Android Version     : $ANDROID_VERSION"
+        echo "Kernel Version      : $KERNEL_VERSION"
+        echo "Sub Level           : $SUB_LEVEL"
         echo "Sub level (Makefile): $SUBLEVEL"
         echo "Sub level (Makefile): $SUBLEVEL"
-        echo "Patch Level         : ${{ inputs.os_patch_level }}"
-        echo "========================================"
-        echo "Branch Info:"
-        echo "Repo Branch         : common-${{ inputs.kernel_version }}-${{ inputs.android_version }}-${{ inputs.os_patch_level }}"
+        echo "Patch Level         : $OS_PATCH_LEVEL"
+        # Branch info
+        echo "Repo Branch         : common-$KERNEL_VERSION-$ANDROID_VERSION-$OS_PATCH_LEVEL || 'normal'"
         echo "Deprecated          : $DEPRECATED_BRANCH"
         echo "Deprecated          : $DEPRECATED_BRANCH"
-        echo "========================================"
-        echo "Build Info:"
-        echo "Build Type          : ${{ matrix.build_type }}"
-        echo "========================================"
-        echo "Features Info:"
+        # Build info
+        echo "Build Type          : ${{ inputs.variant || 'Normal' }}"
+        # Features info
         echo "Features            : ${{ inputs.feature_set || 'None' }}"
         echo "Features            : ${{ inputs.feature_set || 'None' }}"
         echo "WKSU Commit         : ${{ inputs.ksu_commit || 'canary' }}"
         echo "WKSU Commit         : ${{ inputs.ksu_commit || 'canary' }}"
         echo "WKSU Tag            : $KSU_GIT_TAG"
         echo "WKSU Tag            : $KSU_GIT_TAG"
         echo "WKSU Version        : $KSU_VERSION"
         echo "WKSU Version        : $KSU_VERSION"
         echo "BBG Commit          : $BBG_COMMIT"
         echo "BBG Commit          : $BBG_COMMIT"
         echo "BBG Version         : $BBG_VERSION"
         echo "BBG Version         : $BBG_VERSION"
-        echo "========================================"
+        # Variant info
         echo "Variant             : ${{ inputs.variant || 'Standard' }}"
         echo "Variant             : ${{ inputs.variant || 'Standard' }}"
         echo "Features            : ${{ inputs.feature_set || 'None' }}"
         echo "Features            : ${{ inputs.feature_set || 'None' }}"
-        echo "========================================"
 # End of workflow
 # End of workflow

+ 0 - 118
.github/workflows/cache-dependencies.yml

@@ -1,118 +0,0 @@
-name: Download Build Dependencies
-permissions:
-  contents: read
-  actions: write
-
-on:
-  workflow_call:
-    outputs:
-      dependencies-ready:
-        description: "Dependencies are downloaded and uploaded"
-        value: ${{ jobs.download-dependencies.outputs.status }}
-
-jobs:
-  download-dependencies:
-    name: Download Dependencies
-    runs-on: ubuntu-latest
-    timeout-minutes: 20
-    outputs:
-      status: ${{ steps.summary.outputs.status }}
-    
-    steps:
-    - name: Download Summary Start
-      run: |
-        echo "========================================"
-        echo "    Downloading Build Dependencies      "
-        echo "========================================"
-        echo "Started at: $(date)"
-    
-    - name: Clone AnyKernel3
-      run: |
-        git clone https://github.com/WildKernels/AnyKernel3.git -b gki-2.0 --depth=1
-        echo "AnyKernel3 commit: $(cd AnyKernel3 && git rev-parse --short HEAD)"
-    
-    - name: Clone Kernel Patches
-      run: |
-        git clone https://github.com/WildKernels/kernel_patches.git --depth=1
-        echo "Kernel Patches commit: $(cd kernel_patches && git rev-parse --short HEAD)"
-    
-    - name: Clone All SUSFS Branches
-      run: |
-        mkdir -p susfs_cache
-        
-        # List of all SUSFS branches we support
-        BRANCHES=(
-          "gki-android12-5.10"
-          "gki-android13-5.10"
-          "gki-android13-5.15"
-          "gki-android14-5.15"
-          "gki-android14-6.1"
-          "gki-android15-6.6"
-          "gki-android16-6.12"
-        )
-        
-        for BRANCH in "${BRANCHES[@]}"; do
-          echo "Cloning SUSFS branch: $BRANCH"
-          git clone https://gitlab.com/simonpunk/susfs4ksu.git -b "$BRANCH" --depth=1 "susfs_cache/$BRANCH" || {
-            echo "Warning: Failed to clone branch $BRANCH (may not exist yet)"
-            continue
-          }
-          COMMIT=$(cd "susfs_cache/$BRANCH" && git rev-parse --short HEAD 2>/dev/null || echo "N/A")
-          echo "  └─ Commit: $COMMIT"
-        done
-        
-        BRANCH_COUNT=$(ls -d susfs_cache/* 2>/dev/null | wc -l)
-        echo "SUSFS branches downloaded: $BRANCH_COUNT"
-    
-    - name: Download Git Repo Tool
-      run: |
-        mkdir -p git-repo
-        curl -L https://storage.googleapis.com/git-repo-downloads/repo -o git-repo/repo
-        chmod 0755 git-repo/repo
-        echo "Git repo tool downloaded"
-    
-    - name: Upload AnyKernel3 Artifact
-      uses: actions/upload-artifact@v4
-      with:
-        name: anykernel3
-        path: AnyKernel3/
-        retention-days: 1
-        compression-level: 6
-    
-    - name: Upload Kernel Patches Artifact
-      uses: actions/upload-artifact@v4
-      with:
-        name: kernel-patches
-        path: kernel_patches/
-        retention-days: 1
-        compression-level: 6
-    
-    - name: Upload SUSFS Cache Artifact
-      uses: actions/upload-artifact@v4
-      with:
-        name: susfs-cache
-        path: susfs_cache/
-        retention-days: 1
-        compression-level: 6
-    
-    - name: Upload Git Repo Tool Artifact
-      uses: actions/upload-artifact@v4
-      with:
-        name: git-repo-tool
-        path: git-repo/
-        retention-days: 1
-        compression-level: 0
-    
-    - name: Download Summary End
-      id: summary
-      run: |
-        echo "========================================"
-        echo "    Dependencies Download Complete      "
-        echo "========================================"
-        echo "AnyKernel3      : ✓ Uploaded as artifact"
-        echo "Kernel Patches  : ✓ Uploaded as artifact"
-        echo "SUSFS Branches  : ✓ Uploaded as artifact"
-        echo "Git Repo Tool   : ✓ Uploaded as artifact"
-        echo "========================================"
-        echo "Completed at: $(date)"
-        echo "status=success" >> $GITHUB_OUTPUT

+ 72 - 0
.github/workflows/dependencies.yml

@@ -0,0 +1,72 @@
+name: Download Build Dependencies
+
+permissions:
+  contents: read
+  actions: write
+
+on:
+  workflow_call:
+
+jobs:
+  download-dependencies:
+    name: Download Dependencies
+    runs-on: ubuntu-latest
+    timeout-minutes: 20
+    permissions:
+      contents: read
+      actions: write
+    steps:
+    - name: Download Wild KSU
+      shell: bash
+      run: |
+        # Download and run KSU setup
+        git clone "https://github.com/WildKernels/Wild_KSU.git" -b "canary" --depth=1
+
+        git clone https://github.com/WildKernels/AnyKernel3.git -b gki-2.0 --depth=1
+        echo "AnyKernel3 commit: $(cd AnyKernel3 && git rev-parse --short HEAD)"
+        
+        git clone https://github.com/WildKernels/kernel_patches.git --depth=1
+        echo "Kernel Patches commit: $(cd kernel_patches && git rev-parse --short HEAD)"
+        
+        mkdir -p susfs_cache
+
+        # List of all SUSFS branches we support
+        BRANCHES=(
+          "gki-android12-5.10"
+          "gki-android13-5.10"
+          "gki-android13-5.15"
+          "gki-android14-5.15"
+          "gki-android14-6.1"
+          "gki-android15-6.6"
+          "gki-android16-6.12"
+        )
+
+        for BRANCH in "${BRANCHES[@]}"; do
+          # Clone SUSFS branch
+          git clone https://gitlab.com/simonpunk/susfs4ksu.git -b "$BRANCH" --depth=1 "susfs_cache/$BRANCH" || {
+            echo "Warning: Failed to clone branch $BRANCH (may not exist yet)"
+            continue
+          }
+          COMMIT=$(cd "susfs_cache/$BRANCH" && git rev-parse --short HEAD 2>/dev/null || echo "N/A")
+          echo "  └─ Commit: $COMMIT"
+        done
+
+        BRANCH_COUNT=$(ls -d susfs_cache/* 2>/dev/null | wc -l)
+        echo "SUSFS branches downloaded: $BRANCH_COUNT"
+
+        mkdir -p git-repo
+        curl -L https://storage.googleapis.com/git-repo-downloads/repo -o git-repo/repo
+        chmod 0755 git-repo/repo
+
+    - name: Upload Build Dependencies
+      uses: actions/upload-artifact@v4
+      with:
+        name: build-dependencies
+        path: |
+          AnyKernel3/
+          kernel_patches/
+          susfs_cache/
+          git-repo/
+          Wild_KSU/
+          Baseband-guard/
+        compression-level: 9

+ 0 - 110
.github/workflows/kernel-a12-5-10.yml

@@ -1,110 +0,0 @@
-name: Kernel Config - A12 5.10
-
-permissions:
-  contents: write # Allow writing to repository contents
-  actions: write # Allows triggering actions
-
-on:
-  workflow_call:
-    inputs:
-      ksu_commit:
-        required: false
-        type: string
-      feature_set:
-        required: true
-        type: string
-      build_bypass:
-        required: true
-        type: boolean
-
-jobs:
-  build-kernels-a12:
-    name: "5.10.${{ matrix.sub_level }}-${{ matrix.os_patch_level }}"
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-        # Deprecated series (Android 12 - 5.10)
-        - sub_level: "43"
-          os_patch_level: "2021-08"
-        - sub_level: "43"
-          os_patch_level: "2021-09"
-        - sub_level: "43"
-          os_patch_level: "2021-10"
-        - sub_level: "66"
-          os_patch_level: "2021-11"
-        - sub_level: "66"
-          os_patch_level: "2021-12"
-        - sub_level: "66"
-          os_patch_level: "2022-01"
-        - sub_level: "81"
-          os_patch_level: "2022-02"
-        - sub_level: "81"
-          os_patch_level: "2022-03"
-        - sub_level: "101"
-          os_patch_level: "2022-04"
-        - sub_level: "101"
-          os_patch_level: "2022-05"
-        - sub_level: "110"
-          os_patch_level: "2022-06"
-        - sub_level: "110"
-          os_patch_level: "2022-07"
-        - sub_level: "117"
-          os_patch_level: "2022-08"
-        - sub_level: "117"
-          os_patch_level: "2022-09"
-        - sub_level: "136"
-          os_patch_level: "2022-10"
-        - sub_level: "136"
-          os_patch_level: "2022-11"
-        - sub_level: "149"
-          os_patch_level: "2022-12"
-        - sub_level: "149"
-          os_patch_level: "2023-01"
-        - sub_level: "160"
-          os_patch_level: "2023-02"
-        - sub_level: "160"
-          os_patch_level: "2023-03"
-        - sub_level: "168"
-          os_patch_level: "2023-04"
-        - sub_level: "168"
-          os_patch_level: "2023-05"
-        - sub_level: "177"
-          os_patch_level: "2023-06"
-        - sub_level: "177"
-          os_patch_level: "2023-07"
-        - sub_level: "185"
-          os_patch_level: "2023-09"
-        - sub_level: "198"
-          os_patch_level: "2023-11"
-        - sub_level: "198"
-          os_patch_level: "2024-01"
-        - sub_level: "205"
-          os_patch_level: "2024-03"
-        - sub_level: "209"
-          os_patch_level: "2024-05"
-        - sub_level: "218"
-          os_patch_level: "2024-08"
-        # Active series
-        - sub_level: "226"
-          os_patch_level: "2024-11"
-        - sub_level: "233"
-          os_patch_level: "2025-02"
-        - sub_level: "236"
-          os_patch_level: "2025-05"
-        - sub_level: "237"
-          os_patch_level: "2025-06"
-        - sub_level: "240"
-          os_patch_level: "2025-09"
-        - sub_level: "246"
-          os_patch_level: "2025-12"
-    uses: ./.github/workflows/build.yml
-    secrets: inherit
-    with:
-      android_version: "android12"
-      kernel_version: "5.10"
-      sub_level: ${{ matrix.sub_level }}
-      os_patch_level: ${{ matrix.os_patch_level }}
-      ksu_commit: ${{ inputs.ksu_commit }}
-      feature_set: ${{ inputs.feature_set }}
-      build_bypass: ${{ inputs.build_bypass }}

+ 0 - 112
.github/workflows/kernel-a13-5-10.yml

@@ -1,112 +0,0 @@
-name: Kernel Config - A13 5.10
-
-permissions:
-  contents: write # Allow writing to repository contents
-  actions: write # Allows triggering actions
-
-on:
-  workflow_call:
-    inputs:
-      ksu_commit:
-        required: false
-        type: string
-      feature_set:
-        required: true
-        type: string
-      build_bypass:
-        required: true
-        type: boolean
-
-jobs:
-  build-kernels-a13-5-10:
-    name: "5.10.${{ matrix.sub_level }}-${{ matrix.os_patch_level }}"
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-        # Deprecated series (Android 13 - 5.10)
-        - sub_level: "107"
-          os_patch_level: "2022-04"
-        - sub_level: "107"
-          os_patch_level: "2022-05"
-        - sub_level: "107"
-          os_patch_level: "2022-06"
-        - sub_level: "107"
-          os_patch_level: "2022-07"
-        - sub_level: "107"
-          os_patch_level: "2022-08"
-        - sub_level: "107"
-          os_patch_level: "2022-09"
-        - sub_level: "107"
-          os_patch_level: "2022-10"
-        - sub_level: "107"
-          os_patch_level: "2022-11"
-        - sub_level: "149"
-          os_patch_level: "2022-12"
-        - sub_level: "149"
-          os_patch_level: "2023-01"
-        - sub_level: "157"
-          os_patch_level: "2023-02"
-        - sub_level: "157"
-          os_patch_level: "2023-03"
-        - sub_level: "168"
-          os_patch_level: "2023-04"
-        - sub_level: "168"
-          os_patch_level: "2023-05"
-        - sub_level: "177"
-          os_patch_level: "2023-06"
-        - sub_level: "177"
-          os_patch_level: "2023-07"
-        - sub_level: "186"
-          os_patch_level: "2023-08"
-        - sub_level: "186"
-          os_patch_level: "2023-09"
-        - sub_level: "189"
-          os_patch_level: "2023-10"
-        - sub_level: "189"
-          os_patch_level: "2023-11"
-        - sub_level: "198"
-          os_patch_level: "2023-12"
-        - sub_level: "198"
-          os_patch_level: "2024-01"
-        - sub_level: "205"
-          os_patch_level: "2024-02"
-        - sub_level: "205"
-          os_patch_level: "2024-03"
-        - sub_level: "209"
-          os_patch_level: "2024-04"
-        - sub_level: "209"
-          os_patch_level: "2024-05"
-        - sub_level: "210"
-          os_patch_level: "2024-06"
-        - sub_level: "214"
-          os_patch_level: "2024-07"
-        - sub_level: "218"
-          os_patch_level: "2024-08"
-        # Active series
-        - sub_level: "223"
-          os_patch_level: "2024-09"
-        - sub_level: "223"
-          os_patch_level: "2024-11"
-        - sub_level: "228"
-          os_patch_level: "2025-01"
-        - sub_level: "234"
-          os_patch_level: "2025-03"
-        - sub_level: "236"
-          os_patch_level: "2025-05"
-        - sub_level: "238"
-          os_patch_level: "2025-07"
-        - sub_level: "243"
-          os_patch_level: "2025-10"
-        - sub_level: "246"
-          os_patch_level: "2026-01"
-    uses: ./.github/workflows/build.yml
-    secrets: inherit
-    with:
-      android_version: "android13"
-      kernel_version: "5.10"
-      sub_level: ${{ matrix.sub_level }}
-      os_patch_level: ${{ matrix.os_patch_level }}
-      ksu_commit: ${{ inputs.ksu_commit }}
-      feature_set: ${{ inputs.feature_set }}
-      build_bypass: ${{ inputs.build_bypass }}

+ 0 - 106
.github/workflows/kernel-a13-5-15.yml

@@ -1,106 +0,0 @@
-name: Kernel Config - A13 5.15
-
-permissions:
-  contents: write # Allow writing to repository contents
-  actions: write # Allows triggering actions
-
-on:
-  workflow_call:
-    inputs:
-      ksu_commit:
-        required: false
-        type: string
-      feature_set:
-        required: true
-        type: string
-      build_bypass:
-        required: true
-        type: boolean
-
-jobs:
-  build-kernels-a13-5-15:
-    name: "5.15.${{ matrix.sub_level }}-${{ matrix.os_patch_level }}"
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-        - sub_level: "41"
-          os_patch_level: "2022-06"
-        - sub_level: "41"
-          os_patch_level: "2022-07"
-        - sub_level: "41"
-          os_patch_level: "2022-08"
-        - sub_level: "41"
-          os_patch_level: "2022-09"
-        - sub_level: "41"
-          os_patch_level: "2022-10"
-        - sub_level: "41"
-          os_patch_level: "2022-11"
-        - sub_level: "74"
-          os_patch_level: "2022-12"
-        - sub_level: "74"
-          os_patch_level: "2023-01"
-        - sub_level: "78"
-          os_patch_level: "2023-02"
-        - sub_level: "78"
-          os_patch_level: "2023-03"
-        - sub_level: "94"
-          os_patch_level: "2023-04"
-        - sub_level: "94"
-          os_patch_level: "2023-05"
-        - sub_level: "104"
-          os_patch_level: "2023-06"
-        - sub_level: "104"
-          os_patch_level: "2023-07"
-        - sub_level: "119"
-          os_patch_level: "2023-08"
-        - sub_level: "119"
-          os_patch_level: "2023-09"
-        - sub_level: "123"
-          os_patch_level: "2023-10"
-        - sub_level: "123"
-          os_patch_level: "2023-11"
-        - sub_level: "137"
-          os_patch_level: "2023-12"
-        - sub_level: "137"
-          os_patch_level: "2024-01"
-        - sub_level: "144"
-          os_patch_level: "2024-02"
-        - sub_level: "144"
-          os_patch_level: "2024-03"
-        - sub_level: "148"
-          os_patch_level: "2024-04"
-        - sub_level: "148"
-          os_patch_level: "2024-05"
-        - sub_level: "149"
-          os_patch_level: "2024-06"
-        - sub_level: "149"
-          os_patch_level: "2024-07"
-        - sub_level: "151"
-          os_patch_level: "2024-08"
-        - sub_level: "153"
-          os_patch_level: "2024-09"
-        - sub_level: "167"
-          os_patch_level: "2024-11"
-        - sub_level: "170"
-          os_patch_level: "2025-01"
-        - sub_level: "178"
-          os_patch_level: "2025-03"
-        - sub_level: "180"
-          os_patch_level: "2025-05"
-        - sub_level: "185"
-          os_patch_level: "2025-07"
-        - sub_level: "189"
-          os_patch_level: "2025-09"
-        - sub_level: "194"
-          os_patch_level: "2025-12"
-    uses: ./.github/workflows/build.yml
-    secrets: inherit
-    with:
-      android_version: "android13"
-      kernel_version: "5.15"
-      sub_level: ${{ matrix.sub_level }}
-      os_patch_level: ${{ matrix.os_patch_level }}
-      ksu_commit: ${{ inputs.ksu_commit }}
-      feature_set: ${{ inputs.feature_set }}
-      build_bypass: ${{ inputs.build_bypass }}

+ 0 - 76
.github/workflows/kernel-a14-5-15.yml

@@ -1,76 +0,0 @@
-name: Kernel Config - A14 5.15
-
-permissions:
-  contents: write # Allow writing to repository contents
-  actions: write # Allows triggering actions
-
-on:
-  workflow_call:
-    inputs:
-      ksu_commit:
-        required: false
-        type: string
-      feature_set:
-        required: true
-        type: string
-      build_bypass:
-        required: true
-        type: boolean
-
-jobs:
-  build-kernels-a14-5-15:
-    name: "5.15.${{ matrix.sub_level }}-${{ matrix.os_patch_level }}"
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-        - sub_level: "110"
-          os_patch_level: "2023-06"
-        - sub_level: "110"
-          os_patch_level: "2023-08"
-        - sub_level: "110"
-          os_patch_level: "2023-09"
-        - sub_level: "131"
-          os_patch_level: "2023-11"
-        - sub_level: "137"
-          os_patch_level: "2024-01"
-        - sub_level: "144"
-          os_patch_level: "2024-02"
-        - sub_level: "144"
-          os_patch_level: "2024-03"
-        - sub_level: "148"
-          os_patch_level: "2024-04"
-        - sub_level: "148"
-          os_patch_level: "2024-05"
-        - sub_level: "149"
-          os_patch_level: "2024-06"
-        - sub_level: "153"
-          os_patch_level: "2024-07"
-        - sub_level: "158"
-          os_patch_level: "2024-08"
-        - sub_level: "164"
-          os_patch_level: "2024-09"
-        - sub_level: "167"
-          os_patch_level: "2024-11"
-        - sub_level: "170"
-          os_patch_level: "2025-01"
-        - sub_level: "178"
-          os_patch_level: "2025-03"
-        - sub_level: "180"
-          os_patch_level: "2025-05"
-        - sub_level: "185"
-          os_patch_level: "2025-07"
-        - sub_level: "192"
-          os_patch_level: "2025-10"
-        - sub_level: "196"
-          os_patch_level: "2026-01"
-    uses: ./.github/workflows/build.yml
-    secrets: inherit
-    with:
-      android_version: "android14"
-      kernel_version: "5.15"
-      sub_level: ${{ matrix.sub_level }}
-      os_patch_level: ${{ matrix.os_patch_level }}
-      ksu_commit: ${{ inputs.ksu_commit }}
-      feature_set: ${{ inputs.feature_set }}
-      build_bypass: ${{ inputs.build_bypass }}

+ 0 - 94
.github/workflows/kernel-a14-6-1.yml

@@ -1,94 +0,0 @@
-name: Kernel Config - A14 6.1
-
-permissions:
-  contents: write # Allow writing to repository contents
-  actions: write # Allows triggering actions
-
-on:
-  workflow_call:
-    inputs:
-      ksu_commit:
-        required: false
-        type: string
-      feature_set:
-        required: true
-        type: string
-      build_bypass:
-        required: true
-        type: boolean
-
-jobs:
-  build-kernels-a14-6-1:
-    name: "6.1.${{ matrix.sub_level }}-${{ matrix.os_patch_level }}"
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-        - sub_level: "25"
-          os_patch_level: "2023-06"
-        - sub_level: "25"
-          os_patch_level: "2023-07"
-        - sub_level: "25"
-          os_patch_level: "2023-08"
-        - sub_level: "25"
-          os_patch_level: "2023-09"
-        - sub_level: "25"
-          os_patch_level: "2023-10"
-        - sub_level: "43"
-          os_patch_level: "2023-11"
-        - sub_level: "57"
-          os_patch_level: "2023-12"
-        - sub_level: "57"
-          os_patch_level: "2024-01"
-        - sub_level: "68"
-          os_patch_level: "2024-02"
-        - sub_level: "68"
-          os_patch_level: "2024-03"
-        - sub_level: "75"
-          os_patch_level: "2024-04"
-        - sub_level: "75"
-          os_patch_level: "2024-05"
-        - sub_level: "78"
-          os_patch_level: "2024-06"
-        - sub_level: "84"
-          os_patch_level: "2024-07"
-        - sub_level: "90"
-          os_patch_level: "2024-08"
-        - sub_level: "93"
-          os_patch_level: "2024-09"
-        - sub_level: "99"
-          os_patch_level: "2024-10"
-        - sub_level: "112"
-          os_patch_level: "2024-11"
-        - sub_level: "115"
-          os_patch_level: "2024-12"
-        - sub_level: "118"
-          os_patch_level: "2025-01"
-        - sub_level: "124"
-          os_patch_level: "2025-02"
-        - sub_level: "128"
-          os_patch_level: "2025-03"
-        - sub_level: "129"
-          os_patch_level: "2025-04"
-        - sub_level: "134"
-          os_patch_level: "2025-05"
-        - sub_level: "138"
-          os_patch_level: "2025-06"
-        - sub_level: "141"
-          os_patch_level: "2025-07"
-        - sub_level: "145"
-          os_patch_level: "2025-08"
-        - sub_level: "145"
-          os_patch_level: "2025-09"
-        - sub_level: "157"
-          os_patch_level: "2025-12"
-    uses: ./.github/workflows/build.yml
-    secrets: inherit
-    with:
-      android_version: "android14"
-      kernel_version: "6.1"
-      sub_level: ${{ matrix.sub_level }}
-      os_patch_level: ${{ matrix.os_patch_level }}
-      ksu_commit: ${{ inputs.ksu_commit }}
-      feature_set: ${{ inputs.feature_set }}
-      build_bypass: ${{ inputs.build_bypass }}

+ 0 - 70
.github/workflows/kernel-a15-6-6.yml

@@ -1,70 +0,0 @@
-name: Kernel Config - A15 6.6
-
-permissions:
-  contents: write # Allow writing to repository contents
-  actions: write # Allows triggering actions
-
-on:
-  workflow_call:
-    inputs:
-      ksu_commit:
-        required: false
-        type: string
-      feature_set:
-        required: true
-        type: string
-      build_bypass:
-        required: true
-        type: boolean
-
-jobs:
-  build-kernels-a15:
-    name: "6.6.${{ matrix.sub_level }}-${{ matrix.os_patch_level }}"
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-        - sub_level: "30"
-          os_patch_level: "2024-07"
-        - sub_level: "30"
-          os_patch_level: "2024-08"
-        - sub_level: "46"
-          os_patch_level: "2024-09"
-        - sub_level: "50"
-          os_patch_level: "2024-10"
-        - sub_level: "56"
-          os_patch_level: "2024-11"
-        - sub_level: "57"
-          os_patch_level: "2024-12"
-        - sub_level: "58"
-          os_patch_level: "2025-01"
-        - sub_level: "66"
-          os_patch_level: "2025-02"
-        - sub_level: "77"
-          os_patch_level: "2025-03"
-        - sub_level: "82"
-          os_patch_level: "2025-04"
-        - sub_level: "87"
-          os_patch_level: "2025-05"
-        - sub_level: "89"
-          os_patch_level: "2025-06"
-        - sub_level: "92"
-          os_patch_level: "2025-07"
-        - sub_level: "98"
-          os_patch_level: "2025-08"
-        - sub_level: "98"
-          os_patch_level: "2025-09"
-        - sub_level: "102"
-          os_patch_level: "2025-10"
-        - sub_level: "118"
-          os_patch_level: "2026-01"
-    uses: ./.github/workflows/build.yml
-    secrets: inherit
-    with:
-      android_version: "android15"
-      kernel_version: "6.6"
-      sub_level: ${{ matrix.sub_level }}
-      os_patch_level: ${{ matrix.os_patch_level }}
-      ksu_commit: ${{ inputs.ksu_commit }}
-      feature_set: ${{ inputs.feature_set }}
-      build_bypass: ${{ inputs.build_bypass }}

+ 0 - 48
.github/workflows/kernel-a16-6-12.yml

@@ -1,48 +0,0 @@
-name: Kernel Config - A16 6.12
-
-permissions:
-  contents: write
-  actions: write
-
-on:
-  workflow_call:
-    inputs:
-      ksu_commit:
-        required: false
-        type: string
-      feature_set:
-        required: true
-        type: string
-      build_bypass:
-        required: true
-        type: boolean
-
-jobs:
-  build-kernels-a16-6-12:
-    name: "6.12.${{ matrix.sub_level }}-${{ matrix.os_patch_level }}"
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-        - sub_level: "23"
-          os_patch_level: "2025-05-exp"
-        - sub_level: "30"
-          os_patch_level: "2025-07"
-        - sub_level: "38"
-          os_patch_level: "2025-08"
-        - sub_level: "38"
-          os_patch_level: "2025-09"
-        - sub_level: "58"
-          os_patch_level: "2025-12"
-        # Add more sublevels/patch levels as needed
-    uses: ./.github/workflows/build.yml
-    secrets: inherit
-    with:
-      android_version: "android16"
-      kernel_version: "6.12"
-      sub_level: ${{ matrix.sub_level }}
-      os_patch_level: ${{ matrix.os_patch_level }}
-      variant: "A16-612"
-      ksu_commit: ${{ inputs.ksu_commit }}
-      feature_set: ${{ inputs.feature_set }}
-      build_bypass: ${{ inputs.build_bypass }}

+ 0 - 62
.github/workflows/kernel-custom.yml

@@ -1,62 +0,0 @@
-name: Kernel Config - Custom
-
-permissions:
-  contents: write
-  actions: write
-
-on:
-  workflow_call:
-    inputs:
-      ksu_commit:
-        required: false
-        type: string
-      feature_set:
-        required: true
-        type: string
-      build_bypass:
-        required: true
-        type: boolean
-
-jobs:
-  build-kernel-custom:
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-        - android_version: "android12"
-          kernel_version: "5.10"
-          sub_level: "226"
-          os_patch_level: "2024-11"
-          variant: "vTomsonek"
-        - android_version: "android14"
-          kernel_version: "6.1"
-          sub_level: "145"
-          os_patch_level: "2025-09"
-          variant: "TheWildJames"
-        - android_version: "android14"
-          kernel_version: "6.1"
-          sub_level: "157"
-          os_patch_level: "2025-12"
-          variant: "MarionKernel"
-        - android_version: "android14"
-          kernel_version: "6.1"
-          sub_level: "128"
-          os_patch_level: "2025-03"
-          variant: "Hakan"
-        - android_version: "android12"
-          kernel_version: "5.10"
-          sub_level: "226"
-          os_patch_level: "2024-11"
-          variant: "Neyugn"
-
-    uses: ./.github/workflows/build.yml
-    secrets: inherit
-    with:
-      android_version: ${{ matrix.android_version }}
-      kernel_version: ${{ matrix.kernel_version }}
-      sub_level: ${{ matrix.sub_level }}
-      os_patch_level: ${{ matrix.os_patch_level }}
-      variant: ${{ matrix.variant }}
-      ksu_commit: ${{ inputs.ksu_commit }}
-      feature_set: ${{ inputs.feature_set }}
-      build_bypass: ${{ inputs.build_bypass }}

+ 0 - 65
.github/workflows/kernel-lts.yml

@@ -1,65 +0,0 @@
-name: Kernel Config - LTS AIO
-
-permissions:
-  contents: write
-  actions: write
-
-on:
-  workflow_call:
-    inputs:
-      ksu_commit:
-        required: false
-        type: string
-      feature_set:
-        required: true
-        type: string
-      build_bypass:
-        required: true
-        type: boolean
-
-jobs:
-  build-kernels-lts:
-    name: "LTS-${{ matrix.android_version }}-${{ matrix.kernel_version }}"
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-          - android_version: "android12"
-            kernel_version: "5.10"
-            sub_level: "X"
-            os_patch_level: "lts"
-          - android_version: "android13"
-            kernel_version: "5.10"
-            sub_level: "X"
-            os_patch_level: "lts"
-          - android_version: "android13"
-            kernel_version: "5.15"
-            sub_level: "X"
-            os_patch_level: "lts"
-          - android_version: "android14"
-            kernel_version: "5.15"
-            sub_level: "X"
-            os_patch_level: "lts"
-          - android_version: "android14"
-            kernel_version: "6.1"
-            sub_level: "X"
-            os_patch_level: "lts"
-          - android_version: "android15"
-            kernel_version: "6.6"
-            sub_level: "X"
-            os_patch_level: "lts"
-          - android_version: "android16"
-            kernel_version: "6.12"
-            sub_level: "X"
-            os_patch_level: "lts"
-
-    uses: ./.github/workflows/build.yml
-    secrets: inherit
-    with:
-      android_version: ${{ matrix.android_version }}
-      kernel_version: ${{ matrix.kernel_version }}
-      sub_level: ${{ matrix.sub_level }}
-      os_patch_level: ${{ matrix.os_patch_level }}
-      ksu_commit: ${{ inputs.ksu_commit }}
-      feature_set: ${{ inputs.feature_set }}
-      build_bypass: ${{ inputs.build_bypass }}

+ 0 - 48
.github/workflows/kernel-testing.yml

@@ -1,48 +0,0 @@
-name: Kernel Config - Testing
-
-permissions:
-  contents: write
-  actions: write
-
-on:
-  workflow_call:
-    inputs:
-      ksu_commit:
-        required: false
-        type: string
-      feature_set:
-        required: true
-        type: string
-      build_bypass:
-        required: true
-        type: boolean
-
-jobs:
-  build-kernels-testing:
-    name: "Testing-${{ matrix.android_version }}-${{ matrix.kernel_version }}"
-    strategy:
-      fail-fast: false
-      matrix:
-        include:
-          - android_version: "android14"
-            kernel_version: "6.1"
-            sub_level: "145"
-            os_patch_level: "2025-09"
-            variant: "TheWildJames"
-          - android_version: "android14"
-            kernel_version: "6.1"
-            sub_level: "145"
-            os_patch_level: "2025-08"
-            variant: "TheWildJames2"
-
-    uses: ./.github/workflows/build.yml
-    secrets: inherit
-    with:
-      android_version: ${{ matrix.android_version }}
-      kernel_version: ${{ matrix.kernel_version }}
-      sub_level: ${{ matrix.sub_level }}
-      os_patch_level: ${{ matrix.os_patch_level }}
-      variant: ${{ matrix.variant }}
-      ksu_commit: ${{ inputs.ksu_commit }}
-      feature_set: ${{ inputs.feature_set }}
-      build_bypass: ${{ inputs.build_bypass }}

+ 212 - 72
.github/workflows/main.yml

@@ -17,10 +17,6 @@ on:
         type: string
         type: string
         default: ""
         default: ""
         required: false
         required: false
-      build_bypass:
-        description: "Build Bypass"
-        type: boolean
-        default: false
       kernel_build_version:
       kernel_build_version:
         description: "Kernel Version to Build"
         description: "Kernel Version to Build"
         type: choice
         type: choice
@@ -36,6 +32,7 @@ on:
           - lts
           - lts
           - custom
           - custom
           - testing
           - testing
+          - bypass
         default: custom
         default: custom
       feature_set:
       feature_set:
         description: "Feature Set"
         description: "Feature Set"
@@ -48,117 +45,223 @@ on:
           - None
           - None
         default: WKSU+SUSFS+BBG
         default: WKSU+SUSFS+BBG
   push:
   push:
+    branches:
+      - main
+    paths-ignore:
+      - '**.md'
+      - 'docs/**'
+      - '.github/ISSUE_TEMPLATE/**'
+      - '.github/*.md'
+      - '.github/*.txt'
 
 
 jobs:
 jobs:
   download-dependencies:
   download-dependencies:
-    uses: ./.github/workflows/cache-dependencies.yml
+    uses: ./.github/workflows/dependencies.yml
+
+  load-configs:
+    runs-on: ubuntu-latest
     permissions:
     permissions:
       contents: read
       contents: read
-      actions: write
+    outputs:
+      a12-5-10: ${{ steps.load.outputs.a12-5-10 }}
+      a13-5-10: ${{ steps.load.outputs.a13-5-10 }}
+      a13-5-15: ${{ steps.load.outputs.a13-5-15 }}
+      a14-5-15: ${{ steps.load.outputs.a14-5-15 }}
+      a14-6-1: ${{ steps.load.outputs.a14-6-1 }}
+      a15-6-6: ${{ steps.load.outputs.a15-6-6 }}
+      a16-6-12: ${{ steps.load.outputs.a16-6-12 }}
+      lts: ${{ steps.load.outputs.lts }}
+      custom: ${{ steps.load.outputs.custom }}
+      testing: ${{ steps.load.outputs.testing }}
+      bypass: ${{ steps.load.outputs.bypass }}
+    steps:
+    - uses: actions/checkout@v4
+    - name: Load all matrix configs
+      id: load
+      run: |
+        echo "a12-5-10=$(jq -c . .github/kernel-config/a12-5.10.json)" >> $GITHUB_OUTPUT
+        echo "a13-5-10=$(jq -c . .github/kernel-config/a13-5.10.json)" >> $GITHUB_OUTPUT
+        echo "a13-5-15=$(jq -c . .github/kernel-config/a13-5.15.json)" >> $GITHUB_OUTPUT
+        echo "a14-5-15=$(jq -c . .github/kernel-config/a14-5.15.json)" >> $GITHUB_OUTPUT
+        echo "a14-6-1=$(jq -c . .github/kernel-config/a14-6.1.json)" >> $GITHUB_OUTPUT
+        echo "a15-6-6=$(jq -c . .github/kernel-config/a15-6.6.json)" >> $GITHUB_OUTPUT
+        echo "a16-6-12=$(jq -c . .github/kernel-config/a16-6.12.json)" >> $GITHUB_OUTPUT
+        echo "lts=$(jq -c . .github/kernel-config/lts.json)" >> $GITHUB_OUTPUT
+        echo "custom=$(jq -c . .github/kernel-config/custom.json)" >> $GITHUB_OUTPUT
+        echo "testing=$(jq -c . .github/kernel-config/testing.json)" >> $GITHUB_OUTPUT
+        echo "bypass=$(jq -c . .github/kernel-config/bypass.json)" >> $GITHUB_OUTPUT
 
 
   build-a12-5-10:
   build-a12-5-10:
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a12-5-10' }}
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a12-5-10' }}
-    needs: [download-dependencies]
-    uses: ./.github/workflows/kernel-a12-5-10.yml
+    needs: [download-dependencies, load-configs]
+    name: "${{ matrix.kernel_version }}${{ matrix.variant && format('-{0}', matrix.variant) || '' }}"
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.load-configs.outputs.a12-5-10) }}
+    uses: ./.github/workflows/build.yml
     secrets: inherit
     secrets: inherit
     with:
     with:
-      ksu_commit: ${{ inputs.ksu_commit || '' }}
-      build_bypass: ${{ inputs.build_bypass || false }}
-      feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
+      kernel_version: ${{ matrix.kernel_version }}
+      variant: ${{ matrix.variant }}
+      ksu_commit: ${{ inputs.ksu_commit }}
+      feature_set: ${{ inputs.feature_set }}
 
 
   build-a13-5-10:
   build-a13-5-10:
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a13-5-10' }}
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a13-5-10' }}
-    needs: [download-dependencies]
-    uses: ./.github/workflows/kernel-a13-5-10.yml
+    needs: [download-dependencies, load-configs]
+    name: "${{ matrix.kernel_version }}${{ matrix.variant && format('-{0}', matrix.variant) || '' }}"
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.load-configs.outputs.a13-5-10) }}
+    uses: ./.github/workflows/build.yml
     secrets: inherit
     secrets: inherit
     with:
     with:
-      ksu_commit: ${{ inputs.ksu_commit || '' }}
-      build_bypass: ${{ inputs.build_bypass || false }}
-      feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
+      kernel_version: ${{ matrix.kernel_version }}
+      variant: ${{ matrix.variant }}
+      ksu_commit: ${{ inputs.ksu_commit }}
+      feature_set: ${{ inputs.feature_set }}
 
 
   build-a13-5-15:
   build-a13-5-15:
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a13-5-15' }}
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a13-5-15' }}
-    needs: [download-dependencies]
-    uses: ./.github/workflows/kernel-a13-5-15.yml
+    needs: [download-dependencies, load-configs]
+    name: "${{ matrix.kernel_version }}${{ matrix.variant && format('-{0}', matrix.variant) || '' }}"
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.load-configs.outputs.a13-5-15) }}
+    uses: ./.github/workflows/build.yml
     secrets: inherit
     secrets: inherit
     with:
     with:
-      ksu_commit: ${{ inputs.ksu_commit || '' }}
-      build_bypass: ${{ inputs.build_bypass || false }}
-      feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
+      kernel_version: ${{ matrix.kernel_version }}
+      variant: ${{ matrix.variant }}
+      ksu_commit: ${{ inputs.ksu_commit }}
+      feature_set: ${{ inputs.feature_set }}
 
 
   build-a14-5-15:
   build-a14-5-15:
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a14-5-15' }}
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a14-5-15' }}
-    needs: [download-dependencies]
-    uses: ./.github/workflows/kernel-a14-5-15.yml
+    needs: [download-dependencies, load-configs]
+    name: "${{ matrix.kernel_version }}${{ matrix.variant && format('-{0}', matrix.variant) || '' }}"
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.load-configs.outputs.a14-5-15) }}
+    uses: ./.github/workflows/build.yml
     secrets: inherit
     secrets: inherit
     with:
     with:
-      ksu_commit: ${{ inputs.ksu_commit || '' }}
-      build_bypass: ${{ inputs.build_bypass || false }}
-      feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
+      kernel_version: ${{ matrix.kernel_version }}
+      variant: ${{ matrix.variant }}
+      ksu_commit: ${{ inputs.ksu_commit }}
+      feature_set: ${{ inputs.feature_set }}
 
 
   build-a14-6-1:
   build-a14-6-1:
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a14-6-1' }}
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a14-6-1' }}
-    needs: [download-dependencies]
-    uses: ./.github/workflows/kernel-a14-6-1.yml
+    needs: [download-dependencies, load-configs]
+    name: "${{ matrix.kernel_version }}${{ matrix.variant && format('-{0}', matrix.variant) || '' }}"
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.load-configs.outputs.a14-6-1) }}
+    uses: ./.github/workflows/build.yml
     secrets: inherit
     secrets: inherit
     with:
     with:
-      ksu_commit: ${{ inputs.ksu_commit || '' }}
-      build_bypass: ${{ inputs.build_bypass || false }}
-      feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
+      kernel_version: ${{ matrix.kernel_version }}
+      variant: ${{ matrix.variant }}
+      ksu_commit: ${{ inputs.ksu_commit }}
+      feature_set: ${{ inputs.feature_set }}
 
 
   build-a15-6-6:
   build-a15-6-6:
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a15-6-6' }}
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a15-6-6' }}
-    needs: [download-dependencies]
-    uses: ./.github/workflows/kernel-a15-6-6.yml
+    needs: [download-dependencies, load-configs]
+    name: "${{ matrix.kernel_version }}${{ matrix.variant && format('-{0}', matrix.variant) || '' }}"
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.load-configs.outputs.a15-6-6) }}
+    uses: ./.github/workflows/build.yml
     secrets: inherit
     secrets: inherit
     with:
     with:
-      ksu_commit: ${{ inputs.ksu_commit || '' }}
-      build_bypass: ${{ inputs.build_bypass || false }}
-      feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
+      kernel_version: ${{ matrix.kernel_version }}
+      variant: ${{ matrix.variant }}
+      ksu_commit: ${{ inputs.ksu_commit }}
+      feature_set: ${{ inputs.feature_set }}
 
 
   build-a16-6-12:
   build-a16-6-12:
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a16-6-12' }}
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'a16-6-12' }}
-    needs: [download-dependencies]
-    uses: ./.github/workflows/kernel-a16-6-12.yml
+    needs: [download-dependencies, load-configs]
+    name: "${{ matrix.kernel_version }}${{ matrix.variant && format('-{0}', matrix.variant) || '' }}"
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.load-configs.outputs.a16-6-12) }}
+    uses: ./.github/workflows/build.yml
     secrets: inherit
     secrets: inherit
     with:
     with:
-      ksu_commit: ${{ inputs.ksu_commit || '' }}
-      build_bypass: ${{ inputs.build_bypass || false }}
-      feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
+      kernel_version: ${{ matrix.kernel_version }}
+      variant: ${{ matrix.variant }}
+      ksu_commit: ${{ inputs.ksu_commit }}
+      feature_set: ${{ inputs.feature_set }}
   
   
   build-lts:
   build-lts:
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'lts' || github.event_name == 'push' }}
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'lts' || github.event_name == 'push' }}
-    needs: [download-dependencies]
-    uses: ./.github/workflows/kernel-lts.yml
+    needs: [download-dependencies, load-configs]
+    name: "${{ matrix.kernel_version }}${{ matrix.variant && format('-{0}', matrix.variant) || '' }}"
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.load-configs.outputs.lts) }}
+    uses: ./.github/workflows/build.yml
     secrets: inherit
     secrets: inherit
     with:
     with:
+      kernel_version: ${{ matrix.kernel_version }}
+      variant: ${{ matrix.variant || '' }}
       ksu_commit: ${{ inputs.ksu_commit || '' }}
       ksu_commit: ${{ inputs.ksu_commit || '' }}
-      build_bypass: ${{ inputs.build_bypass || false }}
       feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
       feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
 
 
   build-custom:
   build-custom:
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'custom' }}
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'custom' }}
-    needs: [download-dependencies]
-    uses: ./.github/workflows/kernel-custom.yml
+    needs: [download-dependencies, load-configs]
+    name: "${{ matrix.kernel_version }}${{ matrix.variant && format('-{0}', matrix.variant) || '' }}"
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.load-configs.outputs.custom) }}
+    uses: ./.github/workflows/build.yml
     secrets: inherit
     secrets: inherit
     with:
     with:
-      ksu_commit: ${{ inputs.ksu_commit || '' }}
-      build_bypass: ${{ inputs.build_bypass || false }}
-      feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
+      kernel_version: ${{ matrix.kernel_version }}
+      variant: ${{ matrix.variant }}
+      ksu_commit: ${{ inputs.ksu_commit }}
+      feature_set: ${{ inputs.feature_set }}
 
 
   build-testing:
   build-testing:
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'testing' || github.event_name == 'push' }}
     if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'testing' || github.event_name == 'push' }}
-    needs: [download-dependencies]
-    uses: ./.github/workflows/kernel-testing.yml
+    needs: [download-dependencies, load-configs]
+    name: "${{ matrix.kernel_version }}${{ matrix.variant && format('-{0}', matrix.variant) || '' }}"
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.load-configs.outputs.testing) }}
+    uses: ./.github/workflows/build.yml
     secrets: inherit
     secrets: inherit
     with:
     with:
+      kernel_version: ${{ matrix.kernel_version }}
+      variant: ${{ matrix.variant || '' }}
       ksu_commit: ${{ inputs.ksu_commit || '' }}
       ksu_commit: ${{ inputs.ksu_commit || '' }}
-      build_bypass: ${{ inputs.build_bypass || false }}
       feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
       feature_set: ${{ inputs.feature_set || 'WKSU+SUSFS+BBG' }}
 
 
+  build-bypass:
+    if: ${{ inputs.kernel_build_version == 'all' || inputs.kernel_build_version == 'bypass' }}
+    needs: [download-dependencies, load-configs]
+    name: "${{ matrix.kernel_version }}${{ matrix.variant && format('-{0}', matrix.variant) || '' }}"
+    strategy:
+      fail-fast: false
+      matrix: ${{ fromJSON(needs.load-configs.outputs.bypass) }}
+    uses: ./.github/workflows/build.yml
+    secrets: inherit
+    with:
+      kernel_version: ${{ matrix.kernel_version }}
+      variant: ${{ matrix.variant || '' }}
+      ksu_commit: ${{ inputs.ksu_commit || '' }}
+      feature_set: ${{ inputs.feature_set }}
+
   rej:
   rej:
     if: always()
     if: always()
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
+    permissions:
+      actions: read
+      contents: read
     needs:
     needs:
     - build-a12-5-10
     - build-a12-5-10
     - build-a13-5-10
     - build-a13-5-10
@@ -170,6 +273,7 @@ jobs:
     - build-custom
     - build-custom
     - build-lts
     - build-lts
     - build-testing
     - build-testing
+    - build-bypass
     steps:
     steps:
     - name: Download Misc Artifacts
     - name: Download Misc Artifacts
       uses: actions/download-artifact@v5
       uses: actions/download-artifact@v5
@@ -187,7 +291,7 @@ jobs:
             [ -d "$dir" ] || continue
             [ -d "$dir" ] || continue
             
             
             dirname=$(basename "$dir")
             dirname=$(basename "$dir")
-            echo "Processing $dirname..."
+          # Process each reject artifact
             
             
             # Get original name (remove -Rejects suffix)
             # Get original name (remove -Rejects suffix)
             original_name=${dirname%-Rejects}
             original_name=${dirname%-Rejects}
@@ -196,17 +300,17 @@ jobs:
             
             
             # Check for patch-rejects folder (legacy structure) or direct contents
             # Check for patch-rejects folder (legacy structure) or direct contents
             if [ -d "$dir/patch-rejects" ]; then
             if [ -d "$dir/patch-rejects" ]; then
-                echo "Found patch-rejects subdir in $dirname"
+              # Legacy structure
                 cp -r "$dir/patch-rejects/." "aio-rejects/$original_name/"
                 cp -r "$dir/patch-rejects/." "aio-rejects/$original_name/"
             else
             else
-                echo "Copying contents from $dirname"
+              # Current structure
                 cp -r "$dir/." "aio-rejects/$original_name/"
                 cp -r "$dir/." "aio-rejects/$original_name/"
             fi
             fi
         done
         done
         
         
         # Zip and upload if we found anything
         # Zip and upload if we found anything
         if [ "$(ls -A aio-rejects)" ]; then
         if [ "$(ls -A aio-rejects)" ]; then
-            echo "Creating AIO-REJ.zip..."
+            # Create a single zip of all rejects
             cd aio-rejects
             cd aio-rejects
             zip -r -q -9 ../AIO-REJ.zip .
             zip -r -q -9 ../AIO-REJ.zip .
             cd ..
             cd ..
@@ -237,6 +341,7 @@ jobs:
     - build-lts
     - build-lts
     - build-custom
     - build-custom
     - build-testing
     - build-testing
+    - build-bypass
 
 
     env:
     env:
       GH_TOKEN: ${{ github.token }}
       GH_TOKEN: ${{ github.token }}
@@ -250,14 +355,14 @@ jobs:
         set -euo pipefail
         set -euo pipefail
 
 
         failed=0
         failed=0
+        current_type="${{ inputs.kernel_build_version }}"
 
 
         check_selected() {
         check_selected() {
           local target="$1"
           local target="$1"
           local job_name="$2"
           local job_name="$2"
           local result="$3"
           local result="$3"
-          local current_type="${{ inputs.kernel_type }}"
           
           
-          if [[ "$current_type" == "All" || "$current_type" == "$target" ]]; then
+          if [[ "$current_type" == "all" || "$current_type" == "$target" ]]; then
             if [[ "$result" != "success" ]]; then
             if [[ "$result" != "success" ]]; then
               echo "Required job $job_name did not succeed (result: $result)"
               echo "Required job $job_name did not succeed (result: $result)"
               failed=1
               failed=1
@@ -303,7 +408,11 @@ jobs:
       id: tag
       id: tag
       if: inputs.release_type != 'Actions'
       if: inputs.release_type != 'Actions'
       run: |
       run: |
-        LATEST_TAG=$(gh api repos/${{ github.repository }}/tags --jq '.[0].name' 2>/dev/null || echo "")
+        LATEST_TAG=$(gh api repos/${{ github.repository }}/tags --jq '.[0].name' 2>/dev/null || echo "v0.0.0")
+        if [[ -z "$LATEST_TAG" || "$LATEST_TAG" == "null" ]]; then
+          LATEST_TAG="v0.0.0"
+        fi
+        
         if [[ "$LATEST_TAG" =~ ^(.*)-r([0-9]+)$ ]]; then
         if [[ "$LATEST_TAG" =~ ^(.*)-r([0-9]+)$ ]]; then
           VERSION="${BASH_REMATCH[1]}"
           VERSION="${BASH_REMATCH[1]}"
           REV="${BASH_REMATCH[2]}"
           REV="${BASH_REMATCH[2]}"
@@ -313,6 +422,7 @@ jobs:
           NEW_TAG="${LATEST_TAG}-r1"
           NEW_TAG="${LATEST_TAG}-r1"
         fi
         fi
         
         
+        echo "Latest tag: $LATEST_TAG"
         echo "New tag: $NEW_TAG"
         echo "New tag: $NEW_TAG"
         echo "NEW_TAG=${NEW_TAG}" >> $GITHUB_ENV
         echo "NEW_TAG=${NEW_TAG}" >> $GITHUB_ENV
         echo "new_tag=$NEW_TAG" >> $GITHUB_OUTPUT
         echo "new_tag=$NEW_TAG" >> $GITHUB_OUTPUT
@@ -339,6 +449,13 @@ jobs:
         - The Problem: Sometimes when installing a custom kernel, the device tries to load a kernel module that fails due to version mismatches, missing dependencies, or signature verification issues. This can cause boot failures or device instability. 
         - The Problem: Sometimes when installing a custom kernel, the device tries to load a kernel module that fails due to version mismatches, missing dependencies, or signature verification issues. This can cause boot failures or device instability. 
         - The Solution: This version changes one line from false to true to force load the kernel module, bypassing the failure check that would normally prevent loading.
         - The Solution: This version changes one line from false to true to force load the kernel module, bypassing the failure check that would normally prevent loading.
 
 
+        ⚠️ **IMPORTANT: If you are using a Bypass kernel, please create a GitHub issue!**
+        We are now building Bypass kernels on-demand to reduce build time and clutter. If you need a Bypass kernel for your device, please:
+        1. Create a GitHub issue using the "Bypass Kernel Report" template
+        2. Include: kernel version, device model, Android version, and any issues/observations
+        3. Message me on Telegram after creating the issue
+        I will prioritize and release a new Bypass build ASAP based on your feedback. This helps us understand which devices need Bypass kernels and build only what's needed!
+
         Features:
         Features:
         -> Wild KSU Manager Support
         -> Wild KSU Manager Support
         -> SUSFS ඞ v2.0.0
         -> SUSFS ඞ v2.0.0
@@ -375,9 +492,9 @@ jobs:
           PRERELEASE_FLAG="--prerelease"
           PRERELEASE_FLAG="--prerelease"
         fi
         fi
 
 
-        echo "Creating release ${{ env.NEW_TAG }}..."
-        gh release create "${{ env.NEW_TAG }}" \
-          --title "${{ env.RELEASE_NAME }}" \
+        # Create GitHub release
+        gh release create "$NEW_TAG" \
+          --title "$RELEASE_NAME" \
           --notes-file release_body.md \
           --notes-file release_body.md \
           --target "${{ github.sha }}" \
           --target "${{ github.sha }}" \
           $PRERELEASE_FLAG
           $PRERELEASE_FLAG
@@ -395,24 +512,47 @@ jobs:
 
 
         for dir in "${anykernel_dirs[@]}"; do
         for dir in "${anykernel_dirs[@]}"; do
           artifact_name=$(basename "$dir")
           artifact_name=$(basename "$dir")
-          echo "Creating ZIP for $artifact_name..."
+          # Create zip for each artifact
           (cd "$dir" && zip -r -q -9 "$GITHUB_WORKSPACE/${artifact_name}.zip" ./*) &
           (cd "$dir" && zip -r -q -9 "$GITHUB_WORKSPACE/${artifact_name}.zip" ./*) &
         done
         done
         wait
         wait
 
 
         for dir in "${anykernel_dirs[@]}"; do
         for dir in "${anykernel_dirs[@]}"; do
           artifact_name=$(basename "$dir")
           artifact_name=$(basename "$dir")
-          echo "Uploading 2 ${artifact_name}.zip..."
-          gh release upload "${{ env.NEW_TAG }}" "$GITHUB_WORKSPACE/${artifact_name}.zip" --clobber
+          # Upload release asset
+          gh release upload "$NEW_TAG" "$GITHUB_WORKSPACE/${artifact_name}.zip" --clobber
         done
         done
 
 
   notify:
   notify:
+    runs-on: ubuntu-latest
     needs: release
     needs: release
     if: ${{ always() && (inputs.release_type == 'Actions' || needs.release.result == 'success') }}
     if: ${{ always() && (inputs.release_type == 'Actions' || needs.release.result == 'success') }}
-    uses: ./.github/workflows/notify.yml
-    secrets: inherit
-    with:
-      release_type: ${{ inputs.release_type }}
-      new_tag: ${{ needs.release.outputs.new_tag }}
-      release_result: ${{ needs.release.result }}
-        done
+    permissions:
+      contents: read
+      actions: read
+    steps:
+      - name: Free Disk Space
+        uses: endersonmenezes/free-disk-space@v3
+        with:
+          remove_android: true
+          remove_dotnet: true
+          remove_haskell: true
+          remove_tool_cache: true
+          remove_swap: true
+          remove_packages: "azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql* dotnet-sdk-*"
+          remove_packages_one_command: true
+          remove_folders: "/usr/share/swift /usr/share/miniconda /usr/share/az* /usr/local/lib/node_modules /usr/local/share/chromium /usr/local/share/powershell /usr/local/julia /usr/local/aws-cli /usr/local/aws-sam-cli /usr/share/gradle"
+          rm_cmd: "rmz"
+          rmz_version: "3.1.1"
+          testing: false
+
+      - name: Send Telegram Notification
+        uses: ./.github/actions/telegram-notify
+        with:
+          release_type: ${{ inputs.release_type }}
+          new_tag: ${{ needs.release.outputs.new_tag }}
+          release_result: ${{ needs.release.result }}
+          telegram_bot_token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
+          telegram_chat_id: ${{ secrets.TELEGRAM_CHAT_ID }}
+          telegram_topic_id: ${{ secrets.TELEGRAM_TOPIC_ID_GKI }}
+          telegram_user_id: ${{ secrets.TELEGRAM_USER_ID }}

+ 0 - 125
.github/workflows/notify.yml

@@ -1,125 +0,0 @@
-name: Notify Actions
-
-permissions:
-  contents: read
-  actions: read
-
-on:
-  workflow_call:
-    inputs:
-      release_type:
-        required: true
-        type: string
-      new_tag:
-        required: false
-        type: string
-      release_result:
-        required: false
-        type: string
-        default: 'success'
-    secrets:
-      TELEGRAM_BOT_TOKEN:
-        required: true
-      TELEGRAM_CHAT_ID:
-        required: true
-      TELEGRAM_TOPIC_ID_GKI:
-        required: true
-      TELEGRAM_USER_ID:
-        required: true
-
-jobs:
-  notify:
-    runs-on: ubuntu-latest
-    steps:
-    - name: Free Disk Space
-      if: true
-      uses: endersonmenezes/free-disk-space@v3
-      with:
-        remove_android: true
-        remove_dotnet: true
-        remove_haskell: true
-        remove_tool_cache: true
-        remove_swap: true
-        remove_packages: "azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql* dotnet-sdk-*"
-        remove_packages_one_command: true
-        remove_folders: "/usr/share/swift /usr/share/miniconda /usr/share/az* /usr/local/lib/node_modules /usr/local/share/chromium /usr/local/share/powershell /usr/local/julia /usr/local/aws-cli /usr/local/aws-sam-cli /usr/share/gradle"
-        rm_cmd: "rmz"
-        rmz_version: "3.1.1"
-        testing: false
-
-      # Download only TheWildJames artifacts for Telegram notification
-    - name: Download TheWildJames Artifacts
-      uses: actions/download-artifact@v4
-      with:
-        path: ./downloaded-artifacts
-        pattern: "*-TheWildJames-AnyKernel3"
-        
-    - name: Prepare Zips
-      run: |
-        shopt -s nullglob
-        # Iterate over directories in downloaded-artifacts
-        for dir in ./downloaded-artifacts/*-AnyKernel3; do
-          [ -d "$dir" ] || continue
-          artifact_name=$(basename "$dir")
-          echo "Creating ZIP for $artifact_name..."
-          (cd "$dir" && zip -r -q -9 "$GITHUB_WORKSPACE/${artifact_name}.zip" ./*)
-        done
-
-    - name: Send Telegram Notification (Actions)
-      if: inputs.release_type == 'Actions' && false
-      run: |
-        curl -X POST "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage" \
-          -F chat_id="${{ secrets.TELEGRAM_CHAT_ID }}" \
-          -F message_thread_id="${{ secrets.TELEGRAM_TOPIC_ID_GKI }}" \
-          -F text="
-          🌽 *New Kernel Actions Build Finished*
-          📦 *Repository:* [${{ github.repository }}](https://github.com/${{ github.repository }})
-          ✏️ *Commit:* [${{ github.sha }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }})
-          [🔗 View Action Run](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})" \
-          -F parse_mode="Markdown"
-
-    - name: Send Telegram Notification (Release)
-      if: inputs.release_type != 'Actions' && inputs.release_result == 'success' && false
-      run: |
-        RELEASE_TYPE_TEXT=""
-        if [ "${{ inputs.release_type }}" == "Pre-Release" ]; then
-          RELEASE_TYPE_TEXT="🧪 *Pre-Release*"
-        else
-          RELEASE_TYPE_TEXT="🚀 *Release*"
-        fi
-
-        curl -X POST "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage" \
-          -F chat_id="${{ secrets.TELEGRAM_CHAT_ID }}" \
-          -F message_thread_id="${{ secrets.TELEGRAM_TOPIC_ID_GKI }}" \
-          -F text="
-          🌽 *New Kernel $RELEASE_TYPE_TEXT Uploaded*  
-          📦 *Repository:* [${{ github.repository }}](https://github.com/${{ github.repository }})  
-          ✏️ *Commit:* [${{ github.sha }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }})  
-          [🔗 View GitHub Release](https://github.com/${{ github.repository }}/releases/tag/${{ inputs.new_tag }})" \
-          -F parse_mode="Markdown"
-
-    - name: DM Artifacts
-      # Always run if the job wasn't cancelled (or follow caller's needs)
-      if: always()
-      run: |
-        shopt -s nullglob
-        files=("$GITHUB_WORKSPACE"/*.zip)
-
-        if [ ${#files[@]} -eq 0 ]; then
-            echo "No ZIP files found for DM."
-            exit 0
-        fi
-
-        if [ -z "${{ secrets.TELEGRAM_USER_ID }}" ]; then
-            echo "Error: TELEGRAM_USER_ID secret is not set."
-            exit 1
-        fi
-
-        for file in "${files[@]}"; do
-            echo "Sending $(basename "$file") to Telegram DM..."
-            # Using || true to prevent failure of one send from failing the whole job
-            curl -v -F chat_id="${{ secrets.TELEGRAM_USER_ID }}" \
-                -F document=@"$file" \
-                -F caption="📦 Build: $(basename "$file")" \
-                https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendDocument || true
-        done

+ 0 - 3
.gitignore

@@ -1,3 +0,0 @@
-patch-rejects
-KernelSU-Next
-kernel_patches

+ 0 - 11
configs/base_kernel_config.fragment

@@ -1,11 +0,0 @@
-# KernelSU Configuration
-CONFIG_KSU=y
-CONFIG_KSU_SUSFS=y
-
-# KPatch Next Support
-CONFIG_KALLSYMS=y
-CONFIG_KALLSYMS_ALL=y
-
-# Mountify Support
-CONFIG_TMPFS_XATTR=y
-CONFIG_TMPFS_POSIX_ACL=y

+ 0 - 31
download.sh

@@ -1,31 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-# ===== CONFIG =====
-REPO="WildKernels/GKI_KernelSU_SUSFS"
-RUN_ID="20671082108"
-PATTERN="(Normal|Bypass)-AnyKernel3$"
-OUT_DIR="$HOME/gki_anykernel3"
-# ==================
-
-mkdir -p "$OUT_DIR"
-
-echo "Fetching AnyKernel3 artifacts from run $RUN_ID..."
-
-gh api \
-  repos/$REPO/actions/runs/$RUN_ID/artifacts \
-  --paginate |
-jq -r --arg pattern "$PATTERN" '
-  .artifacts[]
-  | select(.name | test($pattern))
-  | "\(.id) \(.name)"
-' |
-while read -r ID NAME; do
-  FILE="$OUT_DIR/$NAME.zip"
-  echo "Downloading: $NAME"
-  gh api \
-    repos/$REPO/actions/artifacts/$ID/zip \
-    > "$FILE"
-done
-
-echo "Done. Files saved to: $OUT_DIR"