Kernel Build Process #52
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build GKI Kernels With KernelSU-Next & SUSFS | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| lto_type: | |
| description: 'Choose LTO type (thin/full)' | |
| required: true | |
| default: 'full' | |
| type: choice | |
| options: | |
| - thin | |
| - full | |
| build_android_12: | |
| description: 'Build Android 12 GKI Kernel?' | |
| required: false # User interaction is optional | |
| default: true # Defaults to building Android 12 | |
| type: boolean | |
| build_android_13: | |
| description: 'Build Android 13 GKI Kernel?' | |
| required: false # User interaction is optional | |
| default: true # Defaults to building Android 13 | |
| type: boolean | |
| build_android_14: | |
| description: 'Build Android 14 GKI Kernel?' | |
| required: false # User interaction is optional | |
| default: true # Defaults to building Android 14 | |
| type: boolean | |
| make_release: | |
| description: 'Trigger release after the build?' | |
| required: false # User interaction is optional | |
| default: true # Defaults to not triggering a release | |
| type: boolean | |
| jobs: | |
| # Validation Step | |
| validate-inputs: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Validate Inputs | |
| run: | | |
| if [ "${{ inputs.build_android_12 }}" != true ] && [ "${{ inputs.build_android_13 }}" != true ] && [ "${{ inputs.build_android_14 }}" != true ]; then | |
| echo "At least one kernel build must be selected!" | |
| exit 1 | |
| fi | |
| # Build Android 12 GKI Kernel | |
| build-kernel-a12: | |
| if: inputs.build_android_12 == true | |
| needs: validate-inputs | |
| uses: ./.github/workflows/build-kernel-a12.yml | |
| with: | |
| lto_type: ${{ inputs.lto_type }} | |
| secrets: inherit | |
| # Build Android 13 GKI Kernel | |
| build-kernel-a13: | |
| if: inputs.build_android_13 == true | |
| needs: validate-inputs | |
| uses: ./.github/workflows/build-kernel-a13.yml | |
| with: | |
| lto_type: ${{ inputs.lto_type }} | |
| secrets: inherit | |
| # Build Android 14 GKI Kernel | |
| build-kernel-a14: | |
| if: inputs.build_android_14 == true | |
| needs: validate-inputs | |
| uses: ./.github/workflows/build-kernel-a14.yml | |
| with: | |
| lto_type: ${{ inputs.lto_type }} | |
| secrets: inherit | |
| # Trigger Release Job | |
| trigger-release: | |
| runs-on: ubuntu-latest | |
| needs: [build-kernel-a12, build-kernel-a13, build-kernel-a14] | |
| if: inputs.make_release == true # Trigger release only if make_release is true | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v2 | |
| - name: Trigger Release Workflow | |
| uses: ./.github/workflows/release.yml |