Jelajahi Sumber

ci(workflows): simplify artifact handling and add disk cleanup

Remove redundant artifact copies and consolidate reject file handling
Add disk space cleanup step before build to prevent storage issues
TheWildJames 8 bulan lalu
induk
melakukan
832a7c0152
2 mengubah file dengan 34 tambahan dan 24 penghapusan
  1. 4 12
      .github/workflows/build.yml
  2. 30 12
      .github/workflows/main.yml

+ 4 - 12
.github/workflows/build.yml

@@ -763,14 +763,8 @@ jobs:
         # Copy Image from normal build locations
         if [ -f "$KERNEL_ROOT/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist/Image" ]; then
           cp "$KERNEL_ROOT/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist/Image" "$ANYKERNEL3/Image"
-          cp "$KERNEL_ROOT/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist/Image" "./${{ env.FILE_NAME }}-Image"
-          gzip -n -k -f -9 "./${{ env.FILE_NAME }}-Image"
-          cp "$KERNEL_ROOT/out/${{ inputs.android_version }}-${{ inputs.kernel_version }}/dist/Image.lz4" "././${{ env.FILE_NAME }}-Image.lz4"
         elif [ -f "$KERNEL_ROOT/bazel-bin/common/kernel_aarch64/Image" ]; then
           cp "$KERNEL_ROOT/bazel-bin/common/kernel_aarch64/Image" "$ANYKERNEL3/Image"
-          cp "$KERNEL_ROOT/bazel-bin/common/kernel_aarch64/Image" "./${{ env.FILE_NAME }}-Image"
-          gzip -n -k -f -9 "./${{ env.FILE_NAME }}-Image"
-          cp "$KERNEL_ROOT/bazel-bin/common/kernel_aarch64/Image.lz4" "./${{ env.FILE_NAME }}-Image.lz4"
         else
           echo "Error: Image file not found in any expected location"
           exit 1
@@ -832,14 +826,12 @@ jobs:
         if-no-files-found: ignore
         compression-level: 9
 
-    - name: Upload Misc Files
-      if: ${{ always() }}
+    - name: Upload Rejects
+      if: ${{ always() && matrix.build_type != 'Bypass' }}
       uses: actions/upload-artifact@v4
       with:
-        name: ${{ env.FILE_NAME }}-Misc
-        path: |
-          ${{ env.FILE_NAME }}-*
-          patch-rejects/**
+        name: ${{ env.FILE_NAME }}-Rejects
+        path: patch-rejects/
         if-no-files-found: ignore
         compression-level: 9
 

+ 30 - 12
.github/workflows/main.yml

@@ -164,31 +164,32 @@ jobs:
       uses: actions/download-artifact@v5
       with:
         path: ./downloaded-artifacts
-        pattern: '*-Normal-Misc'
+        pattern: '*-Rejects'
 
     - name: Process Reject Artifacts
       run: |
         mkdir -p aio-rejects
         
-        # Iterate over Misc artifacts in downloaded-artifacts
-        for dir in ./downloaded-artifacts/*-Normal-Misc; do
+        # Iterate over Rejects artifacts in downloaded-artifacts
+        for dir in ./downloaded-artifacts/*-Rejects; do
             # Ensure it is a directory
             [ -d "$dir" ] || continue
             
             dirname=$(basename "$dir")
             echo "Processing $dirname..."
             
-            # Check for patch-rejects folder
+            # Get original name (remove -Rejects suffix)
+            original_name=${dirname%-Rejects}
+            
+            mkdir -p "aio-rejects/$original_name"
+            
+            # Check for patch-rejects folder (legacy structure) or direct contents
             if [ -d "$dir/patch-rejects" ]; then
-                echo "Found patch-rejects in $dirname"
-                
-                # Get original name (remove -Misc suffix)
-                original_name=${dirname%-Misc}
-                
-                # Move and rename patch-rejects to aio-rejects/original_name
-                mv "$dir/patch-rejects" "aio-rejects/$original_name"
+                echo "Found patch-rejects subdir in $dirname"
+                cp -r "$dir/patch-rejects/." "aio-rejects/$original_name/"
             else
-                echo "No patch-rejects found in $dirname"
+                echo "Copying contents from $dirname"
+                cp -r "$dir/." "aio-rejects/$original_name/"
             fi
         done
         
@@ -229,6 +230,22 @@ jobs:
       RELEASE_NAME: "!!TESTING!! GKI Kernels With KernelSU-Next & SUSFS v2.0.0 !!TESTING!!"
       RELEASE_BODY: ""
     steps:
+    - name: Free Disk Space
+      if: true
+      uses: endersonmenezes/free-disk-space@v3  # Use @main for latest, @v3 for stable
+      with:
+        remove_android: true
+        remove_dotnet: true
+        remove_haskell: true
+        remove_tool_cache: true
+        remove_swap: true
+        remove_packages: "azure-cli google-cloud-cli microsoft-edge-stable google-chrome-stable firefox postgresql* temurin-* *llvm* mysql* dotnet-sdk-*"
+        remove_packages_one_command: true
+        remove_folders: "/usr/share/swift /usr/share/miniconda /usr/share/az* /usr/local/lib/node_modules /usr/local/share/chromium /usr/local/share/powershell /usr/local/julia /usr/local/aws-cli /usr/local/aws-sam-cli /usr/share/gradle"
+        rm_cmd: "rmz"  # Use 'rmz' for faster deletion (default: 'rm')
+        rmz_version: "3.1.1"  # Required when rm_cmd is 'rmz'
+        testing: false
+
     - name: Checkout code
       uses: actions/checkout@v4
 
@@ -320,6 +337,7 @@ jobs:
         pattern: '*-AnyKernel3'
 
     - name: Upload Release Assets
+      if:
       run: |+
         shopt -s nullglob
         anykernel_dirs=(./downloaded-artifacts/*-AnyKernel3/)