test-build.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. name: Test Build Kernels
  2. permissions:
  3. contents: write
  4. actions: write
  5. on:
  6. workflow_dispatch:
  7. inputs:
  8. include_susfs:
  9. description: 'Include SUSFS?'
  10. required: true
  11. type: boolean
  12. default: true
  13. include_ksu:
  14. description: 'Include KSU?'
  15. required: true
  16. type: boolean
  17. default: true
  18. include_mksu:
  19. description: 'Include MKSU?'
  20. required: true
  21. type: boolean
  22. default: true
  23. include_ksu_next:
  24. description: 'Include KSU_NEXT?'
  25. required: true
  26. type: boolean
  27. default: true
  28. include_all:
  29. description: 'Include ALL?'
  30. required: true
  31. type: boolean
  32. default: true
  33. kernelsu_branch:
  34. description: "Choose ksu branch"
  35. required: true
  36. type: choice
  37. options:
  38. - Stable
  39. - Dev
  40. - Other
  41. default: Stable
  42. kernelsu_branch_other:
  43. description: "If 'Other' is selected, specify your custom branch"
  44. required: false
  45. type: string
  46. default: ""
  47. jobs:
  48. set-matrix:
  49. runs-on: ubuntu-latest
  50. outputs:
  51. matrix: ${{ steps.set-matrix.outputs.matrix }}
  52. steps:
  53. - id: set-matrix
  54. run: |
  55. VARIANTS=()
  56. [[ "${{ inputs.include_ksu }}" == "true" ]] && VARIANTS+=("KSU")
  57. [[ "${{ inputs.include_ksu_next }}" == "true" ]] && VARIANTS+=("KSU_NEXT")
  58. [[ "${{ inputs.include_mksu }}" == "true" ]] && VARIANTS+=("MKSU")
  59. [[ "${{ inputs.include_all }}" == "true" ]] && VARIANTS+=("ALL")
  60. ANDROID_KERNEL_MATRIX=(
  61. "android12|5.10|r1"
  62. "android13|5.10|"
  63. "android13|5.15|"
  64. "android14|5.15|"
  65. "android14|6.1|"
  66. "android15|6.6|"
  67. )
  68. MATRIX_ENTRIES=()
  69. for variant in "${VARIANTS[@]}"; do
  70. for entry in "${ANDROID_KERNEL_MATRIX[@]}"; do
  71. IFS="|" read -r android_version kernel_version revision <<< "$entry"
  72. MATRIX_ENTRY="{\"kernelsu_variant\": \"${variant}\", \"android_version\": \"${android_version}\", \"kernel_version\": \"${kernel_version}\""
  73. [[ -n "$revision" ]] && MATRIX_ENTRY+=", \"revision\": \"${revision}\""
  74. MATRIX_ENTRY+="}"
  75. MATRIX_ENTRIES+=("$MATRIX_ENTRY")
  76. done
  77. done
  78. echo "matrix={\"include\": [$(IFS=,; echo "${MATRIX_ENTRIES[*]}")]}" >> $GITHUB_OUTPUT
  79. test-build:
  80. needs: set-matrix
  81. uses: ./.github/workflows/build.yml
  82. secrets: inherit
  83. strategy:
  84. fail-fast: false
  85. matrix: ${{ fromJson(needs.set-matrix.outputs.matrix) }}
  86. with:
  87. make_release: false
  88. kernelsu_variant: ${{ matrix.kernelsu_variant }}
  89. kernelsu_branch: ${{ inputs.kernelsu_branch }}
  90. kernelsu_branch_other: ${{ inputs.kernelsu_branch_other }}
  91. include_susfs: ${{ inputs.include_susfs }}
  92. android_version: ${{ matrix.android_version }}
  93. kernel_version: ${{ matrix.kernel_version }}
  94. revision: ${{ matrix.revision || '' }}
  95. sub_level: "X"
  96. os_patch_level: "lts"