action.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. name: 'Apply Kernel Branding & Timestamp'
  2. description: 'Apply Wild kernel branding to kernel version string'
  3. inputs:
  4. variant:
  5. description: 'Variant of kernel to apply branding to'
  6. required: true
  7. kernel_version:
  8. description: 'Kernel version (e.g., 6.1)'
  9. required: true
  10. android_version:
  11. description: 'Android version (e.g., android14)'
  12. required: true
  13. sublevel:
  14. description: 'Sublevel of kernel version (e.g., 1)'
  15. required: true
  16. runs:
  17. using: "composite"
  18. steps:
  19. - name: Apply Kernel Name Branding
  20. shell: bash
  21. working-directory: ${{ github.workspace }}/kernel/common
  22. run: |
  23. CONFIG_FRAGMENT="${GITHUB_WORKSPACE}/wild_gki.fragment"
  24. touch "$CONFIG_FRAGMENT"
  25. DEFCONFIG="${GITHUB_WORKSPACE}/kernel/common/arch/arm64/configs/gki_defconfig"
  26. if [ "${{ inputs.variant }}" == "Wild" ]; then
  27. tac scripts/setlocalversion | awk '!seen && /^echo / {seen=1; next} 1' | tac > scripts/setlocalversion.tmp
  28. mv scripts/setlocalversion.tmp scripts/setlocalversion
  29. if [[ ${{ inputs.kernel_version }} == "6.6" || ${{ inputs.kernel_version }} == "6.12" ]]; then
  30. KERNEL_STRING="${{ inputs.kernel_version }}.${{ inputs.sublevel }}-${{ inputs.android_version }}"
  31. echo "echo \"$KERNEL_STRING-Wild\"" >> scripts/setlocalversion
  32. else
  33. echo 'echo "-Wild"' >> scripts/setlocalversion
  34. fi
  35. chmod +x scripts/setlocalversion
  36. else
  37. if grep -q '^CONFIG_LOCALVERSION=' "$DEFCONFIG"; then
  38. LOCALVERSION_VALUE="$(grep -m1 '^CONFIG_LOCALVERSION=' "$DEFCONFIG" | sed -E 's/^CONFIG_LOCALVERSION="?([^"]*)"?$/\1/')"
  39. echo "CONFIG_LOCALVERSION=\"${LOCALVERSION_VALUE}-Wild\"" >> "$CONFIG_FRAGMENT"
  40. else
  41. echo 'CONFIG_LOCALVERSION="-Wild"' >> "$CONFIG_FRAGMENT"
  42. fi
  43. fi
  44. : > .scmversion
  45. echo "Getting last commit timestamp from kernel source..."
  46. COMMIT_TIMESTAMP=$(git log -1 --format=%ct 2>/dev/null || echo "$(date +%s)")
  47. KERNEL_BUILD_DATE=$(date -u)
  48. export SOURCE_DATE_EPOCH=$COMMIT_TIMESTAMP
  49. echo "SOURCE_DATE_EPOCH=$COMMIT_TIMESTAMP" >> $GITHUB_ENV
  50. export KBUILD_BUILD_TIMESTAMP="$KERNEL_BUILD_DATE"
  51. echo "KBUILD_BUILD_TIMESTAMP=$KERNEL_BUILD_DATE" >> $GITHUB_ENV
  52. - name: Apply Kernel Configuration
  53. if: ${{ inputs.variant == 'Wild' }}
  54. shell: bash
  55. run: |
  56. cat >> "${{ github.workspace }}/wild_gki.fragment" << 'EOF'
  57. CONFIG_LOCALVERSION=""
  58. # CONFIG_LOCALVERSION_AUTO is not set
  59. EOF