Build and Release OnePlus Kernels #467
This file contains hidden or 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 | |
actions: write | |
on: | |
workflow_dispatch: | |
inputs: | |
make_release: | |
description: 'Do you want to create a release?' | |
required: true | |
type: boolean | |
default: false | |
ksun_branch: | |
description: "Choose KernelSU Next Branch" | |
required: true | |
type: choice | |
options: | |
- stable | |
- next | |
default: next | |
optimize_level: | |
description: "Compiler optimization level" | |
required: true | |
type: choice | |
options: | |
- O2 | |
- O3 | |
default: O2 | |
android12-5_10_susfs_branch_or_commit: | |
description: 'Enter SusFS Branch or commit hash for android12-5.10' | |
type: string | |
default: '' | |
android13-5_10_susfs_branch_or_commit: | |
description: 'Enter SusFS Branch or commit hash for android13-5.10' | |
type: string | |
default: '' | |
android13-5_15_susfs_branch_or_commit: | |
description: 'Enter SusFS Branch or commit hash for android13-5.15' | |
type: string | |
default: '' | |
android14-5_15_susfs_branch_or_commit: | |
description: 'Enter SusFS Branch or commit hash for android14-5.15' | |
type: string | |
default: '' | |
android14-6_1_susfs_branch_or_commit: | |
description: 'Enter SusFS Branch or commit hash for android14-6.1' | |
type: string | |
default: '' | |
android15-6_6_susfs_branch_or_commit: | |
description: 'Enter SusFS Branch or commit hash for android15-6.6' | |
type: string | |
default: '' | |
jobs: | |
build-batch-1: | |
name: build-batch-1 (${{ matrix.model }}, ${{ matrix.soc }}, ${{ matrix.branch }}, ${{ matrix.manifest }}, ${{ matrix.android_version }}, ${{ matrix.kernel_version }}, ${{ inputs.ksun_branch }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- model: OP11 | |
soc: kalama | |
branch: oneplus/sm8550 | |
manifest: oneplus_11_v.xml | |
android_version: android13 | |
kernel_version: "5.15" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Select Appropriate SusFS Branch | |
id: get-susfs-branch | |
run: | | |
KERNEL_STRING="${{ matrix.android_version }}-${{ matrix.kernel_version }}" | |
SUSFS_BRANCH="" | |
case "$KERNEL_STRING" in | |
"android12-5.10") | |
SUSFS_BRANCH="${{ inputs.android12-5_10_susfs_branch_or_commit }}" | |
;; | |
"android13-5.10") | |
SUSFS_BRANCH="${{ inputs.android13-5_10_susfs_branch_or_commit }}" | |
;; | |
"android13-5.15") | |
SUSFS_BRANCH="${{ inputs.android13-5_15_susfs_branch_or_commit }}" | |
;; | |
"android14-5.15") | |
SUSFS_BRANCH="${{ inputs.android14-5_15_susfs_branch_or_commit }}" | |
;; | |
"android14-6.1") | |
SUSFS_BRANCH="${{ inputs.android14-6_1_susfs_branch_or_commit }}" | |
;; | |
"android15-6.6") | |
SUSFS_BRANCH="${{ inputs.android15-6_6_susfs_branch_or_commit }}" | |
;; | |
*) | |
echo "Invalid kernel version or unsupported: $KERNEL_STRING" | |
exit 1 | |
;; | |
esac | |
echo "susfs_branch=$SUSFS_BRANCH" >> $GITHUB_OUTPUT | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Build Kernel | |
uses: WildKernels/OnePlus_KernelSU_SUSFS/.github/actions@main | |
with: | |
model: ${{ matrix.model }} | |
soc: ${{ matrix.soc }} | |
branch: ${{ matrix.branch }} | |
manifest: ${{ matrix.manifest }} | |
ksun_branch: ${{ inputs.ksun_branch }} | |
susfs_commit_hash_or_branch: ${{ steps.get-susfs-branch.outputs.susfs_branch }} | |
optimize_level: ${{ inputs.optimize_level }} | |
trigger-release: | |
needs: | |
- build-batch-1 | |
runs-on: ubuntu-latest | |
if: ${{ inputs.make_release }} | |
env: | |
REPO_OWNER: ${{ github.repository_owner }} | |
REPO_NAME: ${{ github.event.repository.name }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
RELEASE_NAME: "*TEST BUILD* OnePlus Kernels With KernelSU Next & SUSFS v1.5.9 *TEST BUILD*" | |
RELEASE_NOTES: | | |
This release contains KernelSU Next and SUSFS v1.5.9 | |
Module: | |
-> https://github.com/sidex15/ksu_module_susfs | |
Non-Official Managers: | |
-> https://github.com/KernelSU-Next/KernelSU-Next | |
Features: | |
[+] KernelSU-Next | |
[+] SUSFS v1.5.9 | |
[+] Wireguard Support | |
[+] Maphide LineageOS Detections | |
[+] Futile Maphide for jit-zygote-cache Detections | |
[+] Magic Mount Support | |
[+] Ptrace message leak fix for kernels < 5.16 | |
[+] Manual Hooks [scope_min_manual_hooks_v1.4] | |
[+] CONFIG_TMPFS_XATTR Support [Mountify Support] | |
[+] BBR v1 Support. | |
[+] HMBIRD scx support for OnePlus 13 & OnePlus Ace 5 Pro. | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Generate and Create New Tag | |
run: | | |
BASE_TAG="v1.5.9-r0" | |
LATEST_TAG=$(gh api repos/$REPO_OWNER/$REPO_NAME/tags --jq '.[0].name') | |
if [ -z "$LATEST_TAG" ]; then | |
LATEST_TAG="$BASE_TAG" | |
else | |
LATEST_TAG=$(printf "%s\n%s\n" "$LATEST_TAG" "$BASE_TAG" | sort -rV | head -n1) | |
fi | |
NEW_TAG=$(echo "$LATEST_TAG" | awk -F'-r' '{suffix=$2; if (!suffix) suffix=0; suffix++; printf "%s-r%d", $1, suffix}') | |
echo "New tag: $NEW_TAG" | |
echo "NEW_TAG=${NEW_TAG}" >> $GITHUB_ENV | |
git tag $NEW_TAG | |
git push origin $NEW_TAG | |
- name: Download Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: ./downloaded-artifacts | |
- name: Create GitHub Release | |
uses: actions/create-release@v1 | |
with: | |
tag_name: ${{ env.NEW_TAG }} | |
prerelease: true | |
release_name: ${{ env.RELEASE_NAME }} | |
body: ${{ env.RELEASE_NOTES }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Upload Release Assets Dynamically | |
run: | | |
for file in ./downloaded-artifacts/kernel-*/*; do | |
if [ -d "$file" ]; then | |
continue | |
fi | |
echo "Uploading $file..." | |
gh release upload ${{ env.NEW_TAG }} "$file" | |
done | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NEW_TAG: ${{ env.NEW_TAG }} | |
- name: Display Files Uploaded | |
run: | | |
echo "GitHub release created with the following files:" | |
ls ./downloaded-artifacts/**/* |