Sfoglia il codice sorgente

ci: consolidate networking actions and update build workflow

- Merge netfilter-ipset and bbr actions into unified networking action
- Update fetch-commits action to include KernelSU-Next tags and BBG commits
- Remove redundant build summary section from build.yml
- Add workflow summary to main.yml with component details
TheWildJames 4 mesi fa
parent
commit
a3820707a9

+ 5 - 3
.github/actions/bbr/action.yml

@@ -38,12 +38,14 @@ runs:
         cat >> "${{ github.workspace }}/wild_gki.fragment" << 'EOF'
         CONFIG_TCP_CONG_ADVANCED=y
         CONFIG_TCP_CONG_BBR=y
+        CONFIG_TCP_CONG_CUBIC=y
+        CONFIG_TCP_CONG_BIC=y
+        CONFIG_TCP_CONG_WESTWOOD=y
+        CONFIG_TCP_CONG_HTCP=y
         CONFIG_DEFAULT_BBR=y
         CONFIG_DEFAULT_TCP_CONG="bbr"
         CONFIG_NET_SCH_FQ=y
-        # CONFIG_TCP_CONG_BIC is not set
-        # CONFIG_TCP_CONG_WESTWOOD is not set
-        # CONFIG_TCP_CONG_HTCP is not set
+
         EOF
         
 

+ 27 - 3
.github/actions/fetch-commits/action.yml

@@ -1,14 +1,17 @@
 name: Fetch Latest Commits
-description: "Fetches the latest commit hashes for Wild KSU, AnyKernel3, Kernel Patches, and SUSFS"
+description: "Fetches the latest commit hashes for KernelSU-Next, AnyKernel3, Kernel Patches, SUSFS, and BBG"
 inputs:
   ksu_commit:
-    description: "Optional: Specific Wild KSU commit to use"
+    description: "Optional: Specific KernelSU-Next ref/commit to use"
     required: false
     default: ""
 outputs:
   ksu_commit:
-    description: "Wild KSU Commit"
+    description: "KernelSU-Next Commit"
     value: ${{ steps.commits.outputs.ksu_commit }}
+  ksu_tag:
+    description: "KernelSU-Next Tag (best effort)"
+    value: ${{ steps.commits.outputs.ksu_tag }}
   anykernel_commit:
     description: "AnyKernel3 Commit"
     value: ${{ steps.commits.outputs.anykernel_commit }}
@@ -18,6 +21,9 @@ outputs:
   susfs_commit:
     description: "SUSFS Commit (Map)"
     value: ${{ steps.commits.outputs.susfs_commit }}
+  bbg_commit:
+    description: "BBG Commit"
+    value: ${{ steps.commits.outputs.bbg_commit }}
 
 runs:
   using: "composite"
@@ -30,6 +36,15 @@ runs:
         get_commit() {
           git ls-remote "$1" "$2" | awk '{print $1}'
         }
+        
+        get_tag_for_commit() {
+          repo="$1"
+          commit="$2"
+          git ls-remote --tags "$repo" | awk -v c="$commit" '$1==c && $2 ~ /^refs\/tags\// {print $2}' \
+            | sed -E 's#^refs/tags/##; s#\\^\\{\\}\\$##' \
+            | sort -V \
+            | tail -n 1
+        }
 
         echo "Fetching latest commits..."
         
@@ -51,6 +66,10 @@ runs:
         fi
         echo "ksu_commit=$ksu_commit" >> $GITHUB_OUTPUT
         
+        KSUN_TAG="$(get_tag_for_commit "https://github.com/KernelSU-Next/KernelSU-Next.git" "$ksu_commit")"
+        echo "KernelSU-Next Tag: ${KSUN_TAG:-None}"
+        echo "ksu_tag=$KSUN_TAG" >> $GITHUB_OUTPUT
+        
         # AnyKernel3
         AK3_COMMIT=$(get_commit "https://github.com/WildKernels/AnyKernel3.git" "refs/heads/gki-2.0")
         echo "AnyKernel3: $AK3_COMMIT"
@@ -94,3 +113,8 @@ runs:
         done
         
         echo "susfs_commit=$SUSFS_MAP" >> $GITHUB_OUTPUT
+        
+        # BBG
+        BBG_COMMIT=$(get_commit "https://github.com/vc-teahouse/Baseband-guard.git" "refs/heads/main")
+        echo "BBG: $BBG_COMMIT"
+        echo "bbg_commit=$BBG_COMMIT" >> $GITHUB_OUTPUT

+ 0 - 48
.github/actions/netfilter-ipset/action.yml

@@ -1,48 +0,0 @@
-name: 'Setup netfilter/ipset options'
-description: 'Set up kernel configuration fragment with required options'
-inputs:
-  kernel_version:
-    description: 'Kernel version (e.g., 6.6)'
-    required: true
-
-runs:
-  using: "composite"
-  steps:
-    - name: Apply Kernel Configuration
-      shell: bash
-      working-directory: ${{ github.workspace }}/kernel
-      run: |
-        cat >> "${{ github.workspace }}/wild_gki.fragment" << 'EOF'
-        # Optional kernel config placeholders
-        # Networking Configuration
-        CONFIG_IP_NF_TARGET_TTL=y
-        CONFIG_IP6_NF_TARGET_HL=y
-        CONFIG_IP6_NF_MATCH_HL=y
-
-        # IPSet Support
-        CONFIG_IP_SET=y
-        CONFIG_IP_SET_MAX=65534
-        CONFIG_IP_SET_BITMAP_IP=y
-        CONFIG_IP_SET_BITMAP_IPMAC=y
-        CONFIG_IP_SET_BITMAP_PORT=y
-        CONFIG_IP_SET_HASH_IP=y
-        CONFIG_IP_SET_HASH_IPMARK=y
-        CONFIG_IP_SET_HASH_IPPORT=y
-        CONFIG_IP_SET_HASH_IPPORTIP=y
-        CONFIG_IP_SET_HASH_IPPORTNET=y
-        CONFIG_IP_SET_HASH_IPMAC=y
-        CONFIG_IP_SET_HASH_MAC=y
-        CONFIG_IP_SET_HASH_NETPORTNET=y
-        CONFIG_IP_SET_HASH_NET=y
-        CONFIG_IP_SET_HASH_NETNET=y
-        CONFIG_IP_SET_HASH_NETPORT=y
-        CONFIG_IP_SET_HASH_NETIFACE=y
-        CONFIG_IP_SET_LIST_SET=y
-        EOF
-
-    - name: Apply Kernel Config for 5.10
-      shell: bash
-      working-directory: ${{ github.workspace }}/kernel/common
-      if: inputs.kernel_version == '5.10'
-      run: |
-        sed -i 's/CONFIG_IP_SET_MAX/65534/g' net/netfilter/ipset/ip_set_core.c

+ 81 - 0
.github/actions/networking/action.yml

@@ -0,0 +1,81 @@
+name: 'Setup Networking Options'
+description: 'Set up kernel configuration fragment with required options'
+inputs:
+  kernel_version:
+    description: 'Kernel version (e.g., 6.6)'
+    required: true
+
+runs:
+  using: "composite"
+  steps:
+    - name: Patch with BBRv3
+      shell: bash
+      working-directory: ${{ github.workspace }}/kernel/common
+      run: |
+        cp "$GITHUB_WORKSPACE/kernel_patches/bbr/bbrv3-${{ inputs.android_version }}-${{ inputs.kernel_version }}.patch" "$GITHUB_WORKSPACE/kernel/common"
+        patch -p1 < "bbrv3-${{ inputs.android_version }}-${{ inputs.kernel_version }}.patch"
+
+    - name: Fix modules.bzl
+      shell: bash
+      if: false
+      working-directory: ${{ github.workspace }}/kernel/common
+      run: |
+        if [ "${{ inputs.kernel_version }}" = "6.1" ]; then
+          mods_file=modules.bzl
+          for m in "net/ipv4/tcp_bic.ko" "net/ipv4/tcp_htcp.ko" "net/ipv4/tcp_westwood.ko"; do
+            grep -q "'$m'" "$mods_file" && continue
+            sed -i "/_ARM64_GKI_MODULES_LIST = \[/,/^]/ s/^]/    \"$m\",\n]/" "$mods_file"
+          done
+        fi
+
+    - name: Apply Kernel Configuration
+      shell: bash
+      working-directory: ${{ github.workspace }}/kernel
+      run: |
+        cat >> "${{ github.workspace }}/wild_gki.fragment" << 'EOF'
+        CONFIG_NETFILTER=y
+        CONFIG_NETFILTER_ADVANCED=y
+        CONFIG_NETFILTER_XTABLES=y
+        CONFIG_NF_CONNTRACK=y
+        CONFIG_NF_TABLES=y
+
+        CONFIG_IP_NF_TARGET_TTL=y
+        CONFIG_IP6_NF_TARGET_HL=y
+        CONFIG_IP6_NF_MATCH_HL=y
+
+        CONFIG_IP_SET=y
+        CONFIG_IP_SET_BITMAP_IP=y
+        CONFIG_IP_SET_BITMAP_IPMAC=y
+        CONFIG_IP_SET_BITMAP_PORT=y
+        CONFIG_IP_SET_HASH_IP=y
+        CONFIG_IP_SET_HASH_IPMARK=y
+        CONFIG_IP_SET_HASH_IPPORT=y
+        CONFIG_IP_SET_HASH_IPPORTIP=y
+        CONFIG_IP_SET_HASH_IPPORTNET=y
+        CONFIG_IP_SET_HASH_IPMAC=y
+        CONFIG_IP_SET_HASH_MAC=y
+        CONFIG_IP_SET_HASH_NETPORTNET=y
+        CONFIG_IP_SET_HASH_NET=y
+        CONFIG_IP_SET_HASH_NETNET=y
+        CONFIG_IP_SET_HASH_NETPORT=y
+        CONFIG_IP_SET_HASH_NETIFACE=y
+        CONFIG_IP_SET_LIST_SET=y
+
+        CONFIG_TCP_CONG_ADVANCED=y
+        CONFIG_TCP_CONG_BBR=y
+        CONFIG_TCP_CONG_CUBIC=y
+        CONFIG_TCP_CONG_BIC=y
+        CONFIG_TCP_CONG_WESTWOOD=y
+        CONFIG_TCP_CONG_HTCP=y
+        CONFIG_DEFAULT_BBR=y
+        CONFIG_DEFAULT_TCP_CONG="bbr"
+        CONFIG_NET_SCH_FQ=y
+        EOF
+      
+    - name: Apply Kernel Config for 5.10
+      if: false
+      shell: bash
+      working-directory: ${{ github.workspace }}/kernel/common
+      if: inputs.kernel_version == '5.10'
+      run: |
+        sed -i 's/CONFIG_IP_SET_MAX/65534/g' net/netfilter/ipset/ip_set_core.c

+ 2 - 35
.github/workflows/build.yml

@@ -258,18 +258,11 @@ jobs:
       with:
         kernel_version: ${{ steps.parse.outputs.kernel_version }}
 
-    - name: Setup netfilter/ipset options
-      uses: ./.github/actions/netfilter-ipset
+    - name: Setup Networking options
+      uses: ./.github/actions/networking
       with:
         kernel_version: ${{ steps.parse.outputs.kernel_version }}
 
-    - name: Setup BBRv3
-      if: false
-      uses: ./.github/actions/bbr
-      with:
-        kernel_version: ${{ steps.parse.outputs.kernel_version }}
-        android_version: ${{ steps.parse.outputs.android_version }}
-
     - name: Apply ABI Compare Bypass
       if: false
       working-directory: ${{ github.workspace }}/kernel
@@ -471,29 +464,3 @@ jobs:
         path: patch-rejects/
         if-no-files-found: ignore
         compression-level: 9
-
-    - name: Build Summary
-      if: ${{ always() }}
-      run: |
-        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

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

@@ -318,9 +318,11 @@ jobs:
 
         FEATURE_SET="${{ inputs.feature_set }}"
         KSUN_COMMIT="${{ needs.fetch-commits.outputs.ksu_commit }}"
+        KSUN_TAG="${{ needs.fetch-commits.outputs.ksu_tag }}"
         AK3_COMMIT="${{ needs.fetch-commits.outputs.anykernel_commit }}"
         PATCHES_COMMIT="${{ needs.fetch-commits.outputs.patches_commit }}"
         SUSFS_MAP="${{ needs.fetch-commits.outputs.susfs_commit }}"
+        BBG_COMMIT="${{ needs.fetch-commits.outputs.bbg_commit }}"
         SUSFS_VERSION="v2.1.0"
         : > release_body.md
 
@@ -336,9 +338,11 @@ jobs:
           echo "|---|---|"
           echo "| Feature Set | ${FEATURE_SET} |"
           echo "| KernelSU-Next Commit | ${KSUN_COMMIT} |"
+          echo "| KernelSU-Next Tag | ${KSUN_TAG:-None} |"
           echo "| SUSFS Version | ${SUSFS_VERSION} |"
           echo "| AnyKernel3 Commit | ${AK3_COMMIT} |"
           echo "| Kernel Patches Commit | ${PATCHES_COMMIT} |"
+          echo "| BBG Commit | ${BBG_COMMIT} |"
           echo "| Optimization Level | O2 |"
           echo "| Clean Build | ❌ No (ccache enabled) |"
           echo
@@ -398,6 +402,44 @@ jobs:
           } >> release_body.md
         fi
 
+    - name: Workflow Summary
+      if: ${{ always() }}
+      run: |
+        set -e
+
+        KSUN_COMMIT="${{ needs.fetch-commits.outputs.ksu_commit }}"
+        KSUN_TAG="${{ needs.fetch-commits.outputs.ksu_tag }}"
+        AK3_COMMIT="${{ needs.fetch-commits.outputs.anykernel_commit }}"
+        PATCHES_COMMIT="${{ needs.fetch-commits.outputs.patches_commit }}"
+        SUSFS_MAP="${{ needs.fetch-commits.outputs.susfs_commit }}"
+        BBG_COMMIT="${{ needs.fetch-commits.outputs.bbg_commit }}"
+
+        short() { echo "${1:0:8}"; }
+
+        {
+          echo "## 📦 Components"
+          echo "| Component | Branch / Tag | Commit / Version |"
+          echo "|---|---|---|"
+          echo "| KernelSU-Next | ${KSUN_TAG:-dev} | $(short "$KSUN_COMMIT") |"
+          echo "| AnyKernel3 | gki-2.0 | $(short "$AK3_COMMIT") |"
+          echo "| Kernel Patches | main | $(short "$PATCHES_COMMIT") |"
+          echo "| BBG | main | $(short "$BBG_COMMIT") |"
+        } >> "$GITHUB_STEP_SUMMARY"
+
+        {
+          echo
+          echo "## 📌 SUSFS Branch Mapping"
+          echo "| Kernel Version | SUSFS Commit |"
+          echo "|---|---|"
+        } >> "$GITHUB_STEP_SUMMARY"
+
+        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} |" >> "$GITHUB_STEP_SUMMARY"
+        done
+
     - name: Download AnyKernel3 Artifacts
       uses: actions/download-artifact@v5
       with: