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/**/*