name: build kernel description: each samsung kernel has its own way of building the kernel, they are sorted here. inputs: ccache: description: 'build with ccache' required: true build_type: description: 'make or bazel' required: true runs: using: composite steps: - name: start bazel build if: inputs.build_type == 'Bazel' shell: bash run: | set -e set -x cd "$CONFIG" echo "Building the kernel..." # 1. Initialize variables as empty (clears them out for "default") BAZEL_LTO="" SCRIPT_LTO="" # 2. Only populate if explicit modifications are requested if [[ "$BUILD_LTO" == "thin" || "$BUILD_LTO" == "full" ]]; then BAZEL_LTO="--lto=$BUILD_LTO" SCRIPT_LTO="LTO=$BUILD_LTO" fi if [[ $BRANCH == SM-A055* || $BRANCH == SM-X926B* ]]; then chmod +x build_kernel.sh env $SCRIPT_LTO ./build_kernel.sh elif [[ $BRANCH == SM-S926* ]]; then #tools/bazel run --nocheck_bzl_visibility --config=stamp --sandbox_debug --verbose_failures --debug_make_verbosity=I //projects/s5e9945:s5e9945_user_dist tools/bazel build --nocheck_bzl_visibility --config=stamp --sandbox_debug --verbose_failures --debug_make_verbosity=I $BAZEL_LTO //projects/s5e9945:s5e9945_user elif [[ $BRANCH == SM-A556* ]]; then #tools/bazel run --nocheck_bzl_visibility --config=stamp --sandbox_debug --verbose_failures --debug_make_verbosity=I //projects/s5e8845:s5e8845_user_dist tools/bazel build --nocheck_bzl_visibility --config=stamp --sandbox_debug --verbose_failures --debug_make_verbosity=I $BAZEL_LTO //projects/s5e8845:s5e8845_user elif [[ $BRANCH == SM-S938B* ]]; then sed -i '/drivers\/net\/usb\/smsc75xx\.ko/d;/drivers\/net\/usb\/smsc95xx\.ko/d' kernel_platform/common/modules.bzl chmod +x build_kernel_GKI.sh env $SCRIPT_LTO ./build_kernel_GKI.sh elif [[ $KERNEL_VER == 6.* ]]; then chmod +x build_kernel_GKI.sh env $SCRIPT_LTO ./build_kernel_GKI.sh elif [[ -d kernel_platform ]]; then cd kernel_platform tools/bazel build $BAZEL_LTO //common:kernel_aarch64 fi - name: start make build if: inputs.build_type == 'make' shell: bash run: | set -e set -x # 1. Initialize variables as empty (clears them out for "default") SCRIPT_LTO="" # 2. Only populate if explicit modifications are requested if [[ "$BUILD_LTO" == "thin" || "$BUILD_LTO" == "full" ]]; then SCRIPT_LTO="LTO=$BUILD_LTO" fi cd "$CONFIG" if [[ -f build_kernel_GKI.sh ]]; then chmod +x build_kernel_GKI.sh env $SCRIPT_LTO ./build_kernel_GKI.sh elif [[ -f build_kernel.sh ]]; then sudo apt update sudo apt-get install -y libyaml-dev chmod +x build_kernel.sh env $SCRIPT_LTO ./build_kernel.sh fi #if [[ $BRANCH == SM-S928B* || "$BRANCH" == "SM-S938B-Oneui7" || "$BRANCH" == "SM-S931B-Oneui8" || "$BRANCH" == "SM-F741B-Oneui8" || "$BRANCH" == "SM-X710-Oneui6.1.1" ]]; then #cd kernel_platform #tools/bazel build //common:kernel_aarch64 #chmod +x build_kernel_GKI.sh #./build_kernel_GKI.sh || true #elif [[ "$BRANCH" == "SM-X916B" || "$BRANCH" == "SM-F946N-Oneui7" || "$BRANCH" == "SM-S916B-Oneui8" || "$BRANCH" == "SM-S918B-Oneui8" || "$BRANCH" == "SM-F946B-Oneui8" || "$BRANCH" == "SM-S901E-Oneui8" || "$BRANCH" == "SM-X800-Oneui8" || $BRANCH == SM-S911B* || "$BRANCH" == "SM-M556B-Oneui8" ]]; then #cd kernel_platform #tools/bazel build //common:kernel_aarch64 #chmod +x build_kernel_GKI.sh #./build_kernel_GKI.sh || true #elif [[ $BRANCH == SM-A546* || "$BRANCH" == "SM-M146B-Oneui7-ADYJ2" || "$BRANCH" == "SM-S908B-Oneui8-bitK" || $BRANCH == SM-A055* || "$BRANCH" == "SM-X610-Oneui6.1.1-bit7" || "$BRANCH" == "SM-A166B-Oneui7" ]]; then #sudo apt update #sudo apt-get install -y libyaml-dev #chmod +x build_kernel.sh #./build_kernel.sh || true #elif [[ "$BRANCH" == "SM-A566B" ]]; then #chmod +x build_script.sh #touch ./kernel-6.6/abi_symbollist.raw #touch ./kernel-6.6/abi_symbollist #./build_script.sh || true #elif [[ "$BRANCH" == "SM-A075M-Oneui7" ]]; then #chmod +x build_kernel.sh #./build_kernel.sh #fi