action.yml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. name: change clang variables to ccache clang
  2. description: change clang cariable to ccache clang
  3. runs:
  4. using: composite
  5. steps:
  6. - name: change variables
  7. shell: bash
  8. run: |
  9. cd "$CONFIG"
  10. if [[ -d kernel_platform ]]; then
  11. cd kernel_platform
  12. touch .bazelrc
  13. cat >> .bazelrc << 'EOF'
  14. #build --disk_cache=${{ env.BCACHE_DIR }}
  15. build --sandbox_writable_path=${{ env.CCACHE_DIR }}
  16. build --action_env=CC="ccache clang"
  17. build --action_env=CXX="ccache clang++"
  18. build --action_env=HOSTCC="ccache clang"
  19. build --action_env=HOSTCXX="ccache clang++"
  20. EOF
  21. else
  22. touch .bazelrc
  23. cat >> .bazelrc << 'EOF'
  24. #build --disk_cache=${{ env.BCACHE_DIR }}
  25. build --sandbox_writable_path=${{ env.CCACHE_DIR }}
  26. build --action_env=CC="ccache clang"
  27. build --action_env=CXX="ccache clang++"
  28. build --action_env=HOSTCC="ccache clang"
  29. build --action_env=HOSTCXX="ccache clang++"
  30. EOF
  31. fi
  32. - name: wrap ccache clang in directory
  33. shell: bash
  34. run: |
  35. if [[ -d kernel_platform ]]; then
  36. # Find clang bin dir dynamically
  37. CLANG_BIN=$(find kernel_platform/prebuilts/clang/host/linux-x86 -type d -name bin | head -n 1)
  38. echo "Using clang bin at: $CLANG_BIN"
  39. # Wrap clang
  40. mv "$CLANG_BIN/clang" "$CLANG_BIN/clang.real"
  41. cat > "$CLANG_BIN/clang" << 'EOF'
  42. #!/bin/bash
  43. exec ccache "$(dirname "$0")/clang.real" "$@"
  44. EOF
  45. chmod +x "$CLANG_BIN/clang"
  46. # Wrap clang++
  47. mv "$CLANG_BIN/clang++" "$CLANG_BIN/clang++.real"
  48. cat > "$CLANG_BIN/clang++" << 'EOF'
  49. #!/bin/bash
  50. exec ccache "$(dirname "$0")/clang++.real" "$@"
  51. EOF
  52. chmod +x "$CLANG_BIN/clang++"
  53. fi