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 next_branch: description: "Choose next branch" required: true type: choice options: - Stable - Dev - Other default: Stable next_branch_other: description: "If 'Other' is selected, specify your custom branch" required: false type: string # This input is required if 'Other' is chosen default: "" # Default is empty, but can be filled in if 'Other' is selected jobs: build-kernel-a12-5-10: uses: ./.github/workflows/build-kernel-a12-5.10.yml secrets: inherit if: ${{ inputs.build_a12_5_10 }} with: next_branch: ${{ inputs.next_branch }} next_branch_other: ${{ inputs.next_branch_other }} build-kernel-a13-5-10: uses: ./.github/workflows/build-kernel-a13-5.10.yml secrets: inherit if: ${{ inputs.build_a13_5_10 }} with: next_branch: ${{ inputs.next_branch }} next_branch_other: ${{ inputs.next_branch_other }} build-kernel-a13-5-15: uses: ./.github/workflows/build-kernel-a13-5.15.yml secrets: inherit if: ${{ inputs.build_a13_5_15 }} with: next_branch: ${{ inputs.next_branch }} next_branch_other: ${{ inputs.next_branch_other }} build-kernel-a14-5-15: uses: ./.github/workflows/build-kernel-a14-5.15.yml secrets: inherit if: ${{ inputs.build_a14_5_15 }} with: next_branch: ${{ inputs.next_branch }} next_branch_other: ${{ inputs.next_branch_other }} build-kernel-a14-6-1: uses: ./.github/workflows/build-kernel-a14-6.1.yml secrets: inherit if: ${{ inputs.build_a14_6_1 }} with: next_branch: ${{ inputs.next_branch }} next_branch_other: ${{ inputs.next_branch_other }} 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: WildPlusKernel REPO_NAME: GKI_KernelSU_SUSFS GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }} RELEASE_NAME: "*TEST BUILD* GKI Kernels With KernelSU Next & SUSFS v1.5.4 *TEST BUILD*" RELEASE_NOTES: | This release contains KernelSU Next and SUSFS v1.5.4 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.4 [+] Wireguard Support [+] Maphide LineageOS Detections [+] Futile Maphide for jit-zygote-cache Detections [+] Magic Mount Support 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.4-0" fi 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 - 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 # Display Files Uploaded - name: Display Files Uploaded run: | echo "GitHub release created with the following files:" ls ./downloaded-artifacts/**/*