Build and Release OnePlus Kernels #85
This file contains 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 and Release OnePlus Kernels | |
permissions: | |
contents: write # Allow writing to repository contents (for pushing tags) | |
actions: write # Allows triggering actions | |
on: | |
workflow_dispatch: | |
inputs: | |
build_op11: | |
description: 'Build OP 11 kernel?' | |
required: true | |
type: boolean | |
default: true | |
build_op11r: | |
description: 'Build OP 11r kernel?' | |
required: true | |
type: boolean | |
default: true | |
build_op12: | |
description: 'Build OP 12 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-op11: | |
uses: ./.github/workflows/build-kernel-op11.yml | |
secrets: inherit | |
if: ${{ inputs.build_op11 }} | |
build-kernel-op11r: | |
uses: ./.github/workflows/build-kernel-op11r.yml | |
secrets: inherit | |
if: ${{ inputs.build_op11r }} | |
build-kernel-op12: | |
uses: ./.github/workflows/build-kernel-op12.yml | |
secrets: inherit | |
if: ${{ inputs.build_op12 }} | |
trigger-release: | |
runs-on: ubuntu-latest | |
needs: | |
- build-kernel-op11 | |
- build-kernel-op11r | |
- build-kernel-op12 | |
if: ${{ inputs.make_release }} | |
env: | |
REPO_OWNER: TheWildJames | |
REPO_NAME: OnePlus_KernelSU_SUSFS | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
RELEASE_NAME: "*TEST BUILD* OnePlus 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 | |
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 | |
- 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/**/* |