@@ -405,6 +405,7 @@ runs:
405405 make -j$(nproc --all) O=out $MAKE_ARGS || exit 1
406406
407407 - name : Create Kernel ZIP
408+ id : create_zip
408409 shell : bash
409410 run : |
410411 CONFIG_DIR="$GITHUB_WORKSPACE/${{ env.CONFIG }}"
@@ -421,8 +422,66 @@ runs:
421422 echo "Creating zip file $ZIP_NAME in $ARTIFACTS_DIR..."
422423 zip -r "$ARTIFACTS_DIR/$ZIP_NAME" ./*
423424
425+ - name : Save Build Metadata
426+ shell : bash
427+ if : success() && steps.create_zip.conclusion == 'success'
428+ id : save_metadata
429+ run : |
430+ CONFIG_DIR="$GITHUB_WORKSPACE/${{ env.CONFIG }}"
431+ ARTIFACTS_DIR="$CONFIG_DIR/artifacts"
432+ cd "$ARTIFACTS_DIR"
433+ if [ -z "$(ls *.zip 2>/dev/null)" ]; then
434+ echo "No kernel zip found! Artifact upload might be fake."
435+ exit 1
436+ fi
437+
438+ cd "$CONFIG_DIR/kernel_platform/common"
439+ CONFIG_FILES=("build.config.common" "build.config.constants")
440+ BRANCH_LINE=""
441+
442+ for file in "${CONFIG_FILES[@]}"; do
443+ if [ -f "$file" ]; then
444+ line=$(grep '^[[:space:]]*BRANCH=' "$file" | head -n1 || true)
445+ if [ -n "$line" ]; then
446+ BRANCH_LINE="$line"
447+ echo "Found BRANCH in: $file"
448+ break # Found it — exit loop
449+ else
450+ echo "File exists but no BRANCH= found: $file"
451+ fi
452+ else
453+ echo "File not found: $file"
454+ fi
455+ done
456+
457+ if [ -z "$BRANCH_LINE" ]; then
458+ echo "Error: No BRANCH= found in any of: ${CONFIG_FILES[*]}"
459+ exit 1
460+ fi
461+
462+ BRANCH_VALUE="${BRANCH_LINE#*=}"
463+ ANDROID_VERSION="${BRANCH_VALUE%-*}"
464+
465+ if [ -z "$ANDROID_VERSION" ]; then
466+ echo "Error: Could not extract 'androidXX' from BRANCH='$BRANCH_VALUE'"
467+ exit 1
468+ fi
469+
470+ # Extract values using grep and awk
471+ VERSION=$(grep '^VERSION *=' Makefile | awk '{print $3}')
472+ PATCHLEVEL=$(grep '^PATCHLEVEL *=' Makefile | awk '{print $3}')
473+ SUBLEVEL=$(grep '^SUBLEVEL *=' Makefile | awk '{print $3}')
474+ FULL_VERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL"
475+
476+ echo "Kernel Version: $ANDROID_VERSION-$FULL_VERSION"
477+
478+ cd "$ARTIFACTS_DIR"
479+ echo "$ANDROID_VERSION-$FULL_VERSION" > ${{ inputs.model }}.txt
480+
424481 - name : Upload Artifacts
425482 uses : actions/upload-artifact@v4
426483 with :
427484 name : kernel-${{ env.CONFIG }}
428- path : ${{ env.CONFIG }}/artifacts/*.zip
485+ path : |
486+ ${{ env.CONFIG }}/artifacts/*.zip
487+ ${{ env.CONFIG }}/artifacts/${{ inputs.model }}.txt
0 commit comments