Browse Source

ci(release-notes): drop KSU-Next SUSFS and SUSFS rows from features table

ci(managers): ship only universal release + spoofed manager APKs, drop debug/non-universal
TheWildJames 1 week ago
parent
commit
50ecac2dc8
2 changed files with 76 additions and 20 deletions
  1. 22 11
      .github/workflows/main.yml
  2. 54 9
      .github/workflows/managers.yml

+ 22 - 11
.github/workflows/main.yml

@@ -364,7 +364,7 @@ jobs:
                     exit 1
                   fi
                 fi
-                printf '{"flavor":"%s","owner":"%s","repo":"%s","source":"run","run_id":%s,"stock":"%s","want":"Manager-release,Spoofed-Manager-release,Manager-debug"}' \
+                printf '{"flavor":"%s","owner":"%s","repo":"%s","source":"run","run_id":%s,"stock":"%s","want":"Manager-release,Spoofed-Manager-release"}' \
                   "$flavor" "$owner" "$repo" "$run_id" "$stock"
                 ;;
               *)
@@ -510,6 +510,23 @@ jobs:
               fi
             )
           done
+          # Filter ReSukiSU to only release universal and universal spoofed (drop debug/non-universal)
+          if grep -q "ReSukiSU|ReSukiSU|" "$MANIFEST" 2>/dev/null; then
+            tmp_manifest="${MANIFEST}.filtered"
+            : > "$tmp_manifest"
+            while IFS='|' read -r o r n; do
+              [ -n "$n" ] || continue
+              if [ "$o" = "ReSukiSU" ] && [ "$r" = "ReSukiSU" ]; then
+                ln=$(echo "$n" | tr '[:upper:]' '[:lower:]')
+                # keep only universal apks, drop debug
+                if [[ "$ln" != *universal* ]]; then echo "Dropping ReSukiSU non-universal $n" >&2; rm -f "$OUT_APKS/$n"; continue; fi
+                if [[ "$ln" == *debug* ]]; then echo "Dropping ReSukiSU debug $n" >&2; rm -f "$OUT_APKS/$n"; continue; fi
+                # now only universal release and universal spoofed remain
+              fi
+              echo "$o|$r|$n" >> "$tmp_manifest"
+            done < "$MANIFEST"
+            mv "$tmp_manifest" "$MANIFEST"
+          fi
           # Build the flat apk list from the manifest (single source of truth)
           APK_JSON="[]"
           while IFS='|' read -r o r n; do
@@ -549,7 +566,7 @@ jobs:
       - name: Upload ${{ matrix.item.apk }} as its own artifact
         uses: actions/upload-artifact@v7
         with:
-          name: manager-apk-${{ matrix.item.apk }}
+          name: ${{ matrix.item.apk }}
           path: manager_apks/${{ matrix.item.apk }}
           if-no-files-found: error
 
@@ -1200,12 +1217,9 @@ jobs:
         ksu_commit=env("KSU_COMMIT","")
         resukisu_commit=env("RESUKISU_COMMIT","")
         kernelsu_commit=env("KERNELSU_COMMIT","")
-        if ksun_commit: lines.append(f"| KernelSU-Next (SUSFS) | pershoot/KernelSU-Next#{ksun_branch} | `{ksun_commit[:12]}` `{ksun_commit}` |")
-        elif kernelsu_commit: lines.append(f"| KernelSU-Next (official) | KernelSU-Next/KernelSU-Next#dev | `{kernelsu_commit[:12]}` |")
+        if kernelsu_commit: lines.append(f"| KernelSU-Next (official) | KernelSU-Next/KernelSU-Next#dev | `{kernelsu_commit[:12]}` |")
         if ksu_commit: lines.append(f"| KernelSU (tiann) | tiann/KernelSU#main | `{ksu_commit[:12]}` `{ksu_commit}` |")
         if resukisu_commit: lines.append(f"| ReSukiSU | ReSukiSU/ReSukiSU#main | `{resukisu_commit[:12]}` `{resukisu_commit}` |")
-        if env("USE_SUSFS","true")=="true":
-            lines.append(f"| SUSFS | simonpunk/susfs4ksu | per-variant (see below) |")
         if env("USE_NOMOUNT","true")=="true":
             nm=env("NOMOUNT_COMMIT","")
             if nm: lines.append(f"| NoMount | maxsteeel/nomount#dev | `{nm[:12]}` `{nm}` |")
@@ -1279,7 +1293,7 @@ jobs:
       uses: actions/download-artifact@v7
       with:
         path: release-assets/manager
-        pattern: 'manager-apk-*'
+        pattern: '*.apk'
         merge-multiple: true
         if-no-files-found: ignore
 
@@ -1410,12 +1424,9 @@ jobs:
           ksu_commit=env("KSU_COMMIT","")
           resukisu_commit=env("RESUKISU_COMMIT","")
           kernelsu_commit=env("KERNELSU_COMMIT","")
-          if ksun_commit: lines.append(f"| KernelSU-Next (SUSFS) | pershoot/KernelSU-Next#{ksun_branch} | `{ksun_commit[:12]}` `{ksun_commit}` |")
-          elif kernelsu_commit: lines.append(f"| KernelSU-Next (official) | KernelSU-Next/KernelSU-Next#dev | `{kernelsu_commit[:12]}` |")
+          if kernelsu_commit: lines.append(f"| KernelSU-Next (official) | KernelSU-Next/KernelSU-Next#dev | `{kernelsu_commit[:12]}` |")
           if ksu_commit: lines.append(f"| KernelSU (tiann) | tiann/KernelSU#main | `{ksu_commit[:12]}` `{ksu_commit}` |")
           if resukisu_commit: lines.append(f"| ReSukiSU | ReSukiSU/ReSukiSU#main | `{resukisu_commit[:12]}` `{resukisu_commit}` |")
-          if env("USE_SUSFS","true")=="true":
-              lines.append(f"| SUSFS | simonpunk/susfs4ksu | per-variant (see below) |")
           if env("USE_NOMOUNT","true")=="true":
               nm=env("NOMOUNT_COMMIT","")
               if nm: lines.append(f"| NoMount | maxsteeel/nomount#dev | `{nm[:12]}` `{nm}` |")

+ 54 - 9
.github/workflows/managers.yml

@@ -257,7 +257,7 @@ jobs:
                     exit 1
                   fi
                 fi
-                printf '{"flavor":"%s","owner":"%s","repo":"%s","source":"run","run_id":%s,"stock":"%s","want":"Manager-release,Spoofed-Manager-release,Manager-debug"}' \
+                printf '{"flavor":"%s","owner":"%s","repo":"%s","source":"run","run_id":%s,"stock":"%s","want":"Manager-release,Spoofed-Manager-release"}' \
                   "$flavor" "$owner" "$repo" "$run_id" "$stock"
                 ;;
 
@@ -364,6 +364,21 @@ jobs:
               fi
             )
           done
+          # Filter ReSukiSU to only release universal and universal spoofed
+          if grep -q "ReSukiSU|ReSukiSU|" "$MANIFEST" 2>/dev/null; then
+            tmp_manifest="${MANIFEST}.filtered"
+            : > "$tmp_manifest"
+            while IFS='|' read -r o r n; do
+              [ -n "$n" ] || continue
+              if [ "$o" = "ReSukiSU" ] && [ "$r" = "ReSukiSU" ]; then
+                ln=$(echo "$n" | tr '[:upper:]' '[:lower:]')
+                if [[ "$ln" != *universal* ]]; then echo "Dropping ReSukiSU non-universal $n" >&2; rm -f "$OUT_APKS/$n"; continue; fi
+                if [[ "$ln" == *debug* ]]; then echo "Dropping ReSukiSU debug $n" >&2; rm -f "$OUT_APKS/$n"; continue; fi
+              fi
+              echo "$o|$r|$n" >> "$tmp_manifest"
+            done < "$MANIFEST"
+            mv "$tmp_manifest" "$MANIFEST"
+          fi
           APK_JSON="[]"
           while IFS='|' read -r o r n; do
             [ -n "$n" ] || continue
@@ -817,22 +832,37 @@ jobs:
             # Upstream tiann: ./gradlew clean assembleRelease (repack is separate job — we just build manager here)
             gradle_build "clean assembleRelease" || gradle_build "assembleRelease" || true
           elif [ "$flavor" = "resukisu" ]; then
-            # Upstream ReSukiSU: assembleRelease + assembleDebug + randomizer
+            # Upstream ReSukiSU: assembleRelease + randomizer (only universal variants)
             gradle_build "clean assembleRelease" || true
-            gradle_build "assembleDebug" || true
+            # skip assembleDebug — only release universal and universal spoofed
             if [ -x ./randomizer ]; then
               ./randomizer 2>&1 | tail -20 || true
               gradle_build "clean assembleRelease" || true
             fi
           fi
-          # Collect
+          # Collect (only release variants for resukisu)
           out="/tmp/manager_apks_${flavor}"
           mkdir -p "$out"
-          for apk in app/build/outputs/apk/release/*.apk app/build/outputs/apk/debug/*.apk; do
-            [ -f "$apk" ] || continue
-            cp -f "$apk" "$out/${flavor}-$(basename "$apk")"
-            echo "Collected $out/${flavor}-$(basename "$apk")"
-          done
+          if [ "$flavor" = "resukisu" ]; then
+            for apk in app/build/outputs/apk/release/*.apk; do
+              [ -f "$apk" ] || continue
+              cp -f "$apk" "$out/${flavor}-$(basename "$apk")"
+              echo "Collected $out/${flavor}-$(basename "$apk")"
+            done
+            # Filter resukisu to only universal + not debug (release universal and universal spoofed)
+            for f in "$out"/*.apk; do
+              [ -f "$f" ] || continue
+              ln=$(basename "$f" | tr '[:upper:]' '[:lower:]')
+              if [[ "$ln" != *universal* ]]; then echo "Dropping resukisu non-universal $(basename "$f")" >&2; rm -f "$f"; continue; fi
+              if [[ "$ln" == *debug* ]]; then echo "Dropping resukisu debug $(basename "$f")" >&2; rm -f "$f"; continue; fi
+            done
+          else
+            for apk in app/build/outputs/apk/release/*.apk app/build/outputs/apk/debug/*.apk; do
+              [ -f "$apk" ] || continue
+              cp -f "$apk" "$out/${flavor}-$(basename "$apk")"
+              echo "Collected $out/${flavor}-$(basename "$apk")"
+            done
+          fi
           if [ -f /tmp/next-spoofed.apk ]; then cp -f /tmp/next-spoofed.apk "$out/${flavor}-spoofed.apk" || true; fi
           ls -lh "$out" 2>&1 | head -30 || true
           if [ -z "$(ls -A "$out" 2>/dev/null)" ]; then echo "WARNING: no APK produced for $flavor" >&2; fi
@@ -877,6 +907,21 @@ jobs:
           set -euo pipefail
           mkdir -p manager_apks
           find manager_apks -type f -name '*.apk' | sort | tee /tmp/list.txt || true
+          # Filter ReSukiSU to only universal release and universal spoofed
+          if grep -qi "resukisu" /tmp/list.txt 2>/dev/null; then
+            tmp_list="/tmp/list.filtered"
+            : > "$tmp_list"
+            while IFS= read -r f; do
+              [ -n "$f" ] || continue
+              ln=$(basename "$f" | tr '[:upper:]' '[:lower:]')
+              if [[ "$ln" == *resukisu* ]]; then
+                if [[ "$ln" != *universal* ]]; then echo "Dropping resukisu non-universal $f" >&2; rm -f "$f"; continue; fi
+                if [[ "$ln" == *debug* ]]; then echo "Dropping resukisu debug $f" >&2; rm -f "$f"; continue; fi
+              fi
+              echo "$f" >> "$tmp_list"
+            done < /tmp/list.txt
+            mv "$tmp_list" /tmp/list.txt
+          fi
           count=$(wc -l < /tmp/list.txt 2>/dev/null | tr -d ' ' || echo 0)
           echo "Found $count source-built manager APKs"
           ls -lh manager_apks 2>&1 | head -40 || true