action.yml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. name: 'Build Kernel'
  2. description: 'Builds kernel using legacy build.sh or Bazel (kleaf)'
  3. runs:
  4. using: composite
  5. steps:
  6. - shell: bash
  7. working-directory: ${{ github.workspace }}/kernel
  8. run: |
  9. set -euo pipefail
  10. export CCACHE_DIR="$GITHUB_WORKSPACE/kernel/.ccache"
  11. export PATH="/usr/lib/ccache:$PATH"
  12. export CC="ccache gcc"
  13. export CXX="ccache g++"
  14. export CCACHE_MAXSIZE=1G
  15. export CCACHE_COMPILERCHECK=content
  16. export CCACHE_BASEDIR="$GITHUB_WORKSPACE"
  17. export CCACHE_NOHASHDIR=true
  18. export CCACHE_IGNOREOPTIONS=--sysroot*
  19. export CCACHE_COMPRESSION=true
  20. export CCACHE_COMPRESSION_LEVEL=3
  21. export CCACHE_DIRECT=true
  22. export CCACHE_FILE_CLONE=true
  23. export CCACHE_INODE_CACHE=true
  24. export CCACHE_UMASK=002
  25. export CCACHE_SLOPPINESS="file_macro,time_macros,include_file_mtime,include_file_ctime,pch_defines,system_headers,locale"
  26. if ccache --help 2>&1 | grep -q 'depend_mode'; then
  27. export CCACHE_DEPEND=true
  28. fi
  29. echo "✅ ccache environment variables set"
  30. ccache -p
  31. if [ -f "build/build.sh" ]; then
  32. SKIP_MRPROPER=1 SKIP_EXT_MODULES=1 SKIP_CP_KERNEL_HDR=1 GKI_DEFCONFIG_FRAGMENT="$GITHUB_WORKSPACE/wild_gki.fragment" BUILD_CONFIG=common/build.config.gki.aarch64 CC="$CC" CXX="$CXX" build/build.sh
  33. else
  34. cp "$GITHUB_WORKSPACE/wild_gki.fragment" common/arch/arm64/configs/wild_gki.fragment
  35. tools/bazel build --config=release --notrim --use_ccache --defconfig_fragment=//common:arch/arm64/configs/wild_gki.fragment //common:kernel_aarch64
  36. fi