action.yml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. name: 'Setup Build Environment'
  2. description: 'Clones dependencies and exports mkbootimg/avbtool paths'
  3. inputs:
  4. patches_commit:
  5. required: false
  6. anykernel_commit:
  7. required: false
  8. runs:
  9. using: composite
  10. steps:
  11. - shell: bash
  12. run: |
  13. set -euo pipefail
  14. mkdir -p "$GITHUB_WORKSPACE/kernel"
  15. mkdir -p "$GITHUB_WORKSPACE/git-repo"
  16. curl -L https://storage.googleapis.com/git-repo-downloads/repo -o "$GITHUB_WORKSPACE/git-repo/repo"
  17. chmod +x "$GITHUB_WORKSPACE/git-repo/repo"
  18. echo "$GITHUB_WORKSPACE/git-repo" >> "$GITHUB_PATH"
  19. if [ -n "${{ inputs.patches_commit }}" ]; then
  20. if [ -d "$GITHUB_WORKSPACE/kernel_patches" ]; then rm -rf "$GITHUB_WORKSPACE/kernel_patches"; fi
  21. git clone https://github.com/WildKernels/kernel_patches.git "$GITHUB_WORKSPACE/kernel_patches"
  22. cd "$GITHUB_WORKSPACE/kernel_patches"
  23. git checkout "${{ inputs.patches_commit }}"
  24. cd "$GITHUB_WORKSPACE"
  25. else
  26. git clone https://github.com/WildKernels/kernel_patches.git "$GITHUB_WORKSPACE/kernel_patches"
  27. fi
  28. if [ -n "${{ inputs.anykernel_commit }}" ]; then
  29. if [ -d "$GITHUB_WORKSPACE/AnyKernel3" ]; then rm -rf "$GITHUB_WORKSPACE/AnyKernel3"; fi
  30. git clone https://github.com/WildKernels/AnyKernel3.git "$GITHUB_WORKSPACE/AnyKernel3"
  31. cd "$GITHUB_WORKSPACE/AnyKernel3"
  32. git checkout "${{ inputs.anykernel_commit }}"
  33. cd "$GITHUB_WORKSPACE"
  34. elif [ ! -d "$GITHUB_WORKSPACE/AnyKernel3" ]; then
  35. git clone https://github.com/WildKernels/AnyKernel3.git -b gki-2.0 "$GITHUB_WORKSPACE/AnyKernel3"
  36. fi
  37. AOSP_MIRROR=https://android.googlesource.com
  38. BRANCH=main-kernel-2025
  39. git clone $AOSP_MIRROR/kernel/prebuilts/build-tools -b $BRANCH --depth 1 kernel-build-tools
  40. git clone $AOSP_MIRROR/platform/system/tools/mkbootimg -b $BRANCH --depth 1 mkbootimg
  41. echo "AVBTOOL=$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/bin/avbtool" >> "$GITHUB_ENV"
  42. echo "MKBOOTIMG=$GITHUB_WORKSPACE/mkbootimg/mkbootimg.py" >> "$GITHUB_ENV"
  43. echo "UNPACK_BOOTIMG=$GITHUB_WORKSPACE/mkbootimg/unpack_bootimg.py" >> "$GITHUB_ENV"
  44. echo "BOOT_SIGN_KEY_PATH=$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/share/avb/testkey_rsa2048.pem" >> "$GITHUB_ENV"
  45. mkdir -p "$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/share/avb"
  46. if [ -z "${BOOT_SIGN_KEY:-}" ]; then
  47. exit 1
  48. fi
  49. KEY_PATH="$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/share/avb/testkey_rsa2048.pem"
  50. printf '%s' "$BOOT_SIGN_KEY" > "$KEY_PATH"
  51. if ! head -n 1 "$KEY_PATH" | grep -q 'BEGIN'; then
  52. printf '%s' "$BOOT_SIGN_KEY" | base64 -d > "$KEY_PATH"
  53. fi
  54. chmod 600 "$KEY_PATH"