Skip to content
This repository was archived by the owner on Nov 1, 2025. It is now read-only.

Release Build

Release Build #19

Workflow file for this run

name: Release Build
permissions:
contents: write
actions: write
on:
workflow_dispatch:
jobs:
build:
strategy:
matrix:
variant:
- { name: "Non-KSU", KSU: "NONE", SUSFS: "false", LXC: "false" }
- { name: "Non-KSU-LXC", KSU: "NONE", SUSFS: "false", LXC: "true" }
- { name: "KSU", KSU: "OFFICIAL", SUSFS: "false", LXC: "false" }
- { name: "KSU-SUSFS", KSU: "OFFICIAL", SUSFS: "true", LXC: "false" }
- { name: "KSU-LXC", KSU: "OFFICIAL", SUSFS: "false", LXC: "true" }
- { name: "KSUN", KSU: "NEXT", SUSFS: "false", LXC: "false" }
- { name: "KSUN-SUSFS", KSU: "NEXT", SUSFS: "true", LXC: "false" }
- { name: "KSUN-LXC", KSU: "NEXT", SUSFS: "false", LXC: "true" }
- { name: "KSUN-SUSFS-LXC", KSU: "NEXT", SUSFS: "true", LXC: "true" }
- { name: "SUKISU", KSU: "SUKI", SUSFS: "false", LXC: "false" }
- { name: "SUKISU-SUSFS", KSU: "SUKI", SUSFS: "true", LXC: "false" }
- { name: "SUKISU-LXC", KSU: "SUKI", SUSFS: "false", LXC: "true" }
- {
name: "SUKISU-SUSFS-LXC",
KSU: "SUKI",
SUSFS: "true",
LXC: "true",
}
name: Build ${{ matrix.variant.name }} variant
uses: ./.github/workflows/build.yml
secrets: inherit
with:
KSU: ${{ matrix.variant.KSU }}
SUSFS: ${{ matrix.variant.SUSFS }}
LXC: ${{ matrix.variant.LXC }}
NOTIFY: "false"
release:
name: Create Release
needs: build
runs-on: ubuntu-latest
env:
OUTPUT_DIR: ${{ needs.build.outputs.output }}
KERNEL_VER: ${{ needs.build.outputs.version }}
VARIANT: ${{ needs.build.outputs.variant }}
SUSFS_VER: ${{ needs.build.outputs.susfs_version }}
KSU_VER: ${{ needs.build.outputs.official_version }}
SUKI_VER: ${{ needs.build.outputs.suki_version }}
NEXT_VER: ${{ needs.build.outputs.next_version }}
TOOLCHAIN: ${{ needs.build.outputs.toolchain }}
BUILD_DATE: ${{ needs.build.outputs.build_time }}
RELEASE_REPO: ${{ needs.build.outputs.release_repo }}
RELEASE_BRANCH: ${{ needs.build.outputs.release_branch }}
KERNEL_NAME: ${{ needs.build.outputs.kernel_name }}
steps:
- name: Checkout current repo
uses: actions/checkout@v5
with:
fetch-depth: 1
- name: Download All Artifacts
uses: actions/download-artifact@v5
with:
path: release_files
- name: Generate new tag
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
RELEASE_REPO: ${{ env.RELEASE_REPO }}
run: |
LATEST_TAG=$(gh api repos/$RELEASE_REPO/tags \
--header "Authorization: token $GH_TOKEN" \
--jq '.[0].name')
LATEST=${LATEST_TAG#v}
if [[ -z "$LATEST" ]]; then
RELEASE_TAG="v1.0"
else
MAJOR=${LATEST%.*}
MINOR=${LATEST#*.}
if (( MINOR == 9 )); then
(( MAJOR++ ))
MINOR=0
else
(( MINOR++ ))
fi
RELEASE_TAG="v${MAJOR}.${MINOR}"
fi
echo "New tag: $RELEASE_TAG"
echo "RELEASE_TAG=${RELEASE_TAG}" >> $GITHUB_ENV
- name: Upload builds to release
uses: softprops/action-gh-release@v2
with:
repository: ${{ env.RELEASE_REPO }}
name: "${{ env.KERNEL_NAME }} Kernel ${{ env.RELEASE_TAG }}"
tag_name: ${{ env.RELEASE_TAG }}
token: ${{ secrets.GH_TOKEN }}
body: |
### Key Changes
- Add your key changes here.
---
### Build Information
| Component | Version |
|-----------|---------|
| **Kernel Version** | `${{ env.KERNEL_VER }}` |
| **KernelSU** | `${{ env.KSU_VER }}` |
| **SukiSU Ultra** | `${{ env.SUKI_VER }}` |
| **KernelSU Next** | `${{ env.NEXT_VER }}` |
| **SUSFS** | `${{ env.SUSFS_VER }}` |
| **Toolchain** | `${{ env.TOOLCHAIN }}` |
| **Build Date** | `${{ env.BUILD_DATE }}` |
---
### Variants Suffixes
| Suffix | Description |
|--------|-------------|
| **-KSU** | Original KernelSU |
| **-SUKI** | SukiSU Ultra |
| **-KSUN** | KernelSU Next |
| **-Non-KSU** | No KernelSU |
| **-SUSFS** | SUSFS Support |
| **-LXC** | LXC Support |
> [!IMPORTANT]
> For installation instructions and issue reporting guidelines, please refer to the README.md
generate_release_notes: false
target_commitish: ${{ env.RELEASE_BRANCH }}
files: release_files/**/*