소스 검색

ci: update GitHub Actions and improve build summary

- Update GitHub Actions from v4 to v5 for artifact upload/download
- Migrate from WildKernels/Wild_KSU to KernelSU-Next/KernelSU-Next repository
- Add SUSFS branch and commit environment variables
- Refactor build summary to use markdown table format
- Dynamically generate release notes based on feature set and component versions
TheWildJames 4 달 전
부모
커밋
a97fcf1f71
5개의 변경된 파일120개의 추가작업 그리고 72개의 파일을 삭제
  1. 5 5
      .github/actions/fetch-commits/action.yml
  2. 2 0
      .github/actions/susfs/action.yml
  3. 1 1
      .github/actions/telegram-notify/action.yml
  4. 24 24
      .github/workflows/build.yml
  5. 88 42
      .github/workflows/main.yml

+ 5 - 5
.github/actions/fetch-commits/action.yml

@@ -33,10 +33,10 @@ runs:
 
         echo "Fetching latest commits..."
         
-        # Wild KSU
+        # KernelSU-Next
         if [ -n "${{ inputs.ksu_commit }}" ]; then
           # Try to resolve input as a ref (branch/tag)
-          resolved_commit=$(get_commit "https://github.com/WildKernels/Wild_KSU.git" "${{ inputs.ksu_commit }}")
+          resolved_commit=$(get_commit "https://github.com/KernelSU-Next/KernelSU-Next.git" "${{ inputs.ksu_commit }}")
           
           if [ -n "$resolved_commit" ]; then
             ksu_commit="$resolved_commit"
@@ -44,10 +44,10 @@ runs:
             # If resolution failed, assume input is a commit SHA
             ksu_commit="${{ inputs.ksu_commit }}"
           fi
-          echo "Using provided Wild KSU commit: $ksu_commit"
+          echo "Using provided KernelSU-Next commit: $ksu_commit"
         else
-          ksu_commit=$(get_commit "https://github.com/WildKernels/Wild_KSU.git" "refs/heads/canary")
-          echo "Wild KSU: $ksu_commit"
+          ksu_commit=$(get_commit "https://github.com/KernelSU-Next/KernelSU-Next.git" "refs/heads/dev")
+          echo "KernelSU-Next: $ksu_commit"
         fi
         echo "ksu_commit=$ksu_commit" >> $GITHUB_OUTPUT
         

+ 2 - 0
.github/actions/susfs/action.yml

@@ -58,6 +58,8 @@ runs:
         
         SUSFS_VERSION="v2.1.0"
         echo "SUSFS_VERSION=$SUSFS_VERSION" >> $GITHUB_ENV
+        echo "SUSFS_BRANCH=$SUSFS_BRANCH" >> $GITHUB_ENV
+        echo "SUSFS_COMMIT=$TARGET_COMMIT" >> $GITHUB_ENV
 
     - name: Enable KernelSU SUSFS Config
       shell: bash

+ 1 - 1
.github/actions/telegram-notify/action.yml

@@ -33,7 +33,7 @@ runs:
   using: "composite"
   steps:
     - name: Download Kernel Artifacts
-      uses: actions/download-artifact@v4
+      uses: actions/download-artifact@v5
       with:
         path: ./downloaded-artifacts
         pattern: ${{ inputs.artifact_pattern }}

+ 24 - 24
.github/workflows/build.yml

@@ -403,7 +403,7 @@ jobs:
         done
 
     - name: Upload Boot Images
-      uses: actions/upload-artifact@v4
+      uses: actions/upload-artifact@v5
       with:
         name: ${{ steps.extract.outputs.file_name }}-BootImages
         path: ${{ github.workspace }}/boot-artifacts/*.img
@@ -455,7 +455,7 @@ jobs:
         fi
 
     - name: Upload Artifacts
-      uses: actions/upload-artifact@v4
+      uses: actions/upload-artifact@v5
       with:
         name: ${{ steps.extract.outputs.file_name }}-AnyKernel3
         path: ${{ github.workspace }}/AnyKernel3/**
@@ -464,7 +464,7 @@ jobs:
 
     - name: Upload Rejects
       if: ${{ always() }}
-      uses: actions/upload-artifact@v4
+      uses: actions/upload-artifact@v5
       with:
         name: ${{ steps.extract.outputs.file_name }}-Rejects
         path: patch-rejects/
@@ -474,25 +474,25 @@ jobs:
     - name: Build Summary
       if: ${{ always() }}
       run: |
-        # Kernel info
-        echo "Android Version     : $ANDROID_VERSION"
-        echo "Kernel Version      : $KERNEL_VERSION"
-        echo "Sub Level           : $SUB_LEVEL"
-        echo "Sub level (Makefile): $SUBLEVEL"
-        echo "Patch Level         : $OS_PATCH_LEVEL"
-        # Branch info
-        echo "Repo Branch         : common-$KERNEL_VERSION-$ANDROID_VERSION-$OS_PATCH_LEVEL || 'normal'"
-        echo "Deprecated          : $DEPRECATED_BRANCH"
-        # Build info
-        echo "Build Type          : ${{ matrix.variant }}"
-        # Features info
-        echo "Features            : ${{ inputs.feature_set || 'None' }}"
-        echo "KSUN Commit         : ${{ inputs.ksu_commit || 'canary' }}"
-        echo "KSUN Tag            : $KSU_GIT_TAG"
-        echo "KSUN Version        : $KSU_VERSION"
-        echo "BBG Commit          : $BBG_COMMIT"
-        echo "BBG Version         : $BBG_VERSION"
-        # Variant info
-        echo "Variant             : ${{ matrix.variant }}"
-        echo "Features            : ${{ inputs.feature_set || 'None' }}"
+        cat <<EOF >> $GITHUB_STEP_SUMMARY
+        ## 🚀 Build Summary: ${{ inputs.kernel_version }} (${{ matrix.variant }})
+        
+        ### 🔧 Build Info
+        | Component | Version/Value |
+        | --- | --- |
+        | **Kernel Version** | \`${KERNEL_VERSION}.${SUBLEVEL}\` |
+        | **Android Version** | \`${ANDROID_VERSION}\` |
+        | **Patch Level** | \`${OS_PATCH_LEVEL}\` |
+        | **Variant** | \`${{ matrix.variant }}\` |
+        | **Feature Set** | \`${{ inputs.feature_set || 'None' }}\` |
+        
+        ### 📦 Component Details
+        | Component | Branch / Tag | Commit / Version |
+        | --- | --- | --- |
+        | **KernelSU-Next** | \`${KSU_GIT_TAG:-None}\` | \`${KSU_COMMIT:-None}\` |
+        | **SUSFS** | \`${SUSFS_BRANCH:-None}\` | \`${SUSFS_COMMIT:-Latest}\` |
+        | **BBG** | \`main\` | \`${BBG_COMMIT:-None}\` |
+        | **AnyKernel3** | \`gki-2.0\` | \`${{ inputs.anykernel_commit || 'Latest' }}\` |
+        | **Kernel Patches** | \`main\` | \`${{ inputs.patches_commit || 'Latest' }}\` |
+        EOF
 # End of workflow

+ 88 - 42
.github/workflows/main.yml

@@ -166,7 +166,7 @@ jobs:
 
     steps:
     - name: Download Misc Artifacts
-      uses: actions/download-artifact@v4
+      uses: actions/download-artifact@v5
       with:
         path: ./downloaded-artifacts
         pattern: '*-Rejects'
@@ -210,7 +210,7 @@ jobs:
         fi
 
     - name: Upload AIO-REJ Artifact
-      uses: actions/upload-artifact@v4
+      uses: actions/upload-artifact@v5
       with:
         name: AIO-REJ
         path: AIO-REJ.zip
@@ -222,6 +222,7 @@ jobs:
     permissions:
       contents: write
     needs:
+    - fetch-commits
     - build-a12-5-10
     - build-a13-5-10
     - build-a13-5-15
@@ -313,54 +314,99 @@ jobs:
 
     - name: Set release body
       run: |
-        cat << 'EOF' > release_body.md
-
-        **IMPORTANT DISCLAIMER**
-        This software is provided for testing and educational purposes only. Use at your own risk.
-        The developers are not responsible for any damage, data loss, or issues that may occur.
-        Please ensure you have proper backups before installation.
-
-        Features:
-        -> KernelSU-Next Manager, Wild KSU Manager Support is temporary disabled
-        -> SUSFS ඞ v2.1.0
-        -> SUSFS Inline Hooks
-        -> IPSet Support for Advanced Network Filtering
-        -> BBRv3 TCP Congestion Control
-        -> BBG: https://github.com/vc-teahouse/Baseband-guard
-
-        🔹 BBG (Baseband-guard)
-        - A lightweight LSM (Linux Security Module) for Android kernel
-        - Blocks unauthorized writes to critical partitions/device nodes
-        - Prevents malicious tampering with baseband and boot chain
-        - Kernel-level protection via LSM hooks
-        - Reduces risk of soft-brick/hard-brick issues
-
-        🔹 Bypass Builds
-        - Includes module check bypass modifications 
-        - What are kernel modules? Kernel modules are pieces of code that can be loaded into the kernel at runtime to extend functionality (like device drivers, filesystem support, etc.). These are different from KernelSU/Magisk modules. 
-        - The Problem: Sometimes when installing a custom kernel, the device tries to load a kernel module that fails due to version mismatches, missing dependencies, or signature verification issues. This can cause boot failures or device instability. 
-        - The Solution: These versions change one line from false to true to force load the kernel module, bypassing the failure check that would normally prevent loading.
-
-        Kernel Flasher:
-        -> https://github.com/fatalcoder524/KernelFlasher/
-
-        Manager:
-        Temp Disabled (-> Wild KSU Manager: https://github.com/WildKernels/Wild_KSU)
-        -> KernelSU-Next Manager: https://github.com/KernelSU-Next/KernelSU-Next
-
-        Module: 
-        -> https://github.com/sidex15/ksu_module_susfs
-        EOF
+        set -e
+
+        FEATURE_SET="${{ inputs.feature_set }}"
+        KSUN_COMMIT="${{ needs.fetch-commits.outputs.ksu_commit }}"
+        AK3_COMMIT="${{ needs.fetch-commits.outputs.anykernel_commit }}"
+        PATCHES_COMMIT="${{ needs.fetch-commits.outputs.patches_commit }}"
+        SUSFS_MAP="${{ needs.fetch-commits.outputs.susfs_commit }}"
+        SUSFS_VERSION="v2.1.0"
+        : > release_body.md
+
+        {
+          echo
+          echo "**IMPORTANT DISCLAIMER**"
+          echo "This software is provided for testing and educational purposes only. Use at your own risk."
+          echo "The developers are not responsible for any damage, data loss, or issues that may occur."
+          echo "Please ensure you have proper backups before installation."
+          echo
+          echo "## 🔧 Build Configuration"
+          echo "| Component | Version/Setting |"
+          echo "|---|---|"
+          echo "| Feature Set | ${FEATURE_SET} |"
+          echo "| KernelSU-Next Commit | ${KSUN_COMMIT} |"
+          echo "| SUSFS Version | ${SUSFS_VERSION} |"
+          echo "| AnyKernel3 Commit | ${AK3_COMMIT} |"
+          echo "| Kernel Patches Commit | ${PATCHES_COMMIT} |"
+          echo "| Optimization Level | O2 |"
+          echo "| Clean Build | ❌ No (ccache enabled) |"
+          echo
+          echo "## 📌 SUSFS Branch Mapping"
+          echo "| Kernel Version | SUSFS Commit |"
+          echo "|---|---|"
+        } >> release_body.md
+
+        echo "$SUSFS_MAP" | tr ',' '\n' | while IFS=':' read -r branch commit; do
+          [ -n "${branch:-}" ] || continue
+          [ -n "${commit:-}" ] || continue
+          kernel_version="${branch#gki-}"
+          echo "| ${kernel_version} | ${commit} |" >> release_body.md
+        done
+
+        {
+          echo
+          echo "## ✨ Features & Capabilities"
+        } >> release_body.md
+
+        if [[ "$FEATURE_SET" == *"KSUN"* ]]; then
+          {
+            echo "### 🔐 Root Management"
+            echo "- KernelSU-Next (kernel-level root)"
+          } >> release_body.md
+        fi
+
+        if [[ "$FEATURE_SET" == *"SUSFS"* ]]; then
+          echo "- SUSFS ${SUSFS_VERSION}" >> release_body.md
+        fi
+
+        {
+          echo
+          echo "### 🚀 Performance & Networking"
+          echo "- BBRv3 TCP Congestion Control"
+          echo "- IP Set support"
+          echo "- TTL target support (IPv4/IPv6)"
+          echo
+          echo "### 🔹 Bypass Builds"
+          echo "- Includes module check bypass variant (Bypass)"
+          echo
+          echo "## 📦 Release Files"
+          echo "- AnyKernel3: uploaded as ZIP in the Release"
+          echo "- Boot images: uploaded as raw .img files in the Release"
+          echo
+          echo "## 📥 Recommended Tools"
+          echo "- Kernel Flasher: https://github.com/fatalcoder524/KernelFlasher/"
+          echo "- KernelSU-Next Manager: https://github.com/KernelSU-Next/KernelSU-Next"
+          echo "- SUSFS Module: https://github.com/sidex15/ksu_module_susfs"
+        } >> release_body.md
+
+        if [[ "$FEATURE_SET" == *"BBG"* ]]; then
+          {
+            echo
+            echo "### 🛡️ Security & Privacy"
+            echo "- Baseband Guard (BBG): https://github.com/vc-teahouse/Baseband-guard"
+          } >> release_body.md
+        fi
 
     - name: Download AnyKernel3 Artifacts
-      uses: actions/download-artifact@v4
+      uses: actions/download-artifact@v5
       with:
         path: release-assets
         pattern: '*-AnyKernel3'
         merge-multiple: false
 
     - name: Download Boot Image Artifacts
-      uses: actions/download-artifact@v4
+      uses: actions/download-artifact@v5
       with:
         path: release-assets
         pattern: '*-BootImages'