Skip to content

build

build #56

Workflow file for this run

name: build
on:
workflow_dispatch:
inputs:
LLVM_VER:
description: 'LLVM_VER (Specify LLVM Version)'
required: true
default: '20'
KERNEL_VER:
description: 'KERNEL_VER (Specify XANMOD branch to build)'
required: true
default: '6.12'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Environment Variables
run: |
echo 'LLVM_VER == > ${{ github.event.inputs.LLVM_VER }}'
echo 'KERNEL_VER == > ${{ github.event.inputs.KERNEL_VER }}'
- name: Install packages & setup
run: |
sudo apt update
sudo apt purge firefox -y
sudo apt upgrade
sudo apt install \
wget \
build-essential \
bison \
flex \
pkg-config \
qtcreator \
qtbase5-dev \
qt5-qmake \
qttools5-dev-tools \
libssl-dev \
libncurses-dev \
git \
libelf-dev \
lz4 \
debhelper \
dh-virtualenv \
zstd \
elfutils -y
- name: Setup Clang/LLVM
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh ${{ github.event.inputs.LLVM_VER }}
- name: Set Swap Space
uses: pierotofy/set-swap-space@master
with:
swap-size-gb: 12
- name: Clone Kernel Source
run: |
git clone --depth=1 https://gitlab.com/xanmod/linux -b ${{ github.event.inputs.KERNEL_VER }} kernel/xanmod
- name: Run Build
run: |
cp config kernel/xanmod/arch/x86/configs/omen16_defconfig
cp zen4_clang.patch kernel/xanmod/
cd kernel/xanmod
echo " "
echo " "
echo "===="
echo "===="
echo "====patching for zen4===="
git apply zen4_clang.patch
echo "====done===="
echo "===="
echo "===="
echo " "
echo " "
make clean
rm -rf vmlinux-gdb.py
ARGS='
CC=clang${LLVM_SUFFIX}
LD=ld.lld${LLVM_SUFFIX}
LLVM=1
LLVM_IAS=1
LLVM_SUFFIX=-${{ github.event.inputs.LLVM_VER }}
'
export LLVM_SUFFIX=-${{ github.event.inputs.LLVM_VER }}
make ${ARGS} omen16_defconfig
make ${ARGS} LOCALVERSION=-clang-${{ github.event.inputs.LLVM_VER }} deb-pkg -j$(nproc)
cd ..
cp xanmod/.config config
rm -rf xanmod *.gz *.dsc *.buildinfo *.changes
- name: Upload kernel
uses: actions/upload-artifact@v4
with:
name: Xanmod-${{ github.event.inputs.KERNEL_VER }}-${{ github.event.inputs.LLVM_VER }}
path: kernel/
compression-level: 0