action.yml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. name: 'Setup Build Environment'
  2. description: 'Clones dependencies and exports mkbootimg/avbtool paths'
  3. inputs:
  4. version:
  5. description: 'Kernel config version (e.g., android12-5.10)'
  6. required: true
  7. sublevel:
  8. description: 'Kernel sublevel'
  9. required: true
  10. runs:
  11. using: composite
  12. steps:
  13. - shell: bash
  14. run: |
  15. set -euo pipefail
  16. git config --global user.name "github-actions[bot]"
  17. git config --global user.email "github-actions[bot]@users.noreply.github.com"
  18. mkdir -p "${{ github.workspace }}/kernel"
  19. mkdir -p "${{ github.workspace }}/git-repo"
  20. # Retry transient network errors (up to 5 attempts, 5s backoff).
  21. retry() {
  22. local n=0
  23. until [ "$n" -ge 5 ]; do
  24. "$@" && return 0
  25. n=$((n+1))
  26. echo "retry $n/5 failed for: $*"
  27. sleep 5
  28. done
  29. return 1
  30. }
  31. retry curl -L https://storage.googleapis.com/git-repo-downloads/repo -o "${{ github.workspace }}/git-repo/repo"
  32. chmod +x "${{ github.workspace }}/git-repo/repo"
  33. echo "${{ github.workspace }}/git-repo" >> "$GITHUB_PATH"
  34. if [ -d "${{ github.workspace }}/kernel_patches" ]; then rm -rf "${{ github.workspace }}/kernel_patches"; fi
  35. retry git clone https://github.com/WildKernels/kernel_patches.git "${{ github.workspace }}/kernel_patches"
  36. if [ -d "${{ github.workspace }}/AnyKernel3" ]; then rm -rf "${{ github.workspace }}/AnyKernel3"; fi
  37. retry git clone https://github.com/WildKernels/AnyKernel3.git -b gki-2.0 "${{ github.workspace }}/AnyKernel3"
  38. - name: Install build deps for BTF generation (android12-5.10)
  39. shell: bash
  40. if: ${{ inputs.version == 'android12-5.10' }}
  41. run: |
  42. set -euo pipefail
  43. sudo apt-get update -qq
  44. sudo apt-get install -y -qq dwarves libelf-dev