[
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yml",
    "content": "name: Bug Report\ndescription: Create a bug report\nlabels: [Bug]\n\nbody:\n  - type: textarea\n    attributes:\n        label: Describe the bug\n        description: A clear and concise description of what the bug is\n    validations:\n        required: true\n      \n\n  - type: textarea\n    attributes:\n        label: To Reproduce\n        description: Steps to reproduce the behaviour\n        placeholder: |\n          - 1. Go to '...'\n          - 2. Click on '....'\n          - 3. Scroll down to '....'\n          - 4. See error\n          \n\n  - type: textarea\n    attributes:\n        label: Expected behavior\n        description: A clear and concise description of what you expected to happen.\n    \n    \n  - type: textarea\n    attributes:\n        label: Screenshots\n        description: If applicable, add screenshots to help explain your problem.\n        \n        \n  - type: textarea\n    attributes:\n        label: Logs\n        description: If applicable, add crash or any other logs to help us figure out the problem.\n        \n        \n  - type: textarea\n    attributes:\n        label: Device info\n        value: |\n          - Device:\n          - OS Version:\n          - KernelSU Version:\n          - Kernel Version:\n          - SUSFS Version:\n    validations:\n        required: true\n\n\n  - type: textarea\n    attributes:\n        label: Additional context\n        description: Add any other context about the problem here.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.yml",
    "content": "name: Feature Request\ndescription: Create a feature request\nlabels: [Feature Request]\n\nbody:\n  - type: textarea\n    attributes:\n        label: Describe the feature\n        description: A clear and concise description of what the feature is.\n    validations:\n        required: true\n      \n\n  - type: textarea\n    attributes:\n        label: Link to documentation \n        description:  A clear and concise documentation.\n    \n  - type: textarea\n    attributes:\n        label: Screenshots\n        description: If applicable, add screenshots to help explain your problem.\n\n  - type: textarea\n    attributes:\n        label: Additional context\n        description: Add any other context here.\n"
  },
  {
    "path": ".github/workflows/build-kernel-a12-5-10.yml",
    "content": "name: 编译内核a12-5-10\n\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n  \non:\n  workflow_dispatch:\n    inputs:\n      kernelsu_variant:\n        # description: \"选择 KernelSU | 注意:选中MKSU时为标准版\"\n        description: \"选择 KernelSU\"\n        required: true\n        type: choice\n        options:\n          - Official\n          - Next\n          - MKSU\n          - SukiSU\n        default: SukiSU\n      kernelsu_branch:\n        description: \"选择 ksu 分支\"\n        required: true\n        type: choice\n        options:\n          - Stable(标准)\n          - Dev(开发)\n          - Other(其他/指定)\n        default: Dev(开发)\n      # kernelsu_branch_other:\n      #   description: \"如果选择了 “其他”，请指定您的自定义分支\"\n      #   required: false\n      #   type: string  # This input is required if 'Other' is chosen\n      version:\n        description: '自定义版本名(如5.10.198后面的字符/留空则使用默认版本号)'\n        required: false\n        type: string\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: true\n        type: boolean\n        default: true\n      get_manager:\n        description: '是否同时获取最新KSU管理器?（实验性功能，报错请关闭）'\n        required: true\n        type: boolean\n        default: true\njobs:\n  build-kernel-a12-5-10:\n    uses: ./.github/workflows/kernel-a12-5.10.yml\n    secrets: inherit\n    with:\n      make_release: false\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      # kernelsu_branch_other: ${{ inputs.kernelsu_branch_other }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n  get-ksu-manager:\n    if: ${{ inputs.get_manager }}\n    uses: ./.github/workflows/get-manager.yml\n    secrets: inherit\n    with:\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n\n  # build-kernel-a13-5-10:\n  #   uses: ./.github/workflows/kernel-a13-5.10.yml\n  #   secrets: inherit\n  #   with:\n  #     make_release: ${{ inputs.make_release }}\n  #     kernelsu_variant: ${{ inputs.kernelsu_variant }}\n  #     kernelsu_branch: ${{ inputs.kernelsu_branch }}\n  #     kernelsu_branch_other: ${{ inputs.kernelsu_branch_other }}\n  #     version: ${{ inputs.version }}\n\n  # build-kernel-a13-5-15:\n  #   uses: ./.github/workflows/kernel-a13-5.15.yml\n  #   secrets: inherit\n  #   with:\n  #     make_release: ${{ inputs.make_release }}\n  #     kernelsu_variant: ${{ inputs.kernelsu_variant }}\n  #     kernelsu_branch: ${{ inputs.kernelsu_branch }}\n  #     kernelsu_branch_other: ${{ inputs.kernelsu_branch_other }}\n  #     version: ${{ inputs.version }}\n\n  # build-kernel-a14-5-15:\n  #   uses: ./.github/workflows/kernel-a14-5.15.yml\n  #   secrets: inherit\n  #   with:\n  #     make_release: ${{ inputs.make_release }}\n  #     kernelsu_variant: ${{ inputs.kernelsu_variant }}\n  #     kernelsu_branch: ${{ inputs.kernelsu_branch }}\n  #     kernelsu_branch_other: ${{ inputs.kernelsu_branch_other }}\n  #     version: ${{ inputs.version }}\n\n  # build-kernel-a14-6-1:\n  #   uses: ./.github/workflows/kernel-a14-6.1.yml\n  #   secrets: inherit\n  #   with:\n  #     make_release: ${{ inputs.make_release }}\n  #     kernelsu_variant: ${{ inputs.kernelsu_variant }}\n  #     kernelsu_branch: ${{ inputs.kernelsu_branch }}\n  #     kernelsu_branch_other: ${{ inputs.kernelsu_branch_other }}\n  #     version: ${{ inputs.version }}\n\n  # build-kernel-a15-6-6:\n  #   uses: ./.github/workflows/kernel-a15-6.6.yml\n  #   secrets: inherit\n  #   with:\n  #     make_release: ${{ inputs.make_release }}\n  #     kernelsu_variant: ${{ inputs.kernelsu_variant }}\n  #     kernelsu_branch: ${{ inputs.kernelsu_branch }}\n  #     kernelsu_branch_other: ${{ inputs.kernelsu_branch_other }}\n  #     version: ${{ inputs.version }}\n\n  # trigger-release:\n  #   runs-on: ubuntu-latest\n  #   needs:\n  #       - build-kernel-a12-5-10\n  #       - build-kernel-a13-5-10\n  #       - build-kernel-a13-5-15\n  #       - build-kernel-a14-5-15\n  #       - build-kernel-a14-6-1\n  #       - build-kernel-a15-6-6\n  #   if: ${{ inputs.make_release }}\n  #   env:\n  #     REPO_OWNER: WildPlusKernel\n  #     REPO_NAME: GKI_KernelSU_SUSFS\n  #     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n  #     RELEASE_NAME: \"*TEST BUILD* GKI Kernels With KernelSU-${{ inputs.kernelsu_variant }} ${{ inputs.kernelsu_branch }} & SUSFS v1.5.5 *TEST BUILD*\"\n  #     RELEASE_NOTES: |\n  #       This release contains KernelSU-${{ inputs.kernelsu_variant }} ${{ inputs.kernelsu_branch }} and SUSFS v1.5.5\n        \n  #       Features:\n  #       -> KernelSU-${{ inputs.kernelsu_variant }}-${{ inputs.kernelsu_branch }}\n  #       -> SUSFS ඞ v1.5.5 \n  #       -> Manual Syscall Hooks for Better Hiding\n  #       -> Magic Mount Support\n  #       -> Simple Maphide for LineageOS Detections\n  #       -> Futile Maphide for jit-zygote-cache Detections\n  #       -> Wireguard Support\n  #       -> BBR Support\n\n  #       Notes:\n  #       -> SUS SU Mode 2 will show as disabled or not compatble due to non-kprobe hooks and is not needed anymore!\n  #       -> Kernel Flasher is broken with latest susfs, try https://github.com/libxzr/HorizonKernelFlasher!\n\n  #       Module: \n  #       -> https://github.com/sidex15/ksu_module_susfs\n        \n  #   steps:\n  #     # Checkout the code\n  #     - name: Checkout code\n  #       uses: actions/checkout@v3\n\n  #     - name: Determine the branch for KernelSU-${{ inputs.kernelsu_variant }}\n  #       if: ${{ inputs.kernelsu_branch == 'Dev(开发)' || inputs.kernelsu_variant == 'MKSU' }}\n  #       run: |\n  #         # Determine the branch based on user input\n  #         if [[ \"${{ inputs.kernelsu_variant }}\" == \"Official\" || \"${{ inputs.kernelsu_variant }}\" == \"MKSU\" ]]; then\n  #           BRANCH=\"main\"\n  #         elif [[ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]]; then\n  #           BRANCH=\"next\"\n  #         elif [[ \"${{ inputs.kernelsu_branch }}\" == \"Other(其他/指定)\" && -n \"${{ inputs.kernelsu_branch_other }}\" ]]; then\n  #           BRANCH=\"${{ inputs.kernelsu_branch_other }}\"\n  #         else\n  #           echo \"Error: Custom branch not provided for 'Other(其他/指定)'\" >&2\n  #           exit 1\n  #         fi\n\n  #         # Store the selected branch in GITHUB_ENV\n  #         echo \"KSU_BRANCH=$BRANCH\" >> $GITHUB_ENV\n\n  #     - name: Get commit hash or tag and generate URL for KernelSU-${{ inputs.kernelsu_variant }}\n  #       run: |\n  #         if [ \"${{ inputs.kernelsu_variant }}\" == \"Official\" ]; then\n  #           echo \"This is the Official variant\"\n  #           REPO_URL=\"https://github.com/tiann/KernelSU.git\"\n  #           REPO_URL2=\"tiann/KernelSU\"\n  #         elif [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n  #           echo \"This is the Next variant\"\n  #           REPO_URL=\"https://github.com/KernelSU-Next/KernelSU-Next.git\"\n  #           REPO_URL2=\"KernelSU-Next/KernelSU-Next\"\n  #         elif [ \"${{ inputs.kernelsu_variant }}\" == \"MKSU\" ]; then\n  #           echo \"This is the MKSU variant\"\n  #           REPO_URL=\"https://github.com/5ec1cff/KernelSU.git\"\n  #           REPO_URL2=\"5ec1cff/KernelSU\"\n  #         else\n  #           echo \"Unknown variant\"\n  #         fi\n          \n  #         if [[ \"${{ inputs.kernelsu_branch }}\" == \"Stable(标准)\" && \"${{ inputs.kernelsu_variant }}\" != \"MKSU\" ]]; then\n  #           # Fetch the latest tag\n  #           TAG=$(git ls-remote --tags --sort=-v:refname $REPO_URL | grep -o 'refs/tags/.*' | cut -d'/' -f3 | head -n1)\n  #           if [[ -z \"$TAG\" ]]; then\n  #             echo \"Error: Could not fetch latest tag for Stable(标准)\" >&2\n  #             exit 1\n  #           fi\n  #           KSU_REF=$TAG\n  #           KSU_URL=\"https://github.com/$REPO_URL2/releases/tag/$TAG\"\n\n  #         elif [[ \"${{ inputs.kernelsu_branch }}\" == \"Dev(开发)\" || \"${{ inputs.kernelsu_variant }}\" == \"MKSU\" ]]; then\n  #           # Fetch the latest commit from \"next\" branch\n  #           COMMIT_HASH=$(git ls-remote $REPO_URL refs/heads/$KSU_BRANCH | awk '{ print $1 }')\n  #           if [[ -z \"$COMMIT_HASH\" ]]; then\n  #             echo \"Error: Could not fetch latest commit for Dev(开发)\" >&2\n  #             exit 1\n  #           fi\n  #           KSU_REF=$COMMIT_HASH\n  #           KSU_URL=\"https://github.com/$REPO_URL2/commit/$COMMIT_HASH\"\n\n  #         else\n  #           # Fetch the specific tag\n  #           TAG=${{ inputs.kernelsu_branch_other }}\n  #           if git ls-remote --tags $REPO_URL | grep -q \"refs/tags/$TAG\"; then\n  #             KSU_REF=$TAG\n  #             KSU_URL=\"https://github.com/$REPO_URL2/releases/tag/$TAG\"\n  #           else\n  #             echo \"Error: Specified tag '$TAG' not found in KernelSU-Next\" >&2\n  #             exit 1\n  #           fi\n  #         fi\n\n  #         # Echo the values to GitHub environment for later use\n  #         echo \"KSU_REF=$KSU_REF\" >> $GITHUB_ENV\n  #         echo \"KSU_URL=$KSU_URL\" >> $GITHUB_ENV\n  #         echo \"KernelSU Reference: $KSU_REF\"\n  #         echo \"KernelSU URL: $KSU_URL\"\n\n  #     - name: Get commit hashes and generate commit URLs\n  #       run: |\n  #         GITLAB_OWNER=\"simonpunk\"\n  #         GITLAB_REPO=\"susfs4ksu\"\n\n  #         declare -A BRANCH_MAP=(\n  #           [\"gki_android12_5_10\"]=\"gki-android12-5.10\"\n  #           [\"gki_android13_5_10\"]=\"gki-android13-5.10\"\n  #           [\"gki_android13_5_15\"]=\"gki-android13-5.15\"\n  #           [\"gki_android14_5_15\"]=\"gki-android14-5.15\"\n  #           [\"gki_android14_6_1\"]=\"gki-android14-6.1\"\n  #         )\n\n  #         for var_name in \"${!BRANCH_MAP[@]}\"; do\n  #           branch_name=\"${BRANCH_MAP[$var_name]}\"\n  #           COMMIT_HASH=$(git ls-remote https://gitlab.com/$GITLAB_OWNER/$GITLAB_REPO.git refs/heads/$branch_name | awk '{ print $1 }')\n\n  #           if [[ -n \"$COMMIT_HASH\" ]]; then\n  #             COMMIT_URL=\"https://gitlab.com/$GITLAB_OWNER/$GITLAB_REPO/-/commit/$COMMIT_HASH\"\n  #             echo \"$branch_name Commit: $COMMIT_HASH\"\n  #             echo \"$branch_name Commit URL: $COMMIT_URL\"\n\n  #             # Store commit hash and commit URL in GitHub environment\n  #             echo \"COMMIT_HASH_${var_name}=$COMMIT_HASH\" >> \"$GITHUB_ENV\"\n  #             echo \"COMMIT_URL_${var_name}=$COMMIT_URL\" >> \"$GITHUB_ENV\"\n  #           fi\n  #         done\n\n  #     - name: Append Commit Hashes & Links to `RELEASE_NOTES` & Append KernelSU-Next Reference to `RELEASE_NOTES`\n  #       run: |\n  #         if [ \"${{ inputs.kernelsu_variant }}\" == \"Official\" ]; then\n  #           echo \"This is the Official variant\"\n  #           echo \"RELEASE_NOTES<<EOF\" >> $GITHUB_ENV\n  #           echo \"$RELEASE_NOTES\" >> $GITHUB_ENV\n  #           echo \"Official Manager:\" >> $GITHUB_ENV\n  #           echo \"-> https://github.com/tiann/KernelSU\" >> $GITHUB_ENV\n  #           echo \"EOF\" >> $GITHUB_ENV\n  #         elif [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n  #           echo \"This is the Next variant\"\n  #           echo \"RELEASE_NOTES<<EOF\" >> $GITHUB_ENV\n  #           echo \"$RELEASE_NOTES\" >> $GITHUB_ENV\n  #           echo \"Next Manager:\" >> $GITHUB_ENV\n  #           echo \"-> https://github.com/KernelSU-Next/KernelSU-Next\" >> $GITHUB_ENV\n  #           echo \"EOF\" >> $GITHUB_ENV\n  #         elif [ \"${{ inputs.kernelsu_variant }}\" == \"MKSU\" ]; then\n  #           echo \"This is the MKSU variant\"\n  #           echo \"RELEASE_NOTES<<EOF\" >> $GITHUB_ENV\n  #           echo \"$RELEASE_NOTES\" >> $GITHUB_ENV\n  #           echo \"MKSU Manager:\" >> $GITHUB_ENV\n  #           echo \"-> https://github.com/5ec1cff/KernelSU\" >> $GITHUB_ENV\n  #           echo \"EOF\" >> $GITHUB_ENV\n  #         else\n  #           echo \"Unknown variant\"\n  #         fi\n          \n  #     - name: Append Commit Hashes & Links to `RELEASE_NOTES` & Append KernelSU-Next Reference to `RELEASE_NOTES`\n  #       run: |\n  #         echo \"RELEASE_NOTES<<EOF\" >> $GITHUB_ENV\n  #         echo \"$RELEASE_NOTES\" >> $GITHUB_ENV\n  #         echo \"\" >> $GITHUB_ENV\n  #         echo \"LTO: thin\" >> $GITHUB_ENV\n  #         echo \"\" >> $GITHUB_ENV\n  #         echo \"Commit Hashes and Links:\" >> $GITHUB_ENV\n  #         echo \"KernelSU:\" >> $GITHUB_ENV\n  #         echo \"${{ inputs.kernelsu_variant }}-${{ inputs.kernelsu_branch }}: [$KSU_REF]($KSU_URL)\" >> $GITHUB_ENV\n  #         echo \"SUSFS4KSU:\" >> $GITHUB_ENV\n  #         echo \"gki-android12-5.10: [$COMMIT_HASH_gki_android12_5_10]($COMMIT_URL_gki_android12_5_10)\" >> $GITHUB_ENV\n  #         echo \"gki-android13-5.10: [$COMMIT_HASH_gki_android13_5_10]($COMMIT_URL_gki_android13_5_10)\" >> $GITHUB_ENV\n  #         echo \"gki-android13-5.15: [$COMMIT_HASH_gki_android13_5_15]($COMMIT_URL_gki_android13_5_15)\" >> $GITHUB_ENV\n  #         echo \"gki-android14-5.15: [$COMMIT_HASH_gki_android14_5_15]($COMMIT_URL_gki_android14_5_15)\" >> $GITHUB_ENV\n  #         echo \"gki-android14-6.1: [$COMMIT_HASH_gki_android14_6_1]($COMMIT_URL_gki_android14_6_1)\" >> $GITHUB_ENV\n  #         echo \"\" >> $GITHUB_ENV\n  #         echo \"EOF\" >> $GITHUB_ENV\n          \n  #     # Get the Latest Tag from GitHub\n  #     - name: Generate and Create New Tag\n  #       env:\n  #         GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n  #       run: |\n  #           # Fetch the latest tag from GitHub (this is the latest tag based on the GitHub API)\n  #           LATEST_TAG=$(gh api repos/$REPO_OWNER/$REPO_NAME/tags --jq '.[0].name')\n  #           if [ -z \"$LATEST_TAG\" ]; then\n  #             LATEST_TAG=\"v1.5.5-r0\"\n  #           fi\n            \n  #           NEW_TAG=$(echo \"$LATEST_TAG\" | awk -F'-r' '{suffix=$2; if (!suffix) suffix=0; suffix++; printf \"%s-r%d\", $1, suffix}')\n            \n  #           # Output the new tag to be used\n  #           echo \"New tag: $NEW_TAG\"\n            \n  #           # Set the new tag as an environment variable to be used in later steps\n  #           echo \"NEW_TAG=${NEW_TAG}\" >> $GITHUB_ENV\n            \n  #           # Create the tag in the repository\n  #           git tag $NEW_TAG\n  #           git push --tags\n\n  #     # Download Artifacts for A12 (Only if A12 Build is successful or input is true or empty)\n  #     - name: Download Artifacts\n  #       uses: actions/download-artifact@v4\n  #       with:\n  #         path: ./downloaded-artifacts\n          \n  #     # Create GitHub Release and upload files if make_release is true\n  #     - name: Create GitHub Release\n  #       uses: actions/create-release@v1\n  #       with:\n  #         tag_name: ${{ env.NEW_TAG }}  # Use the generated tag for the release\n  #         prerelease: true  # Mark the release as a pre-release\n  #         release_name: ${{ env.RELEASE_NAME }}  # Pass the RELEASE_NAME to the action\n  #         body: ${{ env.RELEASE_NOTES }}  # Pass the RELEASE_NOTES to the action\n\n  #     - name: Upload Release Assets Dynamically\n  #       run: |\n  #         # Loop through all files in the downloaded-artifacts directory\n  #         for file in ./downloaded-artifacts/kernel-*/*; do\n  #             # Skip directories\n  #             if [ -d \"$file\" ]; then\n  #                 continue\n  #             fi\n\n  #             # Upload the file to the GitHub release\n  #             echo \"Uploading $file...\"\n  #             gh release upload ${{ env.NEW_TAG }} \"$file\"\n  #         done\n\n  #     # Display Files Uploaded\n  #     - name: Display Files Uploaded\n  #       run: |\n  #         echo \"GitHub release created with the following files:\"\n  #         ls ./downloaded-artifacts/**/*\n\n  #     - name: send telegram message on push\n  #       env:\n  #         TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}\n  #         TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}\n  #         TELEGRAM_MESSAGE_THREAD_ID: ${{ secrets.TELEGRAM_MESSAGE_THREAD_ID }}\n  #       run: |\n  #         curl -X POST \"https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage\" \\\n  #           -d \"chat_id=$TELEGRAM_CHAT_ID\" \\\n  #           -d \"message_thread_id=$TELEGRAM_MESSAGE_THREAD_ID\" \\\n  #           -d \"text=Latest release: \n  #           https://github.com/WildPlusKernel/GKI_KernelSU_SUSFS/releases/tag/${{ env.NEW_TAG }}\n            \n  #           ${{ env.RELEASE_NOTES }}\"\n"
  },
  {
    "path": ".github/workflows/build-kernel-a13-5-10.yml",
    "content": "name: 编译内核a13-5-10\n\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n  \non:\n  workflow_dispatch:\n    inputs:\n      kernelsu_variant:\n        description: \"选择 KernelSU\"\n        required: true\n        type: choice\n        options:\n          - Official\n          - Next\n          - MKSU\n          - SukiSU\n        default: SukiSU\n      kernelsu_branch:\n        description: \"选择 ksu 分支\"\n        required: true\n        type: choice\n        options:\n          - Stable(标准)\n          - Dev(开发)\n          - Other(其他/指定)\n        default: Dev(开发)\n      version:\n        description: '自定义版本名(如5.10.198后面的字符/留空则使用默认版本号)'\n        required: false\n        type: string\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: true\n        type: boolean\n        default: true\n      get_manager:\n        description: '是否同时获取最新KSU管理器?（实验性功能，报错请关闭）'\n        required: true\n        type: boolean\n        default: true\njobs:\n\n  build-kernel-a13-5-10:\n    uses: ./.github/workflows/kernel-a13-5.10.yml\n    secrets: inherit\n    with:\n      make_release: false\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n  get-ksu-manager:\n    if: ${{ inputs.get_manager }}\n    uses: ./.github/workflows/get-manager.yml\n    secrets: inherit\n    with:\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n\n"
  },
  {
    "path": ".github/workflows/build-kernel-a13-5-15.yml",
    "content": "name: 编译内核a13-5-15\n\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n  \non:\n  workflow_dispatch:\n    inputs:\n      kernelsu_variant:\n        description: \"选择 KernelSU\"\n        required: true\n        type: choice\n        options:\n          - Official\n          - Next\n          - MKSU\n          - SukiSU\n        default: SukiSU\n      kernelsu_branch:\n        description: \"选择 ksu 分支\"\n        required: true\n        type: choice\n        options:\n          - Stable(标准)\n          - Dev(开发)\n          - Other(其他/指定)\n        default: Dev(开发)\n      version:\n        description: '自定义版本名(如5.15.167后面的字符/留空则使用默认版本号)'\n        required: false\n        type: string\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: true\n        type: boolean\n        default: true\n      set_defbbr:\n        description: '是否将BBR设为默认拥塞算法?（实验性）'\n        required: true\n        type: boolean\n        default: false\n      get_manager:\n        description: '是否同时获取最新KSU管理器?（实验性功能，报错请关闭）'\n        required: true\n        type: boolean\n        default: true\njobs:\n\n  build-kernel-a13-5-15:\n    uses: ./.github/workflows/kernel-a13-5.15.yml\n    secrets: inherit\n    with:\n      make_release: false\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n  get-ksu-manager:\n    if: ${{ inputs.get_manager }}\n    uses: ./.github/workflows/get-manager.yml\n    secrets: inherit\n    with:\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n\n"
  },
  {
    "path": ".github/workflows/build-kernel-a14-5-15.yml",
    "content": "name: 编译内核a14-5-15\n\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n  \non:\n  workflow_dispatch:\n    inputs:\n      kernelsu_variant:\n        description: \"选择 KernelSU\"\n        required: true\n        type: choice\n        options:\n          - Official\n          - Next\n          - MKSU\n          - SukiSU\n        default: SukiSU\n      kernelsu_branch:\n        description: \"选择 ksu 分支\"\n        required: true\n        type: choice\n        options:\n          - Stable(标准)\n          - Dev(开发)\n          - Other(其他/指定)\n        default: Dev(开发)\n      version:\n        description: '自定义版本名(如5.15.167后面的字符/留空则使用默认版本号)'\n        required: false\n        type: string\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: true\n        type: boolean\n        default: true\n      get_manager:\n        description: '是否同时获取最新KSU管理器?（实验性功能，报错请关闭）'\n        required: true\n        type: boolean\n        default: true\njobs:\n\n  build-kernel-a14-5-15:\n    uses: ./.github/workflows/kernel-a14-5.15.yml\n    secrets: inherit\n    with:\n      make_release: false\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n  get-ksu-manager:\n    if: ${{ inputs.get_manager }}\n    uses: ./.github/workflows/get-manager.yml\n    secrets: inherit\n    with:\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n\n"
  },
  {
    "path": ".github/workflows/build-kernel-a14-6-1.yml",
    "content": "name: 编译内核a14-6-1\n\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n  \non:\n  workflow_dispatch:\n    inputs:\n      kernelsu_variant:\n        description: \"选择 KernelSU\"\n        required: true\n        type: choice\n        options:\n          - Official\n          - Next\n          - MKSU\n          - SukiSU\n        default: SukiSU\n      kernelsu_branch:\n        description: \"选择 ksu 分支\"\n        required: true\n        type: choice\n        options:\n          - Stable(标准)\n          - Dev(开发)\n          - Other(其他/指定)\n        default: Dev(开发)\n      version:\n        description: '自定义版本名(如6.1.93后面的字符/留空则使用默认版本号)'\n        required: false\n        type: string\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: true\n        type: boolean\n        default: true\n      get_manager:\n        description: '是否同时获取最新KSU管理器?（实验性功能，报错请关闭）'\n        required: true\n        type: boolean\n        default: true\njobs:\n\n  build-kernel-a14-6-1:\n    uses: ./.github/workflows/kernel-a14-6.1.yml\n    secrets: inherit\n    with:\n      make_release: false\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n  get-ksu-manager:\n    if: ${{ inputs.get_manager }}\n    uses: ./.github/workflows/get-manager.yml\n    secrets: inherit\n    with:\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n\n"
  },
  {
    "path": ".github/workflows/build-kernel-a15-6-6.yml",
    "content": "name: 编译内核a15-6-6\n\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n  \non:\n  workflow_dispatch:\n    inputs:\n      kernelsu_variant:\n        description: \"选择 KernelSU\"\n        required: true\n        type: choice\n        options:\n          - Official\n          - Next\n          - MKSU\n          - SukiSU\n        default: SukiSU\n      kernelsu_branch:\n        description: \"选择 ksu 分支\"\n        required: true\n        type: choice\n        options:\n          - Stable(标准)\n          - Dev(开发)\n          - Other(其他/指定)\n        default: Dev(开发)\n      version:\n        description: '自定义版本名(如位于6.6.77-android15-8<自定义版本名>/留空则使用默认版本号)'\n        required: false\n        type: string\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: false\n        type: boolean\n        default: true\n      supp_op:\n        description: '是否开启一加8E处理器机型支持?(非该机型无须勾)'\n        required: false\n        type: boolean\n        default: false\n      get_manager:\n        description: '是否同时获取最新KSU管理器?（实验性功能，报错请关闭）'\n        required: true\n        type: boolean\n        default: true\njobs:\n\n build-kernel-a15-6-6:\n    uses: ./.github/workflows/kernel-a15-6.6.yml\n    secrets: inherit\n    with:\n      make_release: false\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      supp_op: ${{ inputs.supp_op }}\n get-ksu-manager:\n    if: ${{ inputs.get_manager }}\n    uses: ./.github/workflows/get-manager.yml\n    secrets: inherit\n    with:\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n"
  },
  {
    "path": ".github/workflows/get-manager.yml",
    "content": "name: GetManager\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: read   # Allows triggering actions\n\non:\n  workflow_call: # This allows this workflow to be called from another workflow\n    inputs:\n      kernelsu_variant:\n        required: true\n        type: string\n\njobs:\n  get_ksu_manager:\n    runs-on: ubuntu-latest\n    env:\n      CCACHE_COMPILERCHECK: \"%compiler% -dumpmachine; %compiler% -dumpversion\"\n      CCACHE_NOHASHDIR: \"true\"\n      CCACHE_HARDLINK: \"true\"\n      GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n    steps:\n      - name: 安装依赖\n        run: sudo apt update && sudo apt upgrade -y && sudo apt install -y git curl jq\n\n      - name: 设定 KSU 环境变量\n        run: |\n          if [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n            echo \"This is the Next variant\"\n            git clone https://github.com/KernelSU-Next/KernelSU-Next.git\n            cd KernelSU-Next\n            KSU_GIT_VERSION=$(git rev-list --count HEAD)\n            # ???\n            KSU_VERSION=$((10000 + KSU_GIT_VERSION + 200))\n            echo $KSU_VERSION\n            echo \"KSU_VERSION=$KSU_VERSION\" >> $GITHUB_ENV\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]; then\n            echo \"This is the SukiSU variant\"\n            git clone https://github.com/SukiSU-Ultra/SukiSU-Ultra.git\n            cd SukiSU-Ultra\n            KSU_GIT_VERSION=$(git rev-list --count HEAD)\n            KSU_VERSION=$((10000 + KSU_GIT_VERSION + 700))\n            echo $KSU_VERSION\n            echo \"KSU_VERSION=$KSU_VERSION\" >> $GITHUB_ENV\n          else\n            echo \"Unknown variant\"\n          fi\n\n      - name: 添加 KernelSU\n        run: |\n          if [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n            echo \"KernelSU Next...\"\n            REPO=\"KernelSU-Next/KernelSU-Next\"\n            FILENAME=\"build-manager-ci.yml\"\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]; then\n            echo \"SukiSU...\"\n            REPO=\"SukiSU-Ultra/SukiSU-Ultra\"\n            FILENAME=\"build-manager.yml\"\n          fi\n\n          # 获取最新成功构建的 ID\n          BUILD_ID=$(curl -s -H \"Authorization: token ${{ secrets.GITHUB_TOKEN }}\" \\\n          \"https://api.github.com/repos/$REPO/actions/workflows/$FILENAME/runs?status=success\" | \\\n          jq -r '.workflow_runs[0].id')\n          echo 'BUILD_ID=$BUILD_ID'\n          # 获取该构建的 Artifacts\n          ARTIFACTS=$(curl -s -H \"Authorization: token ${{ secrets.GITHUB_TOKEN }}\" \\\n            \"https://api.github.com/repos/$REPO/actions/runs/$BUILD_ID/artifacts\")\n          echo 'ARTIFACTS=$ARTIFACTS'\n          # 获取 Manager 文件的下载链接\n          if [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n            DOWNLOAD_URL=$(echo \"$ARTIFACTS\" | jq -r '.artifacts[] | select(.name | contains(\"Manager\")) | .archive_download_url')\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]; then\n            DOWNLOAD_URL=$(echo \"$ARTIFACTS\" | jq -r '.artifacts[] | select(.name | contains(\"Manager\")) | .archive_download_url')\n          fi\n\n          # 下载 Manager 文件\n          curl -L -H \"Authorization: token ${{ secrets.GITHUB_TOKEN }}\" -o \"${{ inputs.kernelsu_variant }}-管理器(${{ env.KSU_VERSION }}).zip\" \"$DOWNLOAD_URL\"\n          echo \"Manager 文件已下载为：${{ inputs.kernelsu_variant }}-管理器(${{ env.KSU_VERSION }}).zip\"\n          unzip *.zip\n\n      - name: 上传编译资产\n        uses: actions/upload-artifact@v4\n        with:\n          name: ${{ inputs.kernelsu_variant }}-Manager(${{ env.KSU_VERSION }})\n          path: |\n            *.apk\n"
  },
  {
    "path": ".github/workflows/gki-kernel.yml",
    "content": "name: GKI Kernel Build\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n\non:\n  workflow_call: # This allows this workflow to be called from another workflow\n    inputs:\n      make_release:\n        required: true\n        type: boolean\n        default: true\n      android_version:\n        required: true\n        type: string\n      kernel_version:\n        required: true\n        type: string\n      sub_level:\n        required: true\n        type: string\n      os_patch_level:\n        required: true\n        type: string\n      kernelsu_variant:\n        required: true\n        type: string\n      kernelsu_branch:\n        required: true\n        type: string\n      # kernelsu_branch_other:\n      #   required: false\n      #   type: string\n      revision:\n        required: false\n        type: string\n      version:\n        required: false\n        type: string\n      use_zram:\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        required: true\n        type: boolean\n        default: true\n      supp_op:\n        required: true\n        type: boolean\n        default: false\n      BBG:\n        required: true\n        type: boolean\n        default: false\njobs:\n  build-kernel-kernelsu-susfs:\n    runs-on: ubuntu-latest\n    env:\n      CCACHE_COMPILERCHECK: \"%compiler% -dumpmachine; %compiler% -dumpversion\"\n      CCACHE_NOHASHDIR: \"true\"\n      CCACHE_HARDLINK: \"true\"\n\n    steps:\n      - name: Maximize Build Space\n        uses: AdityaGarg8/remove-unwanted-software@v5\n        with:\n          remove-dotnet: 'true'          # Frees ~2 GB\n          remove-android: 'true'         # Frees ~9 GB\n          remove-haskell: 'true'         # Frees ~5.2 GB\n          remove-codeql: 'true'          # Frees ~5.4 GB\n          remove-docker-images: 'true'   # Frees ~3.2 GB\n          remove-large-packages: 'true'  # Frees ~3.1 GB\n          remove-swapfile: 'true'        # Frees ~4 GB\n          remove-cached-tools: 'false'   # Avoid unless confirmed safe\n          verbose: 'true'                # Enable detailed logging\n          \n      - name: 设定 CONFIG 环境变量\n        run: |\n          # Set CONFIG dynamically based on inputs values\n          CONFIG=\"${{ inputs.android_version }}-${{ inputs.kernel_version }}-${{ inputs.sub_level }}\"\n\n          # Set CONFIG as an environment variable for future steps\n          echo \"CONFIG=$CONFIG\" >> $GITHUB_ENV\n\n          echo \"CONFIG set to: $CONFIG\"\n\n      # Install ccache\n      - name: 安装 ccache\n        run: sudo apt update && sudo apt upgrade -y && sudo apt install -y ccache python3 git curl\n\n      - name: 配置 ccache\n        run: |\n          mkdir -p ~/.cache/bazel\n          ccache --version\n          ccache --max-size=2G\n          ccache --set-config=compression=true\n          echo \"CCACHE_DIR=$HOME/.ccache\" >> $GITHUB_ENV\n\n      - name: 从缓存中还原ccache\n        uses: actions/cache@v4\n        with:\n          path: ~/.ccache\n          key: ${{ inputs.android_version }}-${{ inputs.kernel_version }}-${{ inputs.sub_level }}-ccache-${{ github.sha }}\n          restore-keys: |\n            ${{ inputs.android_version }}-${{ inputs.kernel_version }}-${{ inputs.sub_level }}-ccache-\n\n      - name: 缓存工具链\n        id: cache-toolchain\n        uses: actions/cache@v4\n        with:\n          path: |\n            kernel-build-tools\n            mkbootimg\n          key: toolchain-${{ runner.os }}-v1\n\n      # Step 2: Download toolchain if cache was not found\n      - name: 下载工具链（如果未找到缓存）\n        if: steps.cache-toolchain.outputs.cache-hit != 'true'\n        run: |\n          AOSP_MIRROR=https://android.googlesource.com\n          BRANCH=main-kernel-build-2024\n          git clone $AOSP_MIRROR/kernel/prebuilts/build-tools -b $BRANCH --depth 1 kernel-build-tools\n          git clone $AOSP_MIRROR/platform/system/tools/mkbootimg -b $BRANCH --depth 1 mkbootimg\n\n      - name: 设置环境变量\n        run: |\n          echo \"AVBTOOL=$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/bin/avbtool\" >> $GITHUB_ENV\n          echo \"MKBOOTIMG=$GITHUB_WORKSPACE/mkbootimg/mkbootimg.py\" >> $GITHUB_ENV\n          echo \"UNPACK_BOOTIMG=$GITHUB_WORKSPACE/mkbootimg/unpack_bootimg.py\" >> $GITHUB_ENV\n\n      - name: 密钥设置——已经过mkppk修改\n        env:\n          BOOT_SIGN_KEY: ${{ secrets.BOOT_SIGN_KEY }}\n        run: |\n            openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 > ./kernel-build-tools/linux-x86/share/avb/testkey_rsa2048.pem\n            echo \"BOOT_SIGN_KEY_PATH=$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/share/avb/testkey_rsa2048.pem\" >> $GITHUB_ENV\n\n      - name: 安装仓库\n        run: |\n          # Install dependencies\n          mkdir -p ./git-repo\n          curl https://storage.googleapis.com/git-repo-downloads/repo > ./git-repo/repo\n          chmod a+rx ./git-repo/repo\n          echo \"REPO=$GITHUB_WORKSPACE/./git-repo/repo\" >> $GITHUB_ENV\n\n      - name: 克隆 AnyKernel3 和其他依赖项\n        run: |\n          echo \"Cloning AnyKernel3 and other dependencies...\"\n\n          ANYKERNEL_BRANCH=\"gki-2.0\"\n          SUSFS_BRANCH=\"gki-${{ inputs.android_version }}-${{ inputs.kernel_version }}\"\n\n          # Debug print the branches\n          echo \"Using branch for SUSFS: $SUSFS_BRANCH\"\n\n          # Clone repositories using the branch names\n          git clone https://github.com/WildPlusKernel/AnyKernel3.git -b \"$ANYKERNEL_BRANCH\"\n          git clone https://github.com/ShirkNeko/susfs4ksu.git -b \"$SUSFS_BRANCH\"\n          git clone https://github.com/Tools-cx-app/kernel_patches.git\n          # Sukisu的补丁仓库\n          git clone https://github.com/ShirkNeko/SukiSU_patch.git\n          \n      - name: 设置 CONFIG 环境变量\n        run: |\n          # Set CONFIG dynamically based on inputs values\n          CONFIG=\"${{ inputs.android_version }}-${{ inputs.kernel_version }}-${{ inputs.sub_level }}\"\n\n          # Set CONFIG as an environment variable for future steps\n          echo \"CONFIG=$CONFIG\" >> $GITHUB_ENV\n\n          echo \"CONFIG set to: $CONFIG\"\n\n      - name: 初始化和同步内核源代码\n        run: |\n          echo \"Creating folder for configuration: $CONFIG...\"\n          mkdir -p \"$CONFIG\"\n          cd \"$CONFIG\"\n\n          # Initialize and sync kernel source\n          echo \"Initializing and syncing kernel source...\"\n          FORMATTED_BRANCH=\"${{ inputs.android_version }}-${{ inputs.kernel_version }}-${{ inputs.os_patch_level }}\"\n          $REPO init --depth=1 --u https://android.googlesource.com/kernel/manifest -b common-${FORMATTED_BRANCH} --repo-rev=v2.16\n          REMOTE_BRANCH=$(git ls-remote https://android.googlesource.com/kernel/common ${FORMATTED_BRANCH})\n          DEFAULT_MANIFEST_PATH=.repo/manifests/default.xml\n          # Check if branch is deprecated\n          if grep -q deprecated <<< $REMOTE_BRANCH; then\n            echo \"Found deprecated branch: $FORMATTED_BRANCH\"\n            sed -i \"s/\\\"${FORMATTED_BRANCH}\\\"/\\\"deprecated\\/${FORMATTED_BRANCH}\\\"/g\" $DEFAULT_MANIFEST_PATH\n          fi\n          # Sync repo and apply patches\n          $REPO --version\n          $REPO --trace sync -c -j$(nproc --all) --no-tags --fail-fast\n          echo \"REMOTE_BRANCH=$REMOTE_BRANCH\" >> $GITHUB_ENV\n\n          FORMATTED_BRANCH=\"${{ inputs.android_version }}-${{ inputs.kernel_version }}\"\n          if grep -q deprecated <<< \"$REMOTE_BRANCH\" && \\\n             { [ \"$FORMATTED_BRANCH\" == \"android13-5.15\" ] && \\\n               [ ${{ inputs.sub_level }} -lt 123 ]; }; then\n            echo '修复5.15仅支持旧版C库的BUG'\n            cd ./common\n            curl -LSs https://github.com/zzh20188/GKI_KernelSU_SUSFS/raw/refs/heads/legacy/fix_5.15.legacy -o fix_5.15.legacy.patch\n            patch -p1 < fix_5.15.legacy.patch\n          fi\n\n      - name: 使GKI在一加8E平台正常使用\n        if: ${{ inputs.supp_op }}\n        run: |\n          echo '切换到驱动目录'\n          cd \"$CONFIG/common/drivers/\"\n          echo '当前目录$(pwd),下载支持补丁'\n          curl -LSs \"https://github.com/zzh20188/GKI_KernelSU_SUSFS/raw/refs/heads/dev/hmbird_patch.c\" -o hmbird_patch.c\n          if [ ! -f hmbird_patch.c ]; then\n            echo \"hmbird_patch.c 下载失败\"\n          fi\n          echo '补丁加入构建'\n          echo \"obj-y += hmbird_patch.o\" >> Makefile\n          tail -n 3 Makefile\n      \n      - name: 确定 KernelSU 的分支\n        run: |\n          branch_input=\"${{ inputs.kernelsu_branch }}\"\n          variant_input=\"${{ inputs.kernelsu_variant }}\"\n          \n          case \"$branch_input\" in\n            \"Stable(标准)\")\n              echo \"BRANCH=-s builtin\" >> $GITHUB_ENV\n              ;;\n            \"Dev(开发)\")\n              case \"$variant_input\" in\n                \"Official\" | \"MKSU\") echo \"BRANCH=-s main\" >> $GITHUB_ENV ;;\n                \"Next\")              echo \"BRANCH=-s next-susfs-dev\" >> $GITHUB_ENV ;;\n                \"SukiSU\")           echo \"BRANCH=-s builtin\" >> $GITHUB_ENV ;;\n                *) \n                  echo \"错误：未定义开发分支的变体 '$variant_input'\" >&2\n                  exit 1\n                  ;;\n              esac\n              ;;\n            *)\n              echo \"错误：需要自定义分支时未提供参数\" >&2\n              exit 1\n              ;;\n          esac\n\n      - name: 添加 KernelSU\n        run: |\n          echo \"更改为配置目录: $CONFIG...\"\n          cd \"$CONFIG\"\n\n          if [ \"${{ inputs.kernelsu_variant }}\" == \"Official\" ]; then\n            echo \"Adding KernelSU Official...\"\n            curl -LSs \"https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh\" | bash $BRANCH\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n            echo \"Adding KernelSU Next...\"\n            curl -LSs \"https://raw.githubusercontent.com/rifsxd/KernelSU-Next/next-susfs/kernel/setup.sh\" | bash $BRANCH\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"MKSU\" ]; then\n            echo \"Adding KernelSU MKSU...\"\n            curl -LSs \"https://raw.githubusercontent.com/5ec1cff/KernelSU/main/kernel/setup.sh\" | bash $BRANCH\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]; then\n            echo \"Adding KernelSU SukiSU...\"\n            curl -LSs \"https://raw.githubusercontent.com/SukiSU-Ultra/SukiSU-Ultra/main/kernel/setup.sh\" | bash $BRANCH\n          fi\n\n      - name: 添加 Baseband-guard 支持\n        if: ${{ github.event.inputs.BBG == 'true' }}\n        run: |\n          echo \"更改为配置目录: $CONFIG...\"\n          cd \"$CONFIG/common\"\n          \n          echo \"下载并运行 Baseband-guard setup 脚本...\"\n          wget -O- https://github.com/vc-teahouse/Baseband-guard/raw/main/setup.sh | bash\n          \n          echo \"启用 Baseband-guard 内核配置...\"\n          CONFIG_FILE=\"arch/arm64/configs/gki_defconfig\"\n          echo \"CONFIG_BBG=y\" >> \"$CONFIG_FILE\"\n          \n          # 对于 GitHub Actions 云编译，修改 LSM Kconfig\n          echo \"修改 security/Kconfig 以包含 baseband_guard...\"\n          sed -i '/^config LSM$/,/^help$/{ /^[[:space:]]*default/ { /baseband_guard/! s/lockdown/lockdown,baseband_guard/ } }' ./security/Kconfig\n          \n          echo \"Baseband-guard 配置完成\"\n          \n      - name: 为 KernelSU 变体安装 SUSFS 补丁\n        run: |\n          echo \"更改为配置目录: $CONFIG...\"\n          cd \"$CONFIG\"\n\n          echo \"Applying SUSFS patches...\"\n\n          # Copy SUSFS patches\n          cp ../susfs4ksu/kernel_patches/50_add_susfs_in_gki-${{ inputs.android_version }}-${{ inputs.kernel_version }}.patch ./common/\n          cp ../susfs4ksu/kernel_patches/fs/* ./common/fs/\n          cp ../susfs4ksu/kernel_patches/include/linux/* ./common/include/linux/\n\n          if [ \"${{ inputs.kernelsu_variant }}\" == \"Official\" ]; then\n            echo \"Applying SUSFS patches for Official KernelSU...\"\n            cd ./KernelSU\n            cp ../../susfs4ksu/kernel_patches/KernelSU/10_enable_susfs_for_ksu.patch ./\n            patch -p1 --forward --fuzz=3 < 10_enable_susfs_for_ksu.patch\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n          #   echo \"Applying SUSFS patches for KernelSU-Next...\"\n             cd ./KernelSU-Next\n          #   curl -LSs https://github.com/zzh20188/GKI_KernelSU_SUSFS/raw/refs/heads/dev/0001-kernel-patch-susfs-v1.5.7-to-KernelSU-Next-v1.0.7.patch -o susfs.patch \n          #   patch -p1 --forward < susfs.patch\n\n          # #   cp ../../kernel_patches/next/kernel-patch-susfs-v1.5.7-to-KernelSU-Next.patch ./\n          # #   patch -p1 --forward --fuzz=3 < kernel-patch-susfs-v1.5.7-to-KernelSU-Next.patch || true\n          # #   # 临时补丁\n          # #   curl -LSs \"https://github.com/zzh20188/GKI_KernelSU_SUSFS/raw/refs/heads/dev/fix_ksun_susfs.patch\" -o fix_ksun_susfs.patch\n          # #   echo '应用KSUN临时修复补丁'\n          # #   patch -p1 --forward < fix_ksun_susfs.patch\n          #   sed -i '/bool ksu_devpts_hook = false;/d' ./kernel/sucompat.c\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"MKSU\" ]; then\n            echo \"Applying SUSFS patches for MKSU...\"\n             cd ./KernelSU\n            cp ../../susfs4ksu/kernel_patches/KernelSU/10_enable_susfs_for_ksu.patch ./\n            patch -p1 --forward --fuzz=3 < 10_enable_susfs_for_ksu.patch || true\n\n            echo \"Applying MKSU specific SUSFS patch...\"\n            cp ../../kernel_patches/mksu/mksu_susfs.patch ./\n            patch -p1 < mksu_susfs.patch || true\n            cp ../../kernel_patches/mksu/fix.patch ./\n            patch -p1 < fix.patch || true\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]; then\n            echo \"Applying SUSFS patches for SukiSU...\"\n             cd ./KernelSU\n            echo \"Applying SukiSU specific SUSFS patch...\"\n          else\n            echo \"Invalid KernelSU variant selected!\"\n            exit 1\n          fi\n\n          cd ../common\n          FORMATTED_BRANCH=\"${{ inputs.android_version }}-${{ inputs.kernel_version }}\"\n          if grep -q deprecated <<< \"$REMOTE_BRANCH\" && \\\n             { [ \"$FORMATTED_BRANCH\" == \"android12-5.10\" ] && \\\n               [ ${{ inputs.sub_level }} -lt 136 ]; }; then\n            patch -p1 < 50_add_susfs_in_gki-${{ inputs.android_version }}-${{ inputs.kernel_version }}.patch || true\n            curl -LSs https://github.com/zzh20188/GKI_KernelSU_SUSFS/raw/refs/heads/legacy/fdinfo.c.patch -o fdinfo.c.patch\n            patch -p1 < fdinfo.c.patch\n          else\n            patch -p1 --fuzz=3 < 50_add_susfs_in_gki-${{ inputs.android_version }}-${{ inputs.kernel_version }}.patch || true\n          fi\n\n      - name: 一些修复补丁\n        run: |\n          cd \"$CONFIG/common\"\n          FORMATTED_BRANCH=\"${{ inputs.android_version }}-${{ inputs.kernel_version }}\"\n          # Fake Patch to fix failures\n          fake_patched=0\n          if [ \"$FORMATTED_BRANCH\" = \"android15-6.6\" ]; then\n            if ! grep -qxF $'\\tunsigned int nr_subpages = __PAGE_SIZE / PAGE_SIZE;' ./fs/proc/task_mmu.c; then\n              echo \"未找到 nr_subpages,正在进行补丁修复\"\n              sed -i -e '/int ret = 0, copied = 0;/a \\\\tunsigned int nr_subpages \\= __PAGE_SIZE \\/ PAGE_SIZE;' -e '/int ret = 0, copied = 0;/a \\\\tpagemap_entry_t \\*res = NULL;' ./fs/proc/task_mmu.c\n              fake_patched=1\n            fi\n            if ! grep -qxF '#include <linux/dma-buf.h>' ./fs/proc/base.c; then\n              echo \"未找到 #include <linux/dma-buf.h>，添加缺失的头文件\"\n              sed -i '/#include <linux\\/cpufreq_times.h>/a #include <linux\\/dma-buf.h>' ./fs/proc/base.c\n            fi\n          fi\n          if [ \"$FORMATTED_BRANCH\" = \"android14-6.1\" ]; then\n            if ! grep -qxF $'\\tif (!vma_pages(vma))' ./fs/proc/task_mmu.c; then\n              echo \"未找到 vma_pages，正在进行补丁修复\"\n              fake_patched=1\n            fi\n            if ! grep -qxF '#include <linux/dma-buf.h>' ./fs/proc/base.c; then\n              echo \"未找到 #include <linux/dma-buf.h>，添加缺失的头文件\"\n              sed -i '/#include <linux\\/cpufreq_times.h>/a #include <linux\\/dma-buf.h>' ./fs/proc/base.c\n            fi\n          fi\n          \n          if [ \"$FORMATTED_BRANCH\" = \"android12-5.10\" ] || [ \"$FORMATTED_BRANCH\" = \"android13-5.10\" ] || [ \"$FORMATTED_BRANCH\" = \"android13-5.15\" ]; then\n            if ! grep -qxF $'\\tif (!vma_pages(vma))' ./fs/proc/task_mmu.c; then\n              echo \"未找到 vma_pages,正在进行补丁修复\"\n              fake_patched=1\n            fi\n          fi\n\n          if [ \"$fake_patched\" = 1 ]; then\n            if [ \"$FORMATTED_BRANCH\" = \"android15-6.6\" ]; then\n              if grep -qxF $'\\tunsigned int nr_subpages = __PAGE_SIZE / PAGE_SIZE;' ./fs/proc/task_mmu.c; then\n                sed -i -e '/unsigned int nr_subpages \\= __PAGE_SIZE \\/ PAGE_SIZE;/d' -e '/pagemap_entry_t \\*res = NULL;/d' ./fs/proc/task_mmu.c\n              fi\n            fi\n            \n            if [ \"$FORMATTED_BRANCH\" = \"android12-5.10\" ] || [ \"$FORMATTED_BRANCH\" = \"android13-5.10\" ] || [ \"$FORMATTED_BRANCH\" = \"android13-5.15\" ] || [ \"$FORMATTED_BRANCH\" = \"android14-6.1\" ]; then\n              if grep -q 'goto[[:space:]]\\+show_pad;' ./fs/proc/task_mmu.c; then\n                sed -i -e 's/goto show_pad;/return 0;/' ./fs/proc/task_mmu.c\n              fi\n            fi\n          fi\n  \n      - name: 应用新的HOOKS补丁\n        run: |\n          echo \"更改为配置目录: $CONFIG...\"\n          cd \"$CONFIG/common\"\n\n          if [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n            echo \"Applying hooks for KernelSU-Next...\"\n            cp ../../kernel_patches/next/scope_min_manual_hooks_v1.4.patch ./\n            patch -p1 -F 3 < scope_min_manual_hooks_v1.4.patch\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]; then\n            echo \"Applying hooks for SukiSU...\"\n          fi\n\n      - name: 复制源文件 & 应用LZ4KD & ZSTDN补丁\n        if: ${{ inputs.use_zram }}\n        run: |\n          echo \"更改为配置目录: $CONFIG...\"\n          cd \"$CONFIG/common\"\n          cp -r ../../SukiSU_patch/other/zram/lz4k/include/linux/* ./include/linux/\n          cp -r ../../SukiSU_patch/other/zram/lz4k/lib/* ./lib/\n          cp -r ../../SukiSU_patch/other/zram/lz4k/crypto/* ./crypto/\n          cp -r ../../SukiSU_patch/other/zram/lz4k_oplus ./lib/\n\n          cp ../../SukiSU_patch/other/zram/zram_patch/${{ inputs.kernel_version }}/lz4kd.patch ./\n          echo \"正在打lz4kd补丁\"\n          patch -p1 -F 3 < lz4kd.patch || true\n          echo '完成LZ4KD补丁'\n\n          cp ../../SukiSU_patch/other/zram/zram_patch/${{ inputs.kernel_version }}/lz4k_oplus.patch ./\n          echo \"正在打lz4k_oplus补丁\"\n          patch -p1 -F 3 < lz4k_oplus.patch || true\n          echo '完成lz4k_oplus补丁'\n\n      - name: 应用隐藏某特征的补丁\n        run: |\n          echo \"更改为配置目录: $CONFIG...\"\n          cd \"$CONFIG/common\"\n          # Apply additional patch\n          if [ \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]; then\n          cp ../../SukiSU_patch/69_hide_stuff.patch ./\n          patch -p1 -F 3 < 69_hide_stuff.patch\n          else\n            cp ../../kernel_patches/69_hide_stuff.patch ./\n            patch -p1 -F 3 < 69_hide_stuff.patch\n          fi\n\n      - name: LZ4KD & Lz4k_oplus配置\n        if: ${{ inputs.use_zram }}\n        run: |\n          set -x\n          set -e\n          echo \"写入LZ4KD&ZSTDN config依赖\"\n          CONFIG_FILE=\"$CONFIG/common/arch/arm64/configs/gki_defconfig\"\n\n          if [ \"${{ inputs.kernel_version }}\" = \"5.10\" ]; then\n            echo \"CONFIG_ZSMALLOC=y\" >> \"$CONFIG_FILE\"\n            echo \"CONFIG_ZRAM=y\" >> \"$CONFIG_FILE\"\n            echo \"CONFIG_MODULE_SIG=n\" >> \"$CONFIG_FILE\"\n            echo \"CONFIG_CRYPTO_LZO=y\" >> \"$CONFIG_FILE\"\n            echo \"CONFIG_ZRAM_DEF_COMP_LZ4KD=y\" >> \"$CONFIG_FILE\"\n          fi\n\n          if [ \"${{ inputs.kernel_version }}\" != \"6.6\" ] && [ \"${{ inputs.kernel_version }}\" != \"5.10\" ]; then\n            # sed -i 's/CONFIG_MODULE_SIG=y/CONFIG_MODULE_SIG=n/g' \"$CONFIG_FILE\"\n            if grep -q \"CONFIG_ZSMALLOC\" -- \"$CONFIG_FILE\"; then\n                echo \"提示：文件 $CONFIG_FILE 包含字符串 CONFIG_ZSMALLOC。\"\n                sed -i 's/CONFIG_ZSMALLOC=m/CONFIG_ZSMALLOC=y/g' \"$CONFIG_FILE\"\n            else\n                echo \"警告：文件 $CONFIG_FILE 不包含字符串 CONFIG_ZSMALLOC。\"\n                echo \"CONFIG_ZSMALLOC=y\" >> \"$CONFIG_FILE\"\n            fi\n\n            sed -i 's/CONFIG_ZRAM=m/CONFIG_ZRAM=y/g' \"$CONFIG_FILE\"\n          fi\n\n          if [ \"${{ inputs.kernel_version }}\" = \"6.6\" ]; then\n            echo \"CONFIG_ZSMALLOC=y\" >> \"$CONFIG_FILE\"\n            sed -i 's/CONFIG_ZRAM=m/CONFIG_ZRAM=y/g' \"$CONFIG_FILE\"\n          fi\n\n          if [ \"${{ inputs.android_version }}\" = \"android14\" ] || [ \"${{ inputs.android_version }}\" = \"android15\" ]; then\n            sed -i 's/\"drivers\\/block\\/zram\\/zram\\.ko\",//g; s/\"mm\\/zsmalloc\\.ko\",//g' \"$CONFIG/common/modules.bzl\"\n            echo \"CONFIG_MODULE_SIG_FORCE=n\" >> \"$CONFIG_FILE\"\n            echo 'Android14_Bazel:已修复zram&zsmalloc'\n          fi\n\n          if grep -q \"CONFIG_ZSMALLOC=y\" \"$CONFIG_FILE\" && grep -q \"CONFIG_ZRAM=y\" \"$CONFIG_FILE\"; then\n            echo \"CONFIG_CRYPTO_LZ4HC=y\" >> \"$CONFIG_FILE\"\n            echo \"CONFIG_CRYPTO_LZ4K=y\" >> \"$CONFIG_FILE\"\n            echo \"CONFIG_CRYPTO_LZ4KD=y\" >> \"$CONFIG_FILE\"\n            echo \"CONFIG_CRYPTO_842=y\" >> \"$CONFIG_FILE\"\n            echo \"CONFIG_CRYPTO_LZ4K_OPLUS=y\" >> \"$CONFIG_FILE\"\n            echo \"CONFIG_ZRAM_WRITEBACK=y\" >> \"$CONFIG_FILE\"\n          fi\n\n      - name: 设置BBR为默认拥塞算法\n        if: ${{ inputs.set_defbbr }}\n        run: |\n          CONFIG_FILE=\"$CONFIG/common/arch/arm64/configs/gki_defconfig\"\n          echo \"Changing to configuration directory: $CONFIG_FILE...\"\n          echo \"CONFIG_DEFAULT_BBR=y\" >> \"$CONFIG_FILE\"\n           \n      - name: 添加SUSFS配置设置\n        run: |\n          echo \"更改为配置目录: $CONFIG...\"\n          cd \"$CONFIG\"\n          echo \"Adding configuration settings to gki_defconfig...\"\n\n          # Add KSU configuration settings\n          echo \"CONFIG_KSU=y\" >> ./common/arch/arm64/configs/gki_defconfig\n\n          if [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n            echo \"CONFIG_KSU_KPROBES_HOOK=n\" >> ./common/arch/arm64/configs/gki_defconfig\n            echo \"CONFIG_KSU_SUSFS_SUS_SU=n\" >> ./common/arch/arm64/configs/gki_defconfig\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]; then\n            echo \"CONFIG_KPM=y\" >> ./common/arch/arm64/configs/gki_defconfig\n            echo \"CONFIG_KSU_SUSFS_SUS_SU=n\" >> ./common/arch/arm64/configs/gki_defconfig\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"MKSU\" ]; then\n            echo \"CONFIG_KSU_SUSFS_SUS_SU=n\" >> ./common/arch/arm64/configs/gki_defconfig\n          fi\n          \n          # Add additional tmpfs config setting\n          echo \"CONFIG_TMPFS_XATTR=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_TMPFS_POSIX_ACL=y\" >> ./common/arch/arm64/configs/gki_defconfig\n\n          # Add additional config setting\n          echo \"CONFIG_IP_NF_TARGET_TTL=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_IP6_NF_TARGET_HL=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_IP6_NF_MATCH_HL=y\" >> ./common/arch/arm64/configs/gki_defconfig\n\n          # Add BBR Config\n          echo \"CONFIG_TCP_CONG_ADVANCED=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_TCP_CONG_BBR=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_NET_SCH_FQ=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_TCP_CONG_BIC=n\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_TCP_CONG_WESTWOOD=n\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_TCP_CONG_HTCP=n\" >> ./common/arch/arm64/configs/gki_defconfig\n\n          # Add SUSFS configuration settings\n          echo \"CONFIG_KSU_SUSFS=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_KSU_SUSFS_SUS_MAP=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          if [ \"${{ inputs.kernel_version }}\" != \"6.6\" ]; then\n          echo \"CONFIG_KSU_SUSFS_SUS_PATH=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          else\n          echo \"CONFIG_KSU_SUSFS_SUS_PATH=n\" >> ./common/arch/arm64/configs/gki_defconfig\n          fi\n          echo \"CONFIG_KSU_SUSFS_SUS_MOUNT=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_KSU_SUSFS_AUTO_ADD_SUS_KSU_DEFAULT_MOUNT=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_KSU_SUSFS_AUTO_ADD_SUS_BIND_MOUNT=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_KSU_SUSFS_SUS_KSTAT=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_KSU_SUSFS_TRY_UMOUNT=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_KSU_SUSFS_AUTO_ADD_TRY_UMOUNT_FOR_BIND_MOUNT=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_KSU_SUSFS_SPOOF_UNAME=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_KSU_SUSFS_ENABLE_LOG=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_KSU_SUSFS_HIDE_KSU_SUSFS_SYMBOLS=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_KSU_SUSFS_SPOOF_CMDLINE_OR_BOOTCONFIG=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          echo \"CONFIG_KSU_SUSFS_OPEN_REDIRECT=y\" >> ./common/arch/arm64/configs/gki_defconfig\n          \n          # Remove check_defconfig\n          sed -i 's/check_defconfig//' ./common/build.config.gki\n\n      - name: 配置内核名称\n        run: |\n          echo \"更改为配置目录: $CONFIG...\"\n          cd \"$CONFIG\"\n          \n          if [ ! -z ${{ inputs.version }} ]; then\n            echo \"版本号不为空\"\n            sed -i '$s|echo \"\\$res\"|echo \"${{ inputs.version }}\"|' ./common/scripts/setlocalversion\n          else\n            echo \"版本号为空，使用默认值\"\n            sed -i '$s|echo \"\\$res\"|echo \"\\$res-zakozakoooooo-1145141919\"|' ./common/scripts/setlocalversion\n          fi\n\n          # 如果你需要改构建时间,请把以下变量 CURRENT_TIME 修改为如下例子字符串,如:CURRENT_TIME=\"Sat Jun 07 06:29:29 UTC 2025\"\n          # 该字符串表示 UTC时间: 2025年6月7日 06:29:29,\"Sat\" 是星期六的缩写，而 \"Jun\" 是六月的缩写\n          # 如果你想使用北京时间应为:CURRENT_TIME=\"Sat Jun 07 14:29:29 CST 2025\"\n          CURRENT_TIME=$(date -u +\"%a %b %d %H:%M:%S UTC %Y\")\n\n          echo \"CURRENT_TIME=$CURRENT_TIME\"\n          perl -pi -e \"s{UTS_VERSION=\\\"\\\\\\$\\(echo \\\\\\$UTS_VERSION \\\\\\$CONFIG_FLAGS \\\\\\$TIMESTAMP \\\\| cut -b -\\\\\\$UTS_LEN\\)\\\"}{UTS_VERSION=\\\"#1 SMP PREEMPT $CURRENT_TIME\\\"}\" ./common/scripts/mkcompile_h\n\n          # Apply specific Makefile modification for kernel versions 6.1 and 6.6 only\n          if [ \"${{ inputs.kernel_version }}\" = \"6.1\" ] || [ \"${{ inputs.kernel_version }}\" = \"6.6\" ]; then\n            sed -i -e \"s|\\$(preempt-flag-y) \\\"\\$(build-timestamp)\\\"|\\$(preempt-flag-y) \\\"$CURRENT_TIME\\\"|\" ./common/init/Makefile\n          fi\n          \n          if [ -f \"build/build.sh\" ]; then\n            sed -i 's/-dirty//' ./common/scripts/setlocalversion\n          else\n            sed -i '/^[[:space:]]*\"protected_exports_list\"[[:space:]]*:[[:space:]]*\"android\\/abi_gki_protected_exports_aarch64\",$/d' ./common/BUILD.bazel\n            rm -rf ./common/android/abi_gki_protected_exports_*\n            sed -i \"/stable_scmversion_cmd/s/-maybe-dirty//g\" ./build/kernel/kleaf/impl/stamp.bzl\n            # sed -E -i '/^CONFIG_LOCALVERSION=/ s/(.*)\"$/\\1\"/' ./common/arch/arm64/configs/gki_defconfig\n            if [ ! -z ${{ inputs.version }} ]; then\n              sed -i '/^CONFIG_LOCALVERSION=/ s/=\"\\([^\"]*\\)\"/=\"${{ inputs.version }}\"/' ./common/arch/arm64/configs/gki_defconfig\n            fi\n          fi\n\n      - name: Build with retry\n        uses: nick-fields/retry@v3\n        with:\n          timeout_minutes: 30\n          max_attempts: 3\n          retry_on: timeout\n          command: |\n            set -e\n            set -x\n            cd \"$CONFIG\"\n            # 替换 BUILD_SYSTEM_DLKM=1 为 BUILD_SYSTEM_DLKM=0\n            sed -i 's/BUILD_SYSTEM_DLKM=1/BUILD_SYSTEM_DLKM=0/' common/build.config.gki.aarch64\n\n            # 删除 MODULES_ORDER=android/gki_aarch64_modules 行\n            sed -i '/MODULES_ORDER=android\\/gki_aarch64_modules/d' common/build.config.gki.aarch64\n\n            sed -i '/KMI_SYMBOL_LIST_STRICT_MODE/d' common/build.config.gki.aarch64\n\n            echo \"Building the kernel...\"\n            if [ -f \"build/build.sh\" ]; then\n              LTO=thin BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh CC=\"/usr/bin/ccache clang\" || exit 1\n            else\n              tools/bazel build --disk_cache=/home/runner/.cache/bazel --config=fast --lto=thin //common:kernel_aarch64_dist || exit 1\n            fi\n            ccache --show-stats\n            \n      - name: 修补 Image 文件 安卓12和安卓13(仅限sukisu)\n        if: ${{ inputs.use_kpm && inputs.kernelsu_variant == 'SukiSU' && (inputs.android_version == 'android12' || inputs.android_version == 'android13') }}\n        run: |\n          if [ \"${{ inputs.kernel_version }}\" != \"6.6\" ]; then\n            echo \"Patching Image file...\"\n            cd \"$CONFIG/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist\"\n            curl -LSs \"https://raw.githubusercontent.com/ShirkNeko/SukiSU_patch/refs/heads/main/kpm/patch_linux\" -o patch\n            chmod 777 patch\n            ./patch\n            rm -rf Image\n            mv oImage Image\n            cd ../../../..\n          fi\n\n      - name: 修补 Image 文件 安卓14和安卓15(仅限sukisu)\n        if: ${{ inputs.use_kpm && inputs.kernelsu_variant == 'SukiSU' && (inputs.android_version == 'android14' || inputs.android_version == 'android15') }}\n        run: |\n          if [ \"${{ inputs.kernel_version }}\" != \"6.6\" ]; then\n            echo \"Patching Image file...\"\n            cd \"$CONFIG/bazel-bin/common/kernel_aarch64/\"\n            curl -LSs \"https://raw.githubusercontent.com/ShirkNeko/SukiSU_patch/refs/heads/main/kpm/patch_linux\" -o patch\n            chmod 777 patch\n            ./patch\n            rm -rf Image\n            mv oImage Image\n            cd ../../..\n          fi\n\n      - name: 创建Bootimgs文件夹并复制镜像\n        if: ${{ inputs.android_version == 'android12' || inputs.android_version == 'android13' }}\n        run: |\n          echo \"更改为配置目录: $CONFIG...\"\n          mkdir bootimgs\n\n          echo \"Creating bootimgs folder and copying images...\"\n          cp ./$CONFIG/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist/Image ./bootimgs\n          cp ./$CONFIG/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist/Image.lz4 ./bootimgs\n          cp ./$CONFIG/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist/Image ./\n          cp ./$CONFIG/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist/Image.lz4 ./\n\n          # Create gzip of the Image file\n          gzip -n -k -f -9 ./Image > ./Image.gz\n\n      - name: 创建Bootimgs文件夹并复制镜像\n        if: ${{ inputs.android_version == 'android14' || inputs.android_version == 'android15' }}\n        run: |\n          echo \"更改为配置目录: $CONFIG...\"\n          mkdir bootimgs\n\n          echo \"Creating bootimgs folder and copying images...\"\n          cp ./$CONFIG/bazel-bin/common/kernel_aarch64/Image ./bootimgs\n          cp ./$CONFIG/bazel-bin/common/kernel_aarch64/Image.lz4 ./bootimgs\n          cp ./$CONFIG/bazel-bin/common/kernel_aarch64/Image ./\n          cp ./$CONFIG/bazel-bin/common/kernel_aarch64/Image.lz4 ./\n\n          # Create gzip of the Image file\n          gzip -n -k -f -9 ./Image > ./Image.gz\n\n      - name: 创建不同格式的ZIP文件\n        run: |\n          echo \"Creating zip files for all formats...\"\n          cd ./AnyKernel3\n\n          # Create and upload zip for each format\n          ZIP_NAME=\"${{ inputs.android_version }}-${{ inputs.kernel_version }}.${{ inputs.sub_level }}-${{ inputs.os_patch_level }}-AnyKernel3.zip\"\n          echo \"Creating zip file: $ZIP_NAME...\"\n          mv ../Image ./Image\n          zip -r \"../$ZIP_NAME\" ./*\n          rm ./Image\n\n          ZIP_NAME=\"${{ inputs.android_version }}-${{ inputs.kernel_version }}.${{ inputs.sub_level }}-${{ inputs.os_patch_level }}-AnyKernel3-lz4.zip\"\n          echo \"Creating zip file: $ZIP_NAME...\"\n          mv ../Image.lz4 ./Image.lz4\n          zip -r \"../$ZIP_NAME\" ./*\n          rm ./Image.lz4\n\n          ZIP_NAME=\"${{ inputs.android_version }}-${{ inputs.kernel_version }}.${{ inputs.sub_level }}-${{ inputs.os_patch_level }}-AnyKernel3-gz.zip\"\n          echo \"Creating zip file: $ZIP_NAME...\"\n          mv ../Image.gz ./Image.gz\n          zip -r \"../$ZIP_NAME\" ./*\n          rm ./Image.gz\n\n      - name: 运行boot镜像 ${{ inputs.android_version }} 编译脚本\n        if: ${{ inputs.android_version == 'android12' }}\n        run: |\n          echo \"更改为配置目录: $CONFIG...\"\n          cd bootimgs\n\n          GKI_URL=https://dl.google.com/android/gki/gki-certified-boot-android12-5.10-\"${{ inputs.os_patch_level }}\"_\"${{ inputs.revision }}\".zip\n          FALLBACK_URL=https://dl.google.com/android/gki/gki-certified-boot-android12-5.10-2023-01_r1.zip\n\n          # Check if the GKI URL is available\n          echo \"Checking if GKI kernel URL is reachable: $GKI_URL\"\n          status=$(curl -sL -w \"%{http_code}\" \"$GKI_URL\" -o /dev/null)\n\n          if [ \"$status\" = \"200\" ]; then\n              echo \"[+] Downloading from GKI_URL\"\n              curl -Lo gki-kernel.zip \"$GKI_URL\"\n          else\n              echo \"[+] $GKI_URL not found, using $FALLBACK_URL\"\n              curl -Lo gki-kernel.zip \"$FALLBACK_URL\"\n          fi\n\n          # Unzip the downloaded kernel and remove the zip\n          echo \"Unzipping the downloaded kernel...\"\n          unzip gki-kernel.zip && rm gki-kernel.zip\n\n          echo \"Unpacking boot.img...\"\n          FULL_PATH=$(pwd)/boot-5.10.img\n          echo \"Unpacking using: $FULL_PATH\"\n\n          echo \"Running unpack_bootimg.py...\"\n          $UNPACK_BOOTIMG --boot_img=\"$FULL_PATH\"\n\n          echo \"Building Image.gz\"\n          gzip -n -k -f -9 ./Image > ./Image.gz\n\n          echo \"Building boot.img\"\n          $MKBOOTIMG --header_version 4 --kernel Image --output boot.img --ramdisk out/ramdisk --os_version 12.0.0 --os_patch_level \"${{ inputs.os_patch_level }}\"\n          $AVBTOOL add_hash_footer --partition_name boot --partition_size $((64 * 1024 * 1024)) --image boot.img --algorithm SHA256_RSA2048 --key $BOOT_SIGN_KEY_PATH\n          cp ./boot.img ../${{ inputs.android_version }}-${{ inputs.kernel_version }}.${{ inputs.sub_level }}-${{ inputs.os_patch_level }}-boot.img\n\n          echo \"Building boot-gz.img\"\n          $MKBOOTIMG --header_version 4 --kernel Image.gz --output boot-gz.img --ramdisk out/ramdisk --os_version 12.0.0 --os_patch_level \"${{ inputs.os_patch_level }}\"\n          $AVBTOOL add_hash_footer --partition_name boot --partition_size $((64 * 1024 * 1024)) --image boot-gz.img --algorithm SHA256_RSA2048 --key $BOOT_SIGN_KEY_PATH\n          cp ./boot-gz.img ../${{ inputs.android_version }}-${{ inputs.kernel_version }}.${{ inputs.sub_level }}-${{ inputs.os_patch_level }}-boot-gz.img\n\n          echo \"Building boot-lz4.img\"\n          $MKBOOTIMG --header_version 4 --kernel Image.lz4 --output boot-lz4.img --ramdisk out/ramdisk --os_version 12.0.0 --os_patch_level \"${{ inputs.os_patch_level }}\"\n          $AVBTOOL add_hash_footer --partition_name boot --partition_size $((64 * 1024 * 1024)) --image boot-lz4.img --algorithm SHA256_RSA2048 --key $BOOT_SIGN_KEY_PATH\n          cp ./boot-lz4.img ../${{ inputs.android_version }}-${{ inputs.kernel_version }}.${{ inputs.sub_level }}-${{ inputs.os_patch_level }}-boot-lz4.img\n\n      - name: 运行boot镜像 ${{ inputs.android_version }} 编译脚本\n        if: ${{ inputs.android_version == 'android13' || inputs.android_version == 'android14' || inputs.android_version == 'android15' }}\n        run: |\n          cd bootimgs\n\n          echo \"Building Image.gz\"\n          gzip -n -k -f -9 ./Image > ./Image.gz\n\n          echo \"Building boot.img\"\n          $MKBOOTIMG --header_version 4 --kernel Image --output boot.img\n          $AVBTOOL add_hash_footer --partition_name boot --partition_size $((64 * 1024 * 1024)) --image boot.img --algorithm SHA256_RSA2048 --key $BOOT_SIGN_KEY_PATH\n          cp ./boot.img ../${{ inputs.android_version }}-${{ inputs.kernel_version }}.${{ inputs.sub_level }}-${{ inputs.os_patch_level }}-boot.img\n\n          echo \"Building boot-gz.img\"\n          $MKBOOTIMG --header_version 4 --kernel Image.gz --output boot-gz.img\n          $AVBTOOL add_hash_footer --partition_name boot --partition_size $((64 * 1024 * 1024)) --image boot-gz.img --algorithm SHA256_RSA2048 --key $BOOT_SIGN_KEY_PATH\n          cp ./boot-gz.img ../${{ inputs.android_version }}-${{ inputs.kernel_version }}.${{ inputs.sub_level }}-${{ inputs.os_patch_level }}-boot-gz.img\n\n          echo \"Building boot-lz4.img\"\n          $MKBOOTIMG --header_version 4 --kernel Image.lz4 --output boot-lz4.img\n          $AVBTOOL add_hash_footer --partition_name boot --partition_size $((64 * 1024 * 1024)) --image boot-lz4.img --algorithm SHA256_RSA2048 --key $BOOT_SIGN_KEY_PATH\n          cp ./boot-lz4.img ../${{ inputs.android_version }}-${{ inputs.kernel_version }}.${{ inputs.sub_level }}-${{ inputs.os_patch_level }}-boot-lz4.img\n\n      - name: 上传编译资产\n        uses: actions/upload-artifact@v4\n        with:\n          name: ${{ inputs.kernelsu_variant }}_kernel-${{ env.CONFIG }}\n          path: |\n            *AnyKernel3.zip\n            *.img\n"
  },
  {
    "path": ".github/workflows/kernel-a12-5.10.yml",
    "content": "name: Android 12 5.10\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n\non:\n  workflow_call:  # This allows this workflow to be called from another workflow\n    inputs:\n      make_release:\n        required: true\n        type: boolean\n        default: true\n      kernelsu_variant:\n        required: true\n        type: string\n        default: Next\n      kernelsu_branch:\n        required: true\n        type: string\n        default: Stable\n      # kernelsu_branch_other:\n      #   required: false\n      #   type: string\n      #   default: \"\"\n      version:\n        required: false\n        type: string\n        default: \"\"\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: true\n        type: boolean\n        default: true\n      BBG:\n        description: '是否启用内核层面阻止对关键分区/设备节点的非法写入(LSM)？'\n        required: true\n        type: boolean\n        default: false\n  \njobs:\n  build-kernel-a12-5-10-kernelsu-susfs:\n    strategy:\n      fail-fast: false\n      matrix:\n        include:\n        #- sub_level: \"66\"\n        #  os_patch_level: \"2022-01\"\n        #  revision: \"r11\"\n        #- sub_level: \"81\"\n        #  os_patch_level: \"2022-03\"\n        #  revision: \"r11\"\n        #- sub_level: \"101\"\n        #  os_patch_level: \"2022-04\"\n        #  revision: \"r28\"\n        - sub_level: \"136\"\n          os_patch_level: \"2022-11\"\n          revision: \"r15\"\n        #- sub_level: \"168\"\n        #  os_patch_level: \"2023-04\"\n        #  revision: \"r9\"\n        - sub_level: \"198\"\n          os_patch_level: \"2024-01\"\n          revision: \"r17\"\n        #- sub_level: \"205\"\n        #  os_patch_level: \"2024-03\"\n        #  revision: \"r9\"\n        - sub_level: \"209\"\n          os_patch_level: \"2024-05\"\n          revision: \"r13\"\n        #- sub_level: \"218\"\n        #  os_patch_level: \"2024-08\"\n        #  revision: \"r14\"\n        #- sub_level: \"226\"\n        #  os_patch_level: \"2024-11\"\n        #  revision: \"r8\"\n        #- sub_level: \"233\"\n        #  os_patch_level: \"2025-02\"\n        #   revision: \"r1\"\n        - sub_level: \"236\"\n          os_patch_level: \"2025-05\"\n          revision: \"r1\"\n        #- sub_level: \"240\"\n        #  os_patch_level: \"2025-09\"\n        #  revision: \"r1\"\n        - sub_level: \"X\"\n          os_patch_level: \"lts\"\n          revision: \"r1\"\n    uses: ./.github/workflows/gki-kernel.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release || false }}\n      android_version: \"android12\"\n      kernel_version: \"5.10\"\n      sub_level: ${{ matrix.sub_level }}\n      os_patch_level: ${{ matrix.os_patch_level }}\n      revision: ${{ matrix.revision }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant || 'Next' }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch || 'Dev' }}\n      # kernelsu_branch_other: ${{ inputs.kernelsu_branch_other || '' }}\n      version: ${{ inputs.version || '' }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      supp_op: ${{ inputs.supp_op || false }}\n      BBG: ${{ inputs.BBG || false }}\n\n"
  },
  {
    "path": ".github/workflows/kernel-a13-5.10.yml",
    "content": "name: Android 13 5.10\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n  \non:\n  workflow_call:  # This allows this workflow to be called from another workflow\n    inputs:\n      make_release:\n        required: true\n        type: boolean\n        default: true\n      kernelsu_variant:\n        required: true\n        type: string\n        default: Next\n      kernelsu_branch:\n        required: true\n        type: string\n        default: Stable\n      version:\n        required: false\n        type: string\n        default: \"\"\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: true\n        type: boolean\n        default: true\n      BBG:\n        description: '是否启用内核层面阻止对关键分区/设备节点的非法写入(LSM)？'\n        required: true\n        type: boolean\n        default: false\n  \njobs:\n  build-kernel-a13-5-10-kernelsu-susfs:\n    strategy:\n      fail-fast: false\n      matrix:\n        include:\n          # - sub_level: \"189\"\n          #   os_patch_level: \"2023-11\"\n          #- sub_level: \"198\"\n          #  os_patch_level: \"2024-01\"\n          #- sub_level: \"205\"\n          #  os_patch_level: \"2024-03\"\n          #- sub_level: \"209\"\n          #  os_patch_level: \"2024-05\"\n          #- sub_level: \"210\"\n          #  os_patch_level: \"2024-06\"\n          #- sub_level: \"214\"\n          #  os_patch_level: \"2024-07\"\n          #- sub_level: \"218\"\n          #  os_patch_level: \"2024-08\"\n          #- sub_level: \"223\"\n          #  os_patch_level: \"2024-11\"\n          #- sub_level: \"228\"\n          #  os_patch_level: \"2025-01\"\n          - sub_level: \"X\"\n            os_patch_level: \"lts\"\n    uses: ./.github/workflows/gki-kernel.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release || false }}\n      android_version: \"android13\"\n      kernel_version: \"5.10\"\n      sub_level: ${{ matrix.sub_level }}\n      os_patch_level: ${{ matrix.os_patch_level }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant || 'Next' }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch || 'Dev' }}\n      version: ${{ inputs.version || '' }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      supp_op: ${{ inputs.supp_op || false }}\n      BBG: ${{ inputs.BBG || false }}\n"
  },
  {
    "path": ".github/workflows/kernel-a13-5.15.yml",
    "content": "name: Android 13 5.15\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n\non:\n  workflow_call:  # This allows this workflow to be called from another workflow\n    inputs:\n      make_release:\n        required: true\n        type: boolean\n        default: true\n      kernelsu_variant:\n        required: true\n        type: string\n        default: Next\n      kernelsu_branch:\n        required: true\n        type: string\n        default: Stable\n      version:\n        required: false\n        type: string\n        default: \"\"\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: true\n        type: boolean\n        default: true\n      BBG:\n        description: '是否启用内核层面阻止对关键分区/设备节点的非法写入(LSM)？'\n        required: true\n        type: boolean\n        default: false\n  \njobs:\n  build-kernel-a13-5-15-kernelsu-susfs:\n    strategy:\n      fail-fast: false\n      matrix:\n        include:\n          # 从谷歌提交找到补丁，修复94与104的兼容性问题\n          - sub_level: \"74\"\n            os_patch_level: \"2023-01\"\n          #- sub_level: \"94\"\n          #  os_patch_level: \"2023-05\"\n          #- sub_level: \"104\"\n          #  os_patch_level: \"2023-07\"\n          - sub_level: \"123\"\n            os_patch_level: \"2023-11\"\n          #- sub_level: \"137\"\n          #  os_patch_level: \"2024-01\"\n          #- sub_level: \"144\"\n          #  os_patch_level: \"2024-03\"\n          - sub_level: \"148\"\n            os_patch_level: \"2024-05\"\n          # - sub_level: \"149\"\n          #   os_patch_level: \"2024-07\"\n          #- sub_level: \"151\"\n          #  os_patch_level: \"2024-08\"\n          #- sub_level: \"167\"\n          #  os_patch_level: \"2024-11\"\n          - sub_level: \"170\"\n            os_patch_level: \"2025-01\"\n          - sub_level: \"178\"\n            os_patch_level: \"2025-03\"\n          - sub_level: \"180\"\n            os_patch_level: \"2025-05\"\n          - sub_level: \"189\"\n            os_patch_level: \"2025-09\"\n          #- sub_level: \"X\"\n          #  os_patch_level: \"lts\"\n    uses: ./.github/workflows/gki-kernel.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release || false }}\n      android_version: \"android13\"\n      kernel_version: \"5.15\"\n      sub_level: ${{ matrix.sub_level }}\n      os_patch_level: ${{ matrix.os_patch_level }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant || 'Next' }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch || 'Dev' }}\n      version: ${{ inputs.version || '' }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      supp_op: ${{ inputs.supp_op || false }}\n      BBG: ${{ inputs.BBG || false }}\n"
  },
  {
    "path": ".github/workflows/kernel-a14-5.15.yml",
    "content": "name: Android 14 5.15\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n\non:\n  workflow_call:  # This allows this workflow to be called from another workflow\n    inputs:\n      make_release:\n        required: true\n        type: boolean\n        default: true\n      kernelsu_variant:\n        required: true\n        type: string\n        default: Next\n      kernelsu_branch:\n        required: true\n        type: string\n        default: Stable\n      version:\n        required: false\n        type: string\n        default: \"\"\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: true\n        type: boolean\n        default: true\n      BBG:\n        description: '是否启用内核层面阻止对关键分区/设备节点的非法写入(LSM)？'\n        required: true\n        type: boolean\n        default: false\n  \njobs:\n  build-kernel-a14-5-15-kernelsu-susfs:\n    strategy:\n      fail-fast: false\n      matrix:\n        include:\n          #- sub_level: \"131\"\n          #  os_patch_level: \"2023-11\"\n          #- sub_level: \"137\"\n          #  os_patch_level: \"2024-01\"\n          #- sub_level: \"144\"\n          #  os_patch_level: \"2024-03\"\n          #- sub_level: \"148\"\n          #  os_patch_level: \"2024-05\"\n          #- sub_level: \"153\"\n          #  os_patch_level: \"2024-07\"\n          #- sub_level: \"158\"\n          #  os_patch_level: \"2024-08\"\n          #- sub_level: \"167\"\n          #  os_patch_level: \"2024-11\"\n          #- sub_level: \"170\"\n          #  os_patch_level: \"2025-01\"\n          #- sub_level: \"178\"\n          #  os_patch_level: \"2025-03\"\n          #- sub_level: \"180\"\n          #  os_patch_level: \"2025-05\"\n          - sub_level: \"X\"\n            os_patch_level: \"lts\"\n    uses: ./.github/workflows/gki-kernel.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release || false }}\n      android_version: \"android14\"\n      kernel_version: \"5.15\"\n      sub_level: ${{ matrix.sub_level }}\n      os_patch_level: ${{ matrix.os_patch_level }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant || 'Next' }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch || 'Dev' }}\n      version: ${{ inputs.version || '' }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      supp_op: ${{ inputs.supp_op || false }}\n      BBG: ${{ inputs.BBG || false }}\n"
  },
  {
    "path": ".github/workflows/kernel-a14-6.1.yml",
    "content": "name: Android 14 6.1\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n\non:\n  workflow_call:  # This allows this workflow to be called from another workflow\n    inputs:\n      make_release:\n        required: true\n        type: boolean\n        default: true\n      kernelsu_variant:\n        required: true\n        type: string\n        default: Next\n      kernelsu_branch:\n        required: true\n        type: string\n        default: Stable\n      version:\n        required: false\n        type: string\n        default: \"\"\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: true\n        type: boolean\n        default: true\n      BBG:\n        description: '是否启用内核层面阻止对关键分区/设备节点的非法写入(LSM)？'\n        required: true\n        type: boolean\n        default: false\n\njobs:\n  build-kernel-a14-6-1-kernelsu-susfs:\n    strategy:\n      fail-fast: false\n      matrix:\n        include:\n          #- sub_level: \"25\"\n          #  os_patch_level: \"2023-10\"\n          #- sub_level: \"43\"\n          #  os_patch_level: \"2023-11\"\n          #- sub_level: \"57\"\n          #  os_patch_level: \"2024-01\"\n          #- sub_level: \"68\"\n          #  os_patch_level: \"2024-03\"\n          #- sub_level: \"75\"\n          #  os_patch_level: \"2024-05\"\n          - sub_level: \"78\"\n            os_patch_level: \"2024-06\"\n          #- sub_level: \"84\"\n          #  os_patch_level: \"2024-07\"\n          - sub_level: \"90\"\n            os_patch_level: \"2024-08\"\n          #- sub_level: \"93\"\n          #  os_patch_level: \"2024-09\"\n          - sub_level: \"99\"\n            os_patch_level: \"2024-10\"\n          #- sub_level: \"112\"\n          #  os_patch_level: \"2024-11\"\n          #- sub_level: \"115\"\n          #  os_patch_level: \"2024-12\"\n          #- sub_level: \"118\"\n          #  os_patch_level: \"2025-01\"\n          - sub_level: \"124\"\n            os_patch_level: \"2025-02\"\n          #- sub_level: \"128\"\n          #  os_patch_level: \"2025-03\"\n          #- sub_level: \"129\"\n          #  os_patch_level: \"2025-04\"\n          #- sub_level: \"134\"\n          #  os_patch_level: \"2025-05\"\n          - sub_level: \"145\"\n            os_patch_level: \"2025-09\"\n          #- sub_level: \"X\"\n          #  os_patch_level: \"lts\"\n    uses: ./.github/workflows/gki-kernel.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release || false }}\n      android_version: \"android14\"\n      kernel_version: \"6.1\"\n      sub_level: ${{ matrix.sub_level }}\n      os_patch_level: ${{ matrix.os_patch_level }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant || 'Next' }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch || 'Dev' }}\n      version: ${{ inputs.version || '' }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      supp_op: ${{ inputs.supp_op || false }}\n      BBG: ${{ inputs.BBG || false }}\n"
  },
  {
    "path": ".github/workflows/kernel-a15-6.6.yml",
    "content": "name: Android 15 6.6\npermissions:\n  contents: write  # Allow writing to repository contents (for pushing tags)\n  actions: write   # Allows triggering actions\n\non:\n  workflow_call:  # This allows this workflow to be called from another workflow\n    inputs:\n      make_release:\n        required: true\n        type: boolean\n        default: true\n      kernelsu_variant:\n        required: true\n        type: string\n        default: Next\n      kernelsu_branch:\n        required: true\n        type: string\n        default: Stable\n      version:\n        required: false\n        type: string\n        default: \"\"\n      use_zram:\n        description: '是否开启增加更多ZRAM算法?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: '是否开启KPM功能?'\n        required: false\n        type: boolean\n        default: false\n      supp_op:\n        description: '是否开启一加8E处理器机型支持?(非该机型无须勾)'\n        required: false\n        type: boolean\n        default: false\n      BBG:\n        description: '是否启用内核层面阻止对关键分区/设备节点的非法写入(LSM)？'\n        required: true\n        type: boolean\n        default: false\n\n\njobs:\n  build-kernel-a15-6-6-kernelsu-susfs:\n    strategy:\n      fail-fast: false\n      matrix:\n        include:\n          #- sub_level: \"30\"\n          #  os_patch_level: \"2024-08\"\n          # - sub_level: \"46\"\n          #   os_patch_level: \"2024-09\"\n          - sub_level: \"50\"\n            os_patch_level: \"2024-10\"\n          #- sub_level: \"56\"\n          #  os_patch_level: \"2024-11\"\n          #- sub_level: \"57\"\n          #  os_patch_level: \"2024-12\"\n          #- sub_level: \"58\"\n          #  os_patch_level: \"2025-01\"\n          - sub_level: \"66\"\n            os_patch_level: \"2025-02\"\n          #- sub_level: \"77\"\n          #  os_patch_level: \"2025-03\"\n          #- sub_level: \"82\"\n          #  os_patch_level: \"2025-04\"\n          #- sub_level: \"87\"\n          #  os_patch_level: \"2025-05\"\n          - sub_level: \"102\"\n            os_patch_level: \"2025-10\"\n          #- sub_level: \"X\"\n          #  os_patch_level: \"lts\"\n    uses: ./.github/workflows/gki-kernel.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release || false }}\n      android_version: \"android15\"\n      kernel_version: \"6.6\"\n      sub_level: ${{ matrix.sub_level }}\n      os_patch_level: ${{ matrix.os_patch_level }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant || 'Next' }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch || 'Dev' }}\n      version: ${{ inputs.version || '' }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      supp_op: ${{ inputs.supp_op }}\n      BBG: ${{ inputs.BBG || false }}\n"
  },
  {
    "path": ".github/workflows/test_release.yml",
    "content": "name: Test Release\n\npermissions:\n  contents: write\n  actions: write\n\nconcurrency:\n  group: release-${{ github.ref }}\n  cancel-in-progress: true\n\non:\n  workflow_dispatch:\n    inputs:\n      make_release:\n        description: 'Do you want to create a release?'\n        required: true\n        type: boolean\n        default: true\n      kernels_to_build:\n        description: |\n          Comma-separated list of kernels to build/release, e.g.:\n          a12-5.10,a13-5.10,a13-5.15,a14-5.15,a14-6.1,a15-6.6\n          or \"all\" to build every kernel.\n        required: true\n        type: string\n        default: 'all'\n      kernelsu_variant:\n        description: \"Select KernelSU\"\n        required: true\n        type: choice\n        options:\n        - Official\n        - Next\n        - MKSU\n        - SukiSU\n        default: SukiSU\n      kernelsu_branch:\n        description: \"Select KSU branch\"\n        required: true\n        type: choice\n        options:\n        - Stable(标准)\n        - Dev(开发)\n        - Other(其他/指定)\n        default: Stable(标准)\n      version:\n        description: 'Custom version name (e.g., characters after 5.10.198 / leave blank to use default version number)'\n        required: false\n        type: string\n      use_zram:\n        description: 'Enable more ZRAM algorithms?'\n        required: true\n        type: boolean\n        default: true\n      use_kpm:\n        description: 'Enable KPM functionality?'\n        required: true\n        type: boolean\n        default: true\n      BBG:\n        description: \"是否启用内核层面阻止对关键分区/设备节点的非法写入(LSM)？\"\n        required: true\n        type: boolean\n        default: false\n      get_manager:\n        description: 'Get the latest KSU Manager at the same time?'\n        required: true\n        type: boolean\n        default: false\n\njobs:\n  get_manager:\n    if: ${{ inputs.get_manager }}\n    uses: ./.github/workflows/get-manager.yml\n    secrets: inherit\n    with:\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n\n  build-kernel-a12-5-10:\n    if: contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a12-5.10')\n    uses: ./.github/workflows/kernel-a12-5.10.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      BBG: ${{ inputs.BBG }}\n\n  build-kernel-a13-5-10:\n    if: contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a13-5.10')\n    uses: ./.github/workflows/kernel-a13-5.10.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      BBG: ${{ inputs.BBG }}\n\n  build-kernel-a13-5-15:\n    if: contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a13-5.15')\n    uses: ./.github/workflows/kernel-a13-5.15.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      BBG: ${{ inputs.BBG }}\n\n  build-kernel-a14-5-15:\n    if: contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a14-5.15')\n    uses: ./.github/workflows/kernel-a14-5.15.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      BBG: ${{ inputs.BBG }}\n\n  build-kernel-a14-6-1:\n    if: contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a14-6.1')\n    uses: ./.github/workflows/kernel-a14-6.1.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      BBG: ${{ inputs.BBG }}\n\n  build-kernel-a15-6-6:\n    if: contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a15-6.6')\n    uses: ./.github/workflows/kernel-a15-6.6.yml\n    secrets: inherit\n    with:\n      make_release: ${{ inputs.make_release }}\n      kernelsu_variant: ${{ inputs.kernelsu_variant }}\n      kernelsu_branch: ${{ inputs.kernelsu_branch }}\n      version: ${{ inputs.version }}\n      use_zram: ${{ inputs.use_zram }}\n      use_kpm: ${{ inputs.use_kpm }}\n      BBG: ${{ inputs.BBG }}\n\n  check-build-status:\n    runs-on: ubuntu-latest\n    needs:\n      - get_manager\n      - build-kernel-a12-5-10\n      - build-kernel-a13-5-10\n      - build-kernel-a13-5-15\n      - build-kernel-a14-5-15\n      - build-kernel-a14-6-1\n      - build-kernel-a15-6-6\n    if: always()\n    outputs:\n      should_release: ${{ steps.check.outputs.should_release }}\n    env:\n      SHOULD_RUN_A12_5_10: ${{ contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a12-5.10') }}\n      SHOULD_RUN_A13_5_10: ${{ contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a13-5.10') }}\n      SHOULD_RUN_A13_5_15: ${{ contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a13-5.15') }}\n      SHOULD_RUN_A14_5_15: ${{ contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a14-5.15') }}\n      SHOULD_RUN_A14_6_1: ${{ contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a14-6.1') }}\n      SHOULD_RUN_A15_6_6: ${{ contains(github.event.inputs.kernels_to_build, 'all') || contains(github.event.inputs.kernels_to_build, 'a15-6.6') }}\n      \n      RESULT_GET_MANAGER: ${{ needs.get_manager.result }}\n      RESULT_A12_5_10: ${{ needs.build-kernel-a12-5-10.result }}\n      RESULT_A13_5_10: ${{ needs.build-kernel-a13-5-10.result }}\n      RESULT_A13_5_15: ${{ needs.build-kernel-a13-5-15.result }}\n      RESULT_A14_5_15: ${{ needs.build-kernel-a14-5-15.result }}\n      RESULT_A14_6_1: ${{ needs.build-kernel-a14-6-1.result }}\n      RESULT_A15_6_6: ${{ needs.build-kernel-a15-6-6.result }}\n    steps:\n      - name: Determine if release should proceed\n        id: check\n        run: |\n          SHOULD_PROCEED=\"true\"\n          ERROR_MESSAGE=\"\"\n          \n          echo \"--- Checking Job Statuses ---\"\n          echo \"get_manager result: $RESULT_GET_MANAGER\"\n          \n          # 1. Check get_manager job only if it was supposed to run\n          if [[ \"${{ inputs.get_manager }}\" == \"true\" ]]; then\n            if [[ \"$RESULT_GET_MANAGER\" != \"success\" ]]; then\n              SHOULD_PROCEED=\"false\"\n              ERROR_MESSAGE+=\"get_manager job did not succeed (result: $RESULT_GET_MANAGER). \"\n            fi\n          fi\n          \n          # Function to check a kernel job\n          check_kernel_job() {\n            local kernel_id=$1\n            local should_run_flag=$2\n            local actual_result=$3\n            \n            echo \"Checking kernel $kernel_id (Should Run: $should_run_flag, Actual Result: $actual_result)...\"\n            \n            if [[ \"$should_run_flag\" == \"true\" ]]; then\n              if [[ \"$actual_result\" != \"success\" ]]; then\n                SHOULD_PROCEED=\"false\"\n                ERROR_MESSAGE+=\"Job for $kernel_id was expected to run but did not succeed (result: $actual_result). \"\n              fi\n            else\n              if [[ \"$actual_result\" == \"failure\" ]]; then\n                SHOULD_PROCEED=\"false\"\n                ERROR_MESSAGE+=\"Job for $kernel_id was NOT expected to run but failed (result: $actual_result). This indicates a problem. \"\n              fi\n            fi\n          }\n          \n          check_kernel_job \"a12-5.10\" \"$SHOULD_RUN_A12_5_10\" \"$RESULT_A12_5_10\"\n          check_kernel_job \"a13-5.10\" \"$SHOULD_RUN_A13_5_10\" \"$RESULT_A13_5_10\"\n          check_kernel_job \"a13-5.15\" \"$SHOULD_RUN_A13_5_15\" \"$RESULT_A13_5_15\"\n          check_kernel_job \"a14-5.15\" \"$SHOULD_RUN_A14_5_15\" \"$RESULT_A14_5_15\"\n          check_kernel_job \"a14-6.1\" \"$SHOULD_RUN_A14_6_1\" \"$RESULT_A14_6_1\"\n          check_kernel_job \"a15-6.6\" \"$SHOULD_RUN_A15_6_6\" \"$RESULT_A15_6_6\"\n          \n          echo \"Final decision - SHOULD_PROCEED: $SHOULD_PROCEED\"\n          echo \"Accumulated Errors: $ERROR_MESSAGE\"\n          echo \"should_release=$SHOULD_PROCEED\" >> \"$GITHUB_OUTPUT\"\n          \n          if [[ \"$SHOULD_PROCEED\" == \"false\" ]]; then\n            echo \"::error::Release blocked due to issues: $ERROR_MESSAGE\"\n            exit 1\n          fi\n\n  trigger-release:\n    runs-on: ubuntu-latest\n    permissions:\n      contents: write\n    needs:\n      - check-build-status\n      - get_manager\n    if: always()\n    env:\n      RELEASE_NAME: \"GKI Kernel: ${{ inputs.kernelsu_variant == 'Next' && 'KernelSU-' || '' }} ${{ inputs.kernelsu_variant }}\"\n      INITIAL_RELEASE_NOTES: |\n        This release includes **${{ inputs.kernelsu_variant == 'Next' && 'KernelSU' || '' }}${{ inputs.kernelsu_variant }}**\n        \n        Features:\n        -> ${{ inputs.kernelsu_variant == 'Next' && 'KernelSU-' || '' }}${{ inputs.kernelsu_variant }}-${{ inputs.kernelsu_branch }}\n        -> SUSFS ඞ v2.1.0\n        -> Manual Syscall Hooks for better hiding\n        -> Magic Mount Support\n        -> Simple hiding for LineageOS detection\n        -> Futile hiding for jit-zygote-cache detection\n        -> Wireguard Support\n        -> BBR Support\n        ${{ inputs.BBG && '-> BBG Support' || '' }}\n        -> BBG ${{ inputs.BBG && 'supported' || 'not supported' }}\n        ${{ inputs.use_kpm && '-> KPM Support' || '' }}\n        -> **LZ4KD&ONEPLUS_LZ4K** ${{ inputs.use_zram && 'supported' || 'not supported' }}\n        \n        <details>\n        <summary>Notes:</summary>\n        \n        - -> In SUS SU Mode 2, it will show as disabled or incompatible, the reason is that non-kprobe hooks were used (when compiling the kernel), and non-kprobe hooks are no longer needed!\n        - -> In the latest version of susfs, flashing AK3 compressed package with Kernel Flasher will brick your device, try [Horizon Kernel Flasher](https://github.com/libxzr/HorizonKernelFlasher )!\n        \n        </details>\n        \n        Modules:\n        -> https://github.com/sidex15/ksu_module_susfs \n    steps:\n      - name: Conditional Release Check\n        id: release_check\n        if: ${{ inputs.make_release && needs.check-build-status.outputs.should_release == 'true' }}\n        run: echo \"Release conditions met. Proceeding with release.\"\n        \n      - name: Checkout code\n        if: ${{ steps.release_check.outcome == 'success' }}\n        uses: actions/checkout@v4\n        \n      - name: Install GitHub CLI\n        if: ${{ steps.release_check.outcome == 'success' }}\n        run: |\n          type -p gh >/dev/null || {\n            sudo apt update\n            sudo apt install -y gh\n          }\n          \n      - name: Generate and Create New Tag (Atomic)\n        if: ${{ steps.release_check.outcome == 'success' }}\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        run: |\n          set -e\n\n          BASE_VERSION=\"v2.1.0\"\n          \n          # Fetch all existing tags using git ls-remote\n          EXISTING_TAGS=$(git ls-remote --tags https://github.com/${{ github.repository }}.git | awk '{print $2}' | sed 's/refs\\/tags\\///' || true)\n\n          # Find highest revision number for this base version\n          MAX_REVISION=0\n          while IFS= read -r tag; do\n            if [[ \"$tag\" =~ ^$BASE_VERSION-r([0-9]+)$ ]]; then\n              revision=\"${BASH_REMATCH[1]}\"\n              if (( revision > MAX_REVISION )); then\n                MAX_REVISION=$revision\n              fi\n            fi\n          done <<< \"$EXISTING_TAGS\"\n\n          # Generate new revision number and tag\n          NEW_REVISION=$((MAX_REVISION + 1))\n          NEW_TAG=\"$BASE_VERSION-r$NEW_REVISION\"\n\n          echo \"New tag generated: $NEW_TAG\"\n          echo \"NEW_TAG=$NEW_TAG\" >> $GITHUB_ENV\n\n          # Optional: Check if tag already exists in remote\n          if git ls-remote --exit-code --tags origin \"$NEW_TAG\" > /dev/null 2>&1; then\n            echo \"::error::Tag '$NEW_TAG' already exists in remote repository. Aborting.\"\n            exit 1\n          fi\n\n          # Configure Git\n          git config --global user.name \"GitHub Actions\"\n          git config --global user.email \"actions@github.com\"\n\n          # Create and push new tag\n          git tag -a \"$NEW_TAG\" -m \"Release $NEW_TAG\"\n          git push origin \"$NEW_TAG\"\n\n          echo \"Tag $NEW_TAG created and pushed successfully\" \n          \n      - name: Set KSU Version and Release Name\n        if: ${{ steps.release_check.outcome == 'success' }}\n        run: |\n          # Use temporary directories to avoid conflicts\n          if [ \"${{ inputs.kernelsu_variant }}\" = \"Next\" ]; then\n            echo \"Processing Next variant\"\n            git clone https://github.com/KernelSU-Next/KernelSU-Next.git ksu-next-tmp\n            cd ksu-next-tmp\n            KSU_GIT_VERSION=$(git rev-list --count HEAD)\n            KSU_VERSION=$((10000 + KSU_GIT_VERSION + 200))\n            echo \"Next version: $KSU_VERSION\"\n            cd ..\n            rm -rf ksu-next-tmp\n            echo \"RELEASE_NAME=\\\"GKI Kernel: KernelSU-Next ($KSU_VERSION) & SUSFS v2.1.0\\\"\" >> $GITHUB_ENV\n            \n          elif [ \"${{ inputs.kernelsu_variant }}\" = \"SukiSU\" ]; then\n            echo \"Processing SukiSU variant\"\n            git clone https://github.com/SukiSU-Ultra/SukiSU-Ultra.git suki-tmp\n            cd suki-tmp\n            KSU_GIT_VERSION=$(git rev-list --count HEAD)\n            KSU_VERSION=$((4 * 10000 + KSU_GIT_VERSION - 2815))\n            echo \"SukiSU version: $KSU_VERSION\"\n            cd ..\n            rm -rf suki-tmp\n            echo \"RELEASE_NAME=\\\"GKI Kernel: SukiSU ($KSU_VERSION) & SUSFS v2.1.0\\\"\" >> $GITHUB_ENV\n            \n          else\n            echo \"Using default naming for variant: ${{ inputs.kernelsu_variant }}\"\n            echo \"RELEASE_NAME=\\\"GKI Kernel: ${{ inputs.kernelsu_variant }} & SUSFS v2.1.0\\\"\" >> $GITHUB_ENV\n          fi\n          \n      - name: Fetch KSU and SUSFS Commit Info\n        id: build_notes\n        if: ${{ steps.release_check.outcome == 'success' }}\n        run: |\n          # Handle 'Other' branch selection\n          if [[ \"${{ inputs.kernelsu_branch }}\" == \"Other(其他/指定)\" ]]; then\n            echo \"Using custom branch selection\"\n            if [[ \"${{ inputs.kernelsu_variant }}\" == \"Official\" ]]; then\n              KSU_BRANCH=\"main\"\n            elif [[ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]]; then\n              KSU_BRANCH=\"next\"\n            else\n              KSU_BRANCH=\"main\"  # Default for MKSU/SukiSU\n            fi\n          elif [[ \"${{ inputs.kernelsu_branch }}\" == \"Dev(开发)\" || \"${{ inputs.kernelsu_variant }}\" == \"MKSU\" || \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]]; then\n            if [[ \"${{ inputs.kernelsu_variant }}\" == \"Official\" || \"${{ inputs.kernelsu_variant }}\" == \"MKSU\" || \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]]; then\n              KSU_BRANCH=\"main\"\n            elif [[ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]]; then\n              KSU_BRANCH=\"next\"\n            fi\n          elif [[ \"${{ inputs.kernelsu_branch }}\" == \"Stable(标准)\" && \"${{ inputs.kernelsu_variant }}\" != \"MKSU\" ]]; then\n            KSU_REPO_URL=\"\"\n            if [ \"${{ inputs.kernelsu_variant }}\" == \"Official\" ]; then\n              KSU_REPO_URL=\"https://github.com/tiann/KernelSU.git\"\n            elif [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n              KSU_REPO_URL=\"https://github.com/KernelSU-Next/KernelSU-Next.git\"\n            elif [ \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]; then\n              KSU_REPO_URL=\"https://github.com/SukiSU-Ultra/SukiSU-Ultra.git\"\n            fi\n            \n            if [ -n \"$KSU_REPO_URL\" ]; then\n              TAG=$(git ls-remote --tags --sort=-v:refname \"$KSU_REPO_URL\" | grep -o 'refs/tags/.*' | cut -d'/' -f3 | head -n1)\n              KSU_BRANCH=\"${TAG:-UNKNOWN_TAG}\"\n            else\n              KSU_BRANCH=\"main\"\n            fi\n          fi\n          \n          echo \"KSU_BRANCH=$KSU_BRANCH\" >> $GITHUB_ENV\n          \n          KSU_REPO_URL=\"\"\n          KSU_REPO_URL2=\"\"\n          if [ \"${{ inputs.kernelsu_variant }}\" == \"Official\" ]; then\n            KSU_REPO_URL=\"https://github.com/tiann/KernelSU.git\"\n            KSU_REPO_URL2=\"tiann/KernelSU\"\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n            KSU_REPO_URL=\"https://github.com/KernelSU-Next/KernelSU-Next.git\"\n            KSU_REPO_URL2=\"KernelSU-Next/KernelSU-Next\"\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"MKSU\" ]; then\n            KSU_REPO_URL=\"https://github.com/5ec1cff/KernelSU.git\"\n            KSU_REPO_URL2=\"5ec1cff/KernelSU\"\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]; then\n            KSU_REPO_URL=\"https://github.com/SukiSU-Ultra/SukiSU-Ultra.git\"\n            KSU_REPO_URL2=\"SukiSU-Ultra/SukiSU-Ultra\"\n          else\n            echo \"Warning: Unknown KernelSU variant selected. Defaulting to Official for URL generation.\"\n            KSU_REPO_URL=\"https://github.com/tiann/KernelSU.git\"\n            KSU_REPO_URL2=\"tiann/KernelSU\"\n          fi\n          \n          KSU_REF=\"\"\n          KSU_URL=\"\"\n          if [[ \"${{ inputs.kernelsu_branch }}\" == \"Stable(标准)\" && \"${{ inputs.kernelsu_variant }}\" != \"MKSU\" ]]; then\n            TAG=$(git ls-remote --tags --sort=-v:refname \"$KSU_REPO_URL\" | grep -o 'refs/tags/.*' | cut -d'/' -f3 | head -n1)\n            KSU_REF=\"${TAG:-UNKNOWN_TAG}\"\n            KSU_URL=\"https://github.com/$KSU_REPO_URL2/releases/tag/$KSU_REF\"\n          elif [[ -n \"$KSU_BRANCH\" ]]; then\n            COMMIT_HASH=$(git ls-remote \"$KSU_REPO_URL\" \"refs/heads/$KSU_BRANCH\" | awk '{ print $1 }')\n            KSU_REF=\"${COMMIT_HASH:-UNKNOWN_COMMIT}\"\n            KSU_URL=\"https://github.com/$KSU_REPO_URL2/commit/$KSU_REF\"\n          else\n            echo \"Error: KSU branch could not be determined. KSU commit information will be incomplete.\" >&2\n          fi\n          \n          FINAL_RELEASE_NOTES=\"${{ env.INITIAL_RELEASE_NOTES }}\"\n          \n          if [ \"${{ inputs.kernelsu_variant }}\" == \"Official\" ]; then\n            FINAL_RELEASE_NOTES+=\"\\nOfficial Manager:\\n-> https://github.com/tiann/KernelSU\"\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"Next\" ]; then\n            FINAL_RELEASE_NOTES+=\"\\nNext Manager:\\n-> https://github.com/KernelSU-Next/KernelSU-Next\"\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"MKSU\" ]; then\n            FINAL_RELEASE_NOTES+=\"\\nMKSU Manager:\\n-> https://github.com/5ec1cff/KernelSU\"\n          elif [ \"${{ inputs.kernelsu_variant }}\" == \"SukiSU\" ]; then\n            FINAL_RELEASE_NOTES+=\"\\nSukiSU Manager:\\n-> https://github.com/SukiSU-Ultra/SukiSU-Ultra\"\n          fi\n          \n          FINAL_RELEASE_NOTES+=\"\\n\\nLTO: thin\"\n          FINAL_RELEASE_NOTES+=\"\\n\\n<details>\"\n          FINAL_RELEASE_NOTES+=\"\\n<summary>Commit Information</summary>\"\n          FINAL_RELEASE_NOTES+=\"\\n\\nCommit hashes and links (the following commits refer to the progress of KSU or SUSFS at the time of this compilation):\"\n          FINAL_RELEASE_NOTES+=\"\\n- **KernelSU is ${{ inputs.kernelsu_variant }}-${KSU_BRANCH}** (Commit): [${KSU_REF}](${KSU_URL})\"\n          FINAL_RELEASE_NOTES+=\"\\n- **SUSFS4KSU** (Commit):\"\n          \n          GITLAB_OWNER=\"simonpunk\"\n          GITLAB_REPO=\"susfs4ksu\"\n          \n          declare -A BRANCH_MAP=(\n            [\"a12-5.10\"]=\"gki-android12-5.10\"\n            [\"a13-5.10\"]=\"gki-android13-5.10\"\n            [\"a13-5.15\"]=\"gki-android13-5.15\"\n            [\"a14-5.15\"]=\"gki-android14-5.15\"\n            [\"a14-6.1\"]=\"gki-android14-6.1\"\n            [\"a15-6.6\"]=\"gki-android15-6.6\"\n          )\n          \n          declare -a KERNELS_TO_FETCH_SUSFS\n          if [[ \"${{ inputs.kernels_to_build }}\" == \"all\" ]]; then\n            for key in \"${!BRANCH_MAP[@]}\"; do\n              KERNELS_TO_FETCH_SUSFS+=(\"$key\")\n            done\n          else\n            IFS=',' read -r -a INPUT_KERNELS <<< \"${{ inputs.kernels_to_build }}\"\n            for kernel_input in \"${INPUT_KERNELS[@]}\"; do\n              case \"$kernel_input\" in\n                \"a12\")\n                  KERNELS_TO_FETCH_SUSFS+=(\"a12-5.10\")\n                  ;;\n                \"a13\")\n                  KERNELS_TO_FETCH_SUSFS+=(\"a13-5.10\" \"a13-5.15\")\n                  ;;\n                \"a14\")\n                  KERNELS_TO_FETCH_SUSFS+=(\"a14-5.15\" \"a14-6.1\")\n                  ;;\n                \"a15\")\n                  KERNELS_TO_FETCH_SUSFS+=(\"a15-6.6\")\n                  ;;\n                *)\n                  if [[ -n \"${BRANCH_MAP[$kernel_input]}\" ]]; then\n                    KERNELS_TO_FETCH_SUSFS+=(\"$kernel_input\")\n                  else\n                    echo \"Warning: Input kernel '$kernel_input' does not have a defined SUSFS branch mapping. Skipping.\" >&2\n                  fi\n                  ;;\n              esac\n            done\n          fi\n\n          mapfile -t SORTED_KERNELS < <(printf '%s\\n' \"${KERNELS_TO_FETCH_SUSFS[@]}\" | sort)\n          KERNELS_TO_FETCH_SUSFS=(\"${SORTED_KERNELS[@]}\")\n          \n          for kernel_id in \"${KERNELS_TO_FETCH_SUSFS[@]}\"; do\n            susfs_branch_name=\"${BRANCH_MAP[$kernel_id]}\"\n            if [[ -n \"$susfs_branch_name\" ]]; then\n              SUSFS_COMMIT_HASH=$(git ls-remote \"https://gitlab.com/$GITLAB_OWNER/$GITLAB_REPO.git\" \"refs/heads/$susfs_branch_name\" | awk '{ print $1 }')\n              SUSFS_COMMIT_HASH=\"${SUSFS_COMMIT_HASH:-UNKNOWN_COMMIT}\"\n              SUSFS_COMMIT_URL=\"https://gitlab.com/$GITLAB_OWNER/$GITLAB_REPO/-/commit/$SUSFS_COMMIT_HASH\"\n              FINAL_RELEASE_NOTES+=\"\\n - ${kernel_id}: [${SUSFS_COMMIT_HASH}](${SUSFS_COMMIT_URL})\"\n            else\n              echo \"Warning: SUSFS branch name not found for kernel ID: $kernel_id. Cannot fetch commit info.\" >&2\n            fi\n          done\n          \n          FINAL_RELEASE_NOTES+=\"\\n\\n</details>\"\n          \n          echo \"FULL_RELEASE_NOTES<<EOF\" >> $GITHUB_ENV\n          echo -e \"$FINAL_RELEASE_NOTES\" >> $GITHUB_ENV\n          echo \"EOF\" >> $GITHUB_ENV\n          \n      - name: Download Artifacts\n        if: ${{ steps.release_check.outcome == 'success' }}\n        uses: actions/download-artifact@v4\n        with:\n          path: release-artifacts-${{ github.run_id }}\n          \n      - name: Prepare Artifacts for Upload\n        if: ${{ steps.release_check.outcome == 'success' }}\n        run: |\n          # Create a new directory for release assets\n          mkdir -p release-assets\n          \n          # Find and copy all artifacts to a flat directory structure\n          find ./release-artifacts-${{ github.run_id }} -type f -exec cp -v {} ./release-assets \\;\n          \n          # Generate checksums\n          cd release-assets\n          sha256sum * > SHA256SUMS.txt\n          cd ..\n          \n          echo \"Artifacts prepared for upload:\"\n          ls -lh ./release-assets\n          \n      - name: Create GitHub Release and Upload Assets\n        if: ${{ steps.release_check.outcome == 'success' }}\n        uses: softprops/action-gh-release@v2\n        with:\n          tag_name: ${{ env.NEW_TAG }}\n          prerelease: true\n          name: ${{ env.RELEASE_NAME }}\n          body: ${{ env.FULL_RELEASE_NOTES }}\n          files: ./release-assets/*\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n      - name: Send Telegram Message\n        if: ${{ steps.release_check.outcome == 'success' }}\n        env:\n          TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}\n          TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}\n          TELEGRAM_MESSAGE_THREAD_ID: ${{ secrets.TELEGRAM_MESSAGE_THREAD_ID }}\n        run: |\n            curl -X POST \"https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage\" \\\n            -d \"chat_id=$TELEGRAM_CHAT_ID\" \\\n            -d \"message_thread_id=$TELEGRAM_MESSAGE_THREAD_ID\" \\\n            -d \"text=Latest release: \n            https://github.com/ShirkNeko/GKI_KernelSU_SUSFS/releases/tag/${{ env.NEW_TAG }}\n            ${{ env.FULL_RELEASE_NOTES }}\" \n"
  },
  {
    "path": "Original.md",
    "content": "# Wild Kernels for Android\n\n## Your warranty is no longer valid!\n\nI am **not responsible** for bricked devices, damaged hardware, or any issues that arise from using this kernel.\n\n**Please** do thorough research and fully understand the features included in this kernel before flashing it!\n\nBy flashing this kernel, **YOU** are choosing to make these modifications. If something goes wrong, **do not blame me**!\n\n---\n\n### Proceed at your own risk!\n\n---\n\n# Kernels:\n \n[GKI](https://github.com/WildPlusKernel/GKI_KernelSU_SUSFS)  \n[Sultan](https://github.com/WildPlusKernel/Sultan_KernelSU_SUSFS)  \n[OnePlus](https://github.com/WildPlusKernel/OnePlus_KernelSU_SUSFS)  \n[Legacy Pixels](https://github.com/WildPlusKernel/Pixel_KernelSU_SUSFS)  \n\n---\n\n# Other Links:\n\n[Kernel Patches](https://github.com/WildPlusKernel/kernel_patches)  \n[Old Build Scripts](https://github.com/TheWildJames/kernel_build_scripts)  \n[Kernel Flasher](https://github.com/capntrips/KernelFlasher/releases)  \n\n---\n\n# Installation instructions: \n\nFollow the steps for GKI:  \n[Installation](https://kernelsu.org/guide/installation.html)\n\nTo get boot.img format:  \n[Telegram Bot](https://t.me/wildpluskernel/22076)  \n[Get My Kernel Format](https://github.com/TheWildJames/Get_My_Kernel_Format)\n\n---\n\n# Features\n\n- **KernelSU**: KernelSU is a root solution for Android GKI devices, it works in kernel mode and grants root permission to userspace applications directly in kernel space.\n- **SUSFS**: An addon root hiding kernel patches and userspace module for KernelSU.\n\n---\n\n# Credits\n\n- **KernelSU**: Developed by [tiann](https://github.com/tiann).\n- **KernelSU-Next**: Developed by [rifsxd](https://github.com/rifsxd/KernelSU-Next).\n- **Magic-KSU**: Developed by [5ec1cff](https://github.com/5ec1cff/KernelSU).  \n- **SUSFS**: Developed by [simonpunk](https://gitlab.com/simonpunk/susfs4ksu.git).\n- **SUSFS Module**: Developed by [sidex15](https://github.com/sidex15).\n- **Sultan Kernels**: Developed by [kerneltoast](https://github.com/kerneltoast).\n\nSpecial thanks to the open-source community for their contributions!\n\n---\n\n# Support\n\nIf you encounter any issues or need help, feel free to open an issue in this repository or reach out to me.\n\n---\n\n# Disclaimer\n\nFlashing this kernel will void your warranty, and there is always a risk of bricking your device. Please make sure to back up your data and ensure you understand the risks before proceeding.\n\n**Proceed at your own risk!**\n\n---\n\n# To-DO\n\n- [X] Get Stoned & Build kernels!\n\n---\n\n### If you need your kernel version added please let me know and I will build it!\n\n[Telegram](https://t.me/TheWildJames) NO DMS PLEASE! Ask in chat below!  \n[Telegram Group](https://t.me/wildpluskernel)  \n\n# Special thanks to the following people for their contributions!\nThis helps me alot! <3\n\n[simonpunk](https://gitlab.com/simonpunk/susfs4ksu.git) - Created SUSFS!  \n[sidex15](https://github.com/sidex15) - Created module!  \n[backslashxx](https://github.com/backslashxx) - Helped with patches!  \n[Teemo](https://github.com/liqideqq) - Helped with patches!  \n[幕落](https://github.com/MuLuo688) - Donation!\n\nIf you have contributed and are not here please remind me!\n"
  },
  {
    "path": "README.md",
    "content": "### 这是一个自动构建GKI内核的仓库\n\n> 非GKI可以尝试[SukiSU云盘](https://alist.shirkneko.top)的资源，不支持一加ColorOS14、15\n>\n> 第一次使用务必**详细阅读**以下内容，不要因为懒惰而占用他人时间！\n>\n> 最近更新：1.一加8ELITE处理器可使用6.6内核(未测试)、2.修复这些GKI版本编译报错——[5.10.(66、81、101)、5.15.(74、94、104)]\n### 下载\n可以[在此](https://github.com/zzh20188/GKI_KernelSU_SUSFS/releases)下载您的资源\n1. 关于Anykernel3.zip，下载即用！\n- 然后使用刷入软件，例如[HorizonKernelFlasher](https://github.com/libxzr/HorizonKernelFlasher/releases)进行刷写内核\n2. 关于boot.img，下载与你内核格式相匹配的（无压缩、gz、lz4），[参考](https://kernelsu.org/zh_CN/guide/installation.html#install-by-kernelsu-boot-image) **找到合适的 boot.img** 一节\n- 使用[FASTBOOT](https://magiskcn.com/)刷入，或者使用刷写软件刷写到ROOT所在插槽的boot分区(例如爱玩机、Kernelflasher)\n\n### 支持\n| 功能 | 说明 |\n| --- | --- |\n| [KernelSU](https://kernelsu.org/zh_CN/) | 包括**原版、MKSU、SUKISU、NEXT** |\n| [SUSFS4](https://gitlab.com/simonpunk/susfs4ksu) | 在内核层面辅助KSU隐藏的功能补丁 |\n| [BBR](https://blog.thinkin.top/archives/ke-pu-bbrdao-di-shi-shi-me) | TCP拥塞控制算法，使网络更快？ |\n| [Wireguard](https://zh.wikipedia.org/wiki/WireGuard) | 参考左侧wiki链接 |\n| [LZ4KD](https://github.com/ShirkNeko/SukiSU_patch/tree/main/other) | 听说是来自HUAWEI source的ZRAM算法，补丁由[云彩之枫](http://www.coolapk.com/u/24963680)移植 |\n\n<details>\n\n<summary>还支持这几种算法，可在scene的ZRAM切换</summary>\n\n### LZ4K、LZ4HC、deflate、842、~~zstdn~~、lz4k_oplus\n\n</details>\n\n### KSU管理器\n在编译完成后，你会看到类似 `Next-Manager(12600)`的文件，简单来说这就是与内核一同上传的***最新管理器***。\n![例子](./assets/get_manager.gif)\n同样的，在[Release](https://github.com/zzh20188/GKI_KernelSU_SUSFS/releases)也同样包含***最新管理器***！\n![release](./assets/release_manager.gif)\n\n### 紧急救援指南\n\n> [!IMPORTANT]\n> **触发条件**  \n> 当设备因以下原因无法启动时需执行救援：  \n> - 刷入错误/不兼容的内核\n> - 内核版本适配异常（如5.10.66刷233版本的内核）\n1. 进入FASTBOOT模式\n\n- 物理键组合：电源+音量- 或者 ADB命令： `adb reboot bootloader`\n\n2. 执行刷写命令\n```bash\n$ fastboot flash boot <boot.img文件全称>\n```\n### 原版镜像获取途径\n1. 从现有固件提取\n\n- 卡刷包：解压后使用[payload-dumper工具](https://magiskcn.com/payload-dumper-go-boot.html)\n\n- 线刷包：直接解压获取boot.img\n\n2.外部资源获取\n\n- 社区平台搜索：机型+原厂boot (如XDA/酷安)\n\n- [移动端在线提取远程获取](https://magiskcn.com/payload-dumper-compose.html)\n\n> [!TIP]\n> ### 内核版本兼容性说明\n> \n> **1. 跨子版本刷机规则**  \n> 当手机GKI主版本为5.10.x时（如5.10.168），可刷写同主版本更高子版本的内核（如5.10.198）。  \n> 关于**X-lts**版本，以 `android12-5.10.X-lts-AnyKernel3.zip` 为例：\n> - **X-lts** 表示长期支持版（子版本号最大，当前示例为5.10.236）\n> - LTS随着GKI源码更新，编译版本号将持续递增（其他如198的版本，是永久固定的）\n> - ⚠️ 注意：LTS虽为最新，**但**最新版≠最稳定（如6.6.x存在自动重启BUG）\n> \n> **2. 内核版本伪装方法**  \n> 在MT管理器终端执行：\n> ```bash\n> uname -r | sed 's/^[^-]*//'\n> ```\n> 获取后直接复制，将此版本号填入Action编译面板即可实现内核版本伪装。\n> \n> **3. 编译优化建议**  \n> 修改 [配置文件](.github/workflows/kernel-a12-5.10.yml)（如kernel-a12-5.10.yml）：\n> - ▶️ 删除/注释不需要的GKI版本配置（**加速编译**）\n> - ➕ 添加指定GKI版本（参考[定制指南](https://www.coolapk.com/feed/62820671?shareKey=OGMxYmZmNTk0YzIxNjgxNzM1MzI~&shareUid=11253396&shareFrom=com.coolapk.market_15.2.2)）\n> - 📅 内核构建时间，参照[gki-kernel.yml](.github/workflows/gki-kernel.yml) 文件 **`第490行左右的注释`** 进行修改\n\n### 更多内容\n可以提及您的意见...我会尝试！\n"
  },
  {
    "path": "hmbird_patch.c",
    "content": "#include <linux/init.h>\n#include <linux/module.h>\n#include <linux/of.h>\n#include <linux/slab.h>\n#include <linux/string.h>\n\nstatic int __init hmbird_patch_init(void)\n{\n    struct device_node *ver_np;\n    const char *type;\n    int ret;\n\n    ver_np = of_find_node_by_path(\"/soc/oplus,hmbird/version_type\");\n    if (!ver_np)\n    {\n        pr_info(\"hmbird_patch: version_type node not found\\n\");\n        return 0;\n    }\n\n    ret = of_property_read_string(ver_np, \"type\", &type);\n    if (ret)\n    {\n        pr_info(\"hmbird_patch: type property not found\\n\");\n        of_node_put(ver_np);\n        return 0;\n    }\n\n    if (strcmp(type, \"HMBIRD_OGKI\"))\n    {\n        of_node_put(ver_np);\n        return 0;\n    }\n\n    struct property *prop = of_find_property(ver_np, \"type\", NULL);\n    if (prop)\n    {\n        struct property *new_prop = kmalloc(sizeof(*prop), GFP_KERNEL);\n        if (!new_prop)\n        {\n            pr_info(\"hmbird_patch: kmalloc for new_prop failed\\n\");\n            of_node_put(ver_np);\n            return 0;\n        }\n        memcpy(new_prop, prop, sizeof(*prop));\n        new_prop->value = kmalloc(strlen(\"HMBIRD_GKI\") + 1, GFP_KERNEL);\n        if (!new_prop->value)\n        {\n            pr_info(\"hmbird_patch: kmalloc for new_prop->value failed\\n\");\n            kfree(new_prop);\n            of_node_put(ver_np);\n            return 0;\n        }\n        strcpy(new_prop->value, \"HMBIRD_GKI\");\n        new_prop->length = strlen(\"HMBIRD_GKI\") + 1;\n\n        if (of_remove_property(ver_np, prop) != 0)\n        {\n            pr_info(\"hmbird_patch: of_remove_property failed\\n\");\n            return 0;\n        }\n        if (of_add_property(ver_np, new_prop) != 0)\n        {\n            pr_info(\"hmbird_patch: of_add_property failed\\n\");\n            return 0;\n        }\n        pr_info(\"hmbird_patch: success from HMBIRD_OGKI to HMBIRD_GKI\\n\");\n    }\n    else\n    {\n        pr_info(\"hmbird_patch: type property structure not found\\n\");\n    }\n    of_node_put(ver_np);\n    return 0;\n}\nearly_initcall(hmbird_patch_init);\nMODULE_LICENSE(\"GPL\");\nMODULE_AUTHOR(\"reigadegr\");\nMODULE_DESCRIPTION(\"Forcefully convert HMBIRD_OGKI to HMBIRD_GKI.\");"
  }
]