action.yml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. name: 'Setup Build Environment'
  2. description: 'Clones dependencies and exports mkbootimg/avbtool paths'
  3. runs:
  4. using: composite
  5. steps:
  6. - shell: bash
  7. run: |
  8. set -euo pipefail
  9. # Setup ccache for both build.sh and Bazel
  10. sudo apt-get update && sudo apt-get install -y ccache
  11. export CCACHE_DIR="$GITHUB_WORKSPACE/.ccache"
  12. export CC="ccache gcc"
  13. export CXX="ccache g++"
  14. echo "CCACHE_DIR=$GITHUB_WORKSPACE/.ccache" >> "$GITHUB_ENV"
  15. echo "CC='ccache gcc'" >> "$GITHUB_ENV"
  16. echo "CXX='ccache g++'" >> "$GITHUB_ENV"
  17. echo "$GITHUB_WORKSPACE/.ccache" > "$GITHUB_PATH"
  18. # For Bazel (kleaf), set up remote and disk cache if needed
  19. echo "BAZEL_CACHE_DIR=$GITHUB_WORKSPACE/.cache/bazel" >> "$GITHUB_ENV"
  20. mkdir -p "$GITHUB_WORKSPACE/.cache/bazel"
  21. mkdir -p "$GITHUB_WORKSPACE/kernel"
  22. mkdir -p "$GITHUB_WORKSPACE/git-repo"
  23. curl -L https://storage.googleapis.com/git-repo-downloads/repo -o "$GITHUB_WORKSPACE/git-repo/repo"
  24. chmod +x "$GITHUB_WORKSPACE/git-repo/repo"
  25. echo "$GITHUB_WORKSPACE/git-repo" >> "$GITHUB_PATH"
  26. if [ -d "$GITHUB_WORKSPACE/kernel_patches" ]; then rm -rf "$GITHUB_WORKSPACE/kernel_patches"; fi
  27. git clone https://github.com/WildKernels/kernel_patches.git "$GITHUB_WORKSPACE/kernel_patches"
  28. if [ -d "$GITHUB_WORKSPACE/AnyKernel3" ]; then rm -rf "$GITHUB_WORKSPACE/AnyKernel3"; fi
  29. git clone https://github.com/WildKernels/AnyKernel3.git -b gki-2.0 "$GITHUB_WORKSPACE/AnyKernel3"
  30. AOSP_MIRROR=https://android.googlesource.com
  31. BRANCH=main-kernel-2025
  32. git clone $AOSP_MIRROR/kernel/prebuilts/build-tools -b $BRANCH --depth 1 kernel-build-tools
  33. git clone $AOSP_MIRROR/platform/system/tools/mkbootimg -b $BRANCH --depth 1 mkbootimg
  34. echo "AVBTOOL=$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/bin/avbtool" >> "$GITHUB_ENV"
  35. echo "MKBOOTIMG=$GITHUB_WORKSPACE/mkbootimg/mkbootimg.py" >> "$GITHUB_ENV"
  36. echo "UNPACK_BOOTIMG=$GITHUB_WORKSPACE/mkbootimg/unpack_bootimg.py" >> "$GITHUB_ENV"
  37. echo "BOOT_SIGN_KEY_PATH=$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/share/avb/testkey_rsa2048.pem" >> "$GITHUB_ENV"
  38. mkdir -p "$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/share/avb"
  39. if [ -z "${BOOT_SIGN_KEY:-}" ]; then
  40. exit 1
  41. fi
  42. KEY_PATH="$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/share/avb/testkey_rsa2048.pem"
  43. printf '%s' "$BOOT_SIGN_KEY" > "$KEY_PATH"
  44. if ! head -n 1 "$KEY_PATH" | grep -q 'BEGIN'; then
  45. printf '%s' "$BOOT_SIGN_KEY" | base64 -d > "$KEY_PATH"
  46. fi
  47. chmod 600 "$KEY_PATH"