Skip to content

Kernel Build Process #52

Kernel Build Process

Kernel Build Process #52

Workflow file for this run

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