action.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. name: 'Build Kernel'
  2. description: 'Builds kernel using legacy build.sh or Bazel (kleaf)'
  3. inputs:
  4. version:
  5. description: 'Kernel config version (e.g., android14-6.1)'
  6. required: true
  7. runs:
  8. using: composite
  9. steps:
  10. - name: Setup Kernel Configs
  11. if: false
  12. uses: ./.github/actions/set-kernel-config
  13. - name: 'Build Kernel'
  14. shell: bash
  15. working-directory: ${{ github.workspace }}/kernel
  16. run: |
  17. sed -i 's/check_defconfig//' ./common/build.config.gki
  18. if [ -f "build/build.sh" ]; then
  19. BUILD_GKI_ARTIFACTS="" \
  20. BUILD_GKI_CERTIFICATION_TOOLS=0 \
  21. BUILD_SYSTEM_DLKM=0 \
  22. SKIP_VENDOR_BOOT=1 \
  23. SKIP_EXT_MODULES=1 \
  24. SKIP_CP_KERNEL_HDR=1 \
  25. OUT_DIR="/home/runner/out" \
  26. LTO=thin \
  27. BUILD_CONFIG=common/build.config.gki.aarch64 \
  28. CC="/usr/bin/ccache clang" \
  29. CXX="/usr/bin/ccache clang++" \
  30. HOSTCC="/usr/bin/ccache clang" \
  31. HOSTCXX="/usr/bin/ccache clang++" \
  32. build/build.sh -j"$(nproc)"
  33. else
  34. sed -i '/name = "kernel_aarch64",/a\ check_defconfig = "disabled",' common/BUILD.bazel
  35. tools/bazel build \
  36. --config=fast \
  37. --disk_cache=/home/runner/.cache/bazel \
  38. //common:kernel_aarch64/Image
  39. fi
  40. - name: 'Gather Build Artifacts'
  41. shell: bash
  42. working-directory: ${{ github.workspace }}/kernel
  43. run: |
  44. set -euo pipefail
  45. if [ -f "bazel-bin/common/kernel_aarch64/Image" ]; then
  46. echo "Found Image at bazel-bin/common/kernel_aarch64/Image"
  47. cp "bazel-bin/common/kernel_aarch64/Image" "${{ github.workspace }}/AnyKernel3/Image"
  48. exit 0
  49. fi
  50. if [ -f "/home/runner/out/dist/Image" ]; then
  51. echo "Found Image at /home/runner/out/dist/Image"
  52. cp "/home/runner/out/dist/Image" "${{ github.workspace }}/AnyKernel3/Image"
  53. exit 0
  54. fi
  55. exit 1