| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- name: Build and Release GKI Kernels
- permissions:
- contents: write # Allow writing to repository contents (for pushing tags)
- actions: write # Allows triggering actions
-
- on:
- workflow_dispatch:
- inputs:
- build_a12_5_10:
- description: 'Build Android 12 5.10 kernel?'
- required: true
- type: boolean
- default: true
- build_a13_5_10:
- description: 'Build Android 13 5.10 kernel?'
- required: true
- type: boolean
- default: true
- build_a13_5_15:
- description: 'Build Android 13 5.15 kernel?'
- required: true
- type: boolean
- default: true
- build_a14_5_15:
- description: 'Build Android 14 5.15 kernel?'
- required: true
- type: boolean
- default: true
- build_a14_6_1:
- description: 'Build Android 14 6.1 kernel?'
- required: true
- type: boolean
- default: true
- make_release:
- description: 'Do you want to create a release?'
- required: true
- type: boolean
- default: false
- jobs:
- build-kernel-a12-5-10:
- uses: ./.github/workflows/build-kernel-a12-5.10.yml
- secrets: inherit
- if: ${{ inputs.build_a12_5_10 }}
- build-kernel-a13-5-10:
- uses: ./.github/workflows/build-kernel-a13-5.10.yml
- secrets: inherit
- if: ${{ inputs.build_a13_5_10 }}
- build-kernel-a13-5-15:
- uses: ./.github/workflows/build-kernel-a13-5.15.yml
- secrets: inherit
- if: ${{ inputs.build_a13_5_15 }}
- build-kernel-a14-5-15:
- uses: ./.github/workflows/build-kernel-a14-5.15.yml
- secrets: inherit
- if: ${{ inputs.build_a14_5_15 }}
- build-kernel-a14-6-1:
- uses: ./.github/workflows/build-kernel-a14-6.1.yml
- secrets: inherit
- if: ${{ inputs.build_a14_6_1 }}
- trigger-release:
- runs-on: ubuntu-latest
- needs:
- - build-kernel-a12-5-10
- - build-kernel-a13-5-10
- - build-kernel-a13-5-15
- - build-kernel-a14-5-15
- - build-kernel-a14-6-1
- if: ${{ inputs.make_release }}
- env:
- REPO_OWNER: TheWildJames
- REPO_NAME: GKI_KernelSU_SUSFS
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- RELEASE_NAME: "*TEST BUILD* GKI Kernels With KernelSU Next & SUSFS v1.5.3 *TEST BUILD*"
- RELEASE_NOTES: |
- This release contains KernelSU Next and SUSFS v1.5.3
-
- Module:
- -> https://github.com/sidex15/ksu_module_susfs
-
- Official Manager:
- -> https://github.com/tiann/KernelSU
-
- Non-Official Managers:
- -> https://github.com/rifsxd/KernelSU-Next
- -> https://github.com/backslashxx/KernelSU
- -> https://github.com/rsuntk/KernelSU
- -> https://github.com/5ec1cff/KernelSU
- -> https://github.com/silvzr/KernelSU
- -> https://github.com/sidex15/KernelSU
-
- Features:
- [+] KernelSU-Next
- [+] SUSFS v1.5.3
- [+] Wireguard Support
- [+] Maphide LineageOS Detections
- [+] Futile Maphide for jit-zygote-cache Detections
- [+] Magic Mount Support
- Special thanks to the following people for their contributions!
- This helps me alot! <3
- simonpunk - Created SUSFS!
- sidex15 - Created module!
- backslashxx - Helped with patches!
- 幕落 - Donation!
- If you have contributed and are not here please remind me!
- steps:
- # Checkout the code
- - name: Checkout code
- uses: actions/checkout@v3
- # Get the Latest Tag from GitHub
- - name: Generate and Create New Tag
- run: |
- # Fetch the latest tag from GitHub (this is the latest tag based on the GitHub API)
- LATEST_TAG=$(gh api repos/$REPO_OWNER/$REPO_NAME/tags --jq '.[0].name')
- if [ -z "$LATEST_TAG" ]; then
- LATEST_TAG="v1.5.3-0" # Default to v1.5.3-0 if no tag exists
- fi
- # Increment the suffix (e.g., v1.5.3-0 becomes v1.5.3-1)
- NEW_TAG=$(echo "$LATEST_TAG" | awk -F- '{suffix=$2; if (!suffix) suffix=0; suffix++; printf "%s-%d", $1, suffix}')
-
- # Output the new tag to be used
- echo "New tag: $NEW_TAG"
-
- # Set the new tag as an environment variable to be used in later steps
- echo "NEW_TAG=${NEW_TAG}" >> $GITHUB_ENV
- # Create the tag in the repository
- git tag $NEW_TAG
- git push origin $NEW_TAG
- # Download Artifacts for A12 (Only if A12 Build is successful or input is true or empty)
- - name: Download Artifacts
- uses: actions/download-artifact@v4
- with:
- path: ./downloaded-artifacts
- # Create GitHub Release and upload files if make_release is true
- - name: Create GitHub Release
- uses: actions/create-release@v1
- with:
- tag_name: ${{ env.NEW_TAG }} # Use the generated tag for the release
- prerelease: true # Mark the release as a pre-release
- release_name: ${{ env.RELEASE_NAME }} # Pass the RELEASE_NAME to the action
- body: ${{ env.RELEASE_NOTES }} # Pass the RELEASE_NOTES to the action
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Upload Release Assets Dynamically
- run: |
- # Loop through all files in the downloaded-artifacts directory
- for file in ./downloaded-artifacts/kernel-*/*; do
- # Skip directories
- if [ -d "$file" ]; then
- continue
- fi
- # Upload the file to the GitHub release
- echo "Uploading $file..."
- gh release upload ${{ env.NEW_TAG }} "$file"
- done
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- NEW_TAG: ${{ env.NEW_TAG }}
- # Display Files Uploaded
- - name: Display Files Uploaded
- run: |
- echo "GitHub release created with the following files:"
- ls ./downloaded-artifacts/**/*
|