Просмотр исходного кода

refactor: consolidate build summaries into single workflow-level summary

- kernel-fixes action now writes to temp file instead of GITHUB_STEP_SUMMARY
- build.yml uploads per-kernel summary as artifact instead of writing to step summary
- main.yml adds new 'summary' job that downloads all summaries and writes one consolidated GITHUB_STEP_SUMMARY
- cleanup step deletes summary files after consolidation
TheWildJames 2 месяцев назад
Родитель
Сommit
59e9dfad8f
3 измененных файлов с 93 добавлено и 17 удалено
  1. 18 17
      .github/actions/kernel-fixes/action.yml
  2. 28 0
      .github/workflows/build.yml
  3. 47 0
      .github/workflows/main.yml

+ 18 - 17
.github/actions/kernel-fixes/action.yml

@@ -89,42 +89,43 @@ runs:
     - name: 'Final Kernel Fixes Summary'
       shell: bash
       run: |
-        echo "## Final Kernel Fixes Summary" >> "$GITHUB_STEP_SUMMARY"
-        echo "" >> "$GITHUB_STEP_SUMMARY"
-        echo "**Kernel Version:** ${{ inputs.android_version }} + ${{ inputs.kernel_version }} (sublevel ${{ inputs.sublevel }})" >> "$GITHUB_STEP_SUMMARY"
-        echo "" >> "$GITHUB_STEP_SUMMARY"
-        echo "### Fix Status" >> "$GITHUB_STEP_SUMMARY"
+        SUMMARY_FILE="/tmp/kernel-fixes-summary.md"
+        echo "## Final Kernel Fixes Summary" >> "$SUMMARY_FILE"
+        echo "" >> "$SUMMARY_FILE"
+        echo "**Kernel Version:** ${{ inputs.android_version }} + ${{ inputs.kernel_version }} (sublevel ${{ inputs.sublevel }})" >> "$SUMMARY_FILE"
+        echo "" >> "$SUMMARY_FILE"
+        echo "### Fix Status" >> "$SUMMARY_FILE"
 
         GLIBC_VERSION="$(ldd --version 2>/dev/null | head -n 1 | awk '{print $NF}')"
         if [ "$(printf '%s\n' "2.38" "$GLIBC_VERSION" | sort -V | head -n 1)" = "2.38" ]; then
           if [ "${MAKEFILE_FIXED:-false}" = "true" ]; then
-            echo "- Makefile EXTRA_CFLAGS fix: applied" >> "$GITHUB_STEP_SUMMARY"
+            echo "- Makefile EXTRA_CFLAGS fix: applied" >> "$SUMMARY_FILE"
           elif [ "${MAKEFILE_FIXED:-false}" = "already_fixed" ]; then
-            echo "- Makefile EXTRA_CFLAGS fix: already present" >> "$GITHUB_STEP_SUMMARY"
+            echo "- Makefile EXTRA_CFLAGS fix: already present" >> "$SUMMARY_FILE"
           else
-            echo "- Makefile EXTRA_CFLAGS fix: pattern not found" >> "$GITHUB_STEP_SUMMARY"
+            echo "- Makefile EXTRA_CFLAGS fix: pattern not found" >> "$SUMMARY_FILE"
           fi
 
           if [ "${PARSE_OPTIONS_FIXED:-false}" = "true" ]; then
-            echo "- parse-options.c fix: applied" >> "$GITHUB_STEP_SUMMARY"
+            echo "- parse-options.c fix: applied" >> "$SUMMARY_FILE"
           else
-            echo "- parse-options.c fix: not applicable" >> "$GITHUB_STEP_SUMMARY"
+            echo "- parse-options.c fix: not applicable" >> "$SUMMARY_FILE"
           fi
         else
-          echo "- Makefile EXTRA_CFLAGS fix: skipped because GLIBC < 2.38" >> "$GITHUB_STEP_SUMMARY"
-          echo "- parse-options.c fix: skipped because GLIBC < 2.38" >> "$GITHUB_STEP_SUMMARY"
+          echo "- Makefile EXTRA_CFLAGS fix: skipped because GLIBC < 2.38" >> "$SUMMARY_FILE"
+          echo "- parse-options.c fix: skipped because GLIBC < 2.38" >> "$SUMMARY_FILE"
         fi
 
         if [ "${MMAP_NAMESPACE_FIX:-not_applicable}" = "true" ]; then
-          echo "- fs/namespace.c include fix: applied" >> "$GITHUB_STEP_SUMMARY"
+          echo "- fs/namespace.c include fix: applied" >> "$SUMMARY_FILE"
         elif [ "${MMAP_NAMESPACE_FIX:-not_applicable}" = "already_present" ]; then
-          echo "- fs/namespace.c include fix: already present" >> "$GITHUB_STEP_SUMMARY"
+          echo "- fs/namespace.c include fix: already present" >> "$SUMMARY_FILE"
         else
-          echo "- fs/namespace.c include fix: not applicable" >> "$GITHUB_STEP_SUMMARY"
+          echo "- fs/namespace.c include fix: not applicable" >> "$SUMMARY_FILE"
         fi
 
         if [ "${MMAP_VM_FLAGS_FIX:-not_applicable}" = "true" ]; then
-          echo "- mm/mmap.c VM_PAD_MASK fix: applied" >> "$GITHUB_STEP_SUMMARY"
+          echo "- mm/mmap.c VM_PAD_MASK fix: applied" >> "$SUMMARY_FILE"
         else
-          echo "- mm/mmap.c VM_PAD_MASK fix: not applicable" >> "$GITHUB_STEP_SUMMARY"
+          echo "- mm/mmap.c VM_PAD_MASK fix: not applicable" >> "$SUMMARY_FILE"
         fi

+ 28 - 0
.github/workflows/build.yml

@@ -351,6 +351,34 @@ jobs:
         bypass: true
         version: ${{ inputs.version }}
 
+    - name: 📋 Consolidated Build Summary
+      if: ${{ always() }}
+      shell: bash
+      run: |
+        SUMMARY_FILE="/tmp/build-summary-${{ steps.extract.outputs.file_name }}.md"
+        {
+          echo "## ${{ inputs.android_version }} ${{ inputs.kernel_version }}.${{ inputs.sublevel }} (${{ inputs.variant }})"
+          echo
+          # Kernel Fixes
+          if [ -f /tmp/kernel-fixes-summary.md ]; then
+            cat /tmp/kernel-fixes-summary.md
+            echo
+          fi
+          # Add more summary files here as other actions adopt this pattern:
+          # if [ -f /tmp/kernelsu-summary.md ]; then cat /tmp/kernelsu-summary.md; echo; fi
+          # if [ -f /tmp/susfs-summary.md ]; then cat /tmp/susfs-summary.md; echo; fi
+          # if [ -f /tmp/networking-summary.md ]; then cat /tmp/networking-summary.md; echo; fi
+        } > "$SUMMARY_FILE"
+
+    - name: Upload Build Summary Artifact
+      if: ${{ always() }}
+      uses: actions/upload-artifact@v7
+      with:
+        name: ${{ steps.extract.outputs.file_name }}-Summary
+        path: /tmp/build-summary-${{ steps.extract.outputs.file_name }}.md
+        if-no-files-found: ignore
+        compression-level: 9
+
     - name: Upload Artifacts
       uses: actions/upload-artifact@v7
       with:

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

@@ -214,6 +214,53 @@ jobs:
         path: AIO-REJ.zip
         if-no-files-found: ignore
 
+  summary:
+    if: ${{ !inputs.test_release_notes && always() }}
+    runs-on: ubuntu-latest
+    permissions:
+      actions: read
+      contents: read
+    needs:
+    - build-android12-5-10
+    - build-android13-5-10
+    - build-android13-5-15
+    - build-android14-5-15
+    - build-android14-6-1
+    - build-android15-6-6
+    - build-android16-6-12
+
+    steps:
+    - name: Download All Build Summaries
+      uses: actions/download-artifact@v7
+      with:
+        path: ./summaries
+        pattern: '*-Summary'
+        merge-multiple: true
+
+    - name: 📋 Workflow Build Summary
+      run: |
+        {
+          echo "# 📋 Workflow Build Summary"
+          echo
+          echo "**Feature Set:** ${{ inputs.feature_set }}"
+          echo "**Use Latest Commits:** ${{ inputs.use_latest_commits }}"
+          echo
+          echo "---"
+          echo
+          # Sort summaries so they appear in a consistent order
+          for f in ./summaries/*.md; do
+            [ -f "$f" ] || continue
+            cat "$f"
+            echo
+            echo "---"
+            echo
+          done
+        } >> "$GITHUB_STEP_SUMMARY"
+
+    - name: 🧹 Cleanup Summary Files
+      if: ${{ always() }}
+      run: rm -rf ./summaries
+
   release-preview:
     runs-on: ubuntu-latest
     if: ${{ github.event_name == 'workflow_dispatch' && inputs.test_release_notes == true }}