root-variants.yml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. name: Build-verified only GKI root variants
  2. on:
  3. workflow_dispatch:
  4. inputs:
  5. kernel_build_version:
  6. description: "Supported GKI target"
  7. required: true
  8. type: choice
  9. options:
  10. - android12-5.10
  11. - android13-5.10
  12. - android13-5.15
  13. - android14-5.15
  14. - android14-6.1
  15. - android15-6.6
  16. - android16-6.12
  17. default: android14-6.1
  18. os_patch_level:
  19. description: "Patch date (YYYY-MM), kernel sublevel, latest, or all"
  20. required: true
  21. type: string
  22. default: latest
  23. permissions:
  24. contents: read
  25. actions: write
  26. jobs:
  27. resolve-pins:
  28. runs-on: ubuntu-latest
  29. outputs:
  30. config_file: ${{ steps.pins.outputs.config_file }}
  31. susfs_commit: ${{ steps.pins.outputs.susfs_commit }}
  32. nomount_commit: ${{ steps.pins.outputs.nomount_commit }}
  33. steps:
  34. - id: pins
  35. shell: bash
  36. run: |
  37. set -euo pipefail
  38. nomount_commit="c52936b229c25a4b0e41b6627f7d3bc5eaaaf2b5"
  39. case "${{ inputs.kernel_build_version }}" in
  40. android12-5.10) susfs_commit="3c14ad549f826b1f53878ec8c12253efebeed75a" ;;
  41. android13-5.10) susfs_commit="f81aaf10e9560282052bb61dd931315c2ca3e617" ;;
  42. android13-5.15) susfs_commit="ccb1918684b27644d17a6c842f57b60ae5966025" ;;
  43. android14-5.15) susfs_commit="0463ac089308014e8c22cc6a4558e0d6d2a53e08" ;;
  44. android14-6.1) susfs_commit="e287d59066380bf6de4396532d4a42edf4408701" ;;
  45. android15-6.6) susfs_commit="be7b7ef49a1e1b189c3abf00eacaa7ebdb4168c1" ;;
  46. android16-6.12) susfs_commit="f37930f374ef88de990d6abea0c67d0ea28c1edc" ;;
  47. *) echo "Unsupported GKI target." >&2; exit 2 ;;
  48. esac
  49. echo "config_file=.github/config/${{ inputs.kernel_build_version }}.json" >> "$GITHUB_OUTPUT"
  50. echo "susfs_commit=$susfs_commit" >> "$GITHUB_OUTPUT"
  51. echo "nomount_commit=$nomount_commit" >> "$GITHUB_OUTPUT"
  52. build-nomount-module:
  53. needs: resolve-pins
  54. runs-on: ubuntu-latest
  55. steps:
  56. - uses: actions/checkout@v7
  57. - name: Build NoMount metamodule
  58. id: nomount-metamodule
  59. uses: ./.github/actions/nomount-metamodule
  60. with:
  61. commit: ${{ needs.resolve-pins.outputs.nomount_commit }}
  62. - name: Upload NoMount metamodule
  63. uses: actions/upload-artifact@v7
  64. with:
  65. name: NoMount-Metamodule
  66. path: ${{ steps.nomount-metamodule.outputs.module_path }}
  67. if-no-files-found: error
  68. build:
  69. needs: [resolve-pins, build-nomount-module]
  70. strategy:
  71. fail-fast: false
  72. matrix:
  73. include:
  74. - flavor: classic
  75. commit: da9abf498a77d438989fea0f5f4e348b9a540c07
  76. variant: Classic-KernelSU
  77. - flavor: next
  78. commit: 234f6e040fcbca18b16d2398e1aa225712ec99ad
  79. variant: KernelSU-Next
  80. - flavor: resukisu
  81. commit: 3ef06b0fcb0960dc9563256fe26a58e892663387
  82. variant: ReSukiSU
  83. uses: ./.github/workflows/prepare.yml
  84. with:
  85. config_file: ${{ needs.resolve-pins.outputs.config_file }}
  86. feature_set: SUSFS
  87. susfs_commit: ${{ needs.resolve-pins.outputs.susfs_commit }}
  88. root_flavor: ${{ matrix.flavor }}
  89. root_commit: ${{ matrix.commit }}
  90. nomount_commit: ${{ needs.resolve-pins.outputs.nomount_commit }}
  91. preserve_abi: true
  92. build_bypass: false
  93. os_patch_level: ${{ inputs.os_patch_level }}
  94. variant: ${{ matrix.variant }}
  95. secrets: inherit