Building kernel (with older toolchains) #8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Building kernel (with older toolchains) | |
on: # [push] | |
# release: | |
# types: [published] | |
# push: | |
# branches: | |
# - master | |
# paths: | |
# - '.config' | |
# schedule: | |
# - cron: 0 8 * * 5 | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
inputs: | |
COMPILER: | |
description: 'compilers used' | |
required: true | |
default: 'Proton-Clang' | |
KREPO: | |
description: 'kernel repo' | |
required: true | |
default: 'TelegramAt25/android_kernel_xiaomi_selene' | |
KBRANCH: | |
description: 'kernel branch' | |
required: true | |
default: 'niigo' | |
NOTES: | |
description: 'notes to print out' | |
required: false | |
default: '' | |
SUFFIX: | |
description: 'suffix to aplly to teh zip filename' | |
required: false | |
default: '' | |
ZREPO: | |
description: 'zipper repo' | |
required: false | |
default: '' | |
ZBRANCH: | |
description: 'zipper branch' | |
required: false | |
default: '' | |
KSU: | |
description: 'if dont want ksu then leave blank' | |
required: false | |
default: '' | |
TG_RECIPENT: | |
description: 'idk' | |
required: false | |
default: '' | |
CONTAINER: | |
description: 'if you know you know' | |
required: true | |
default: 'debian:buster' | |
env: | |
BOT_TOKEN: ${{ secrets.BOT_TOKEN }} | |
CHAT_ID: ${{ secrets.CHAT_ID }} | |
REPO: ${{ github.event.inputs.KREPO }} | |
RUN_NUM: ${{ github.run_number }}_${{ github.run_attempt }} | |
KERNEL_BRANCH: ${{ github.event.inputs.KBRANCH }} | |
NOTE: ${{ github.event.inputs.NOTES }} | |
COMPILERS: ${{ github.event.inputs.COMPILER }} | |
PATCH_KSU: ${{ github.event.inputs.KSU }} | |
SUFFIX: ${{ github.event.inputs.SUFFIX }} | |
zipper_repo: ${{ github.event.inputs.ZREPO }} | |
zipper_branch: ${{ github.event.inputs.ZBRANCH }} | |
TZ: Asia/Ho_Chi_Minh | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
container: | |
image: ${{ github.event.inputs.CONTAINER }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@master | |
- name: why | |
run: | | |
echo WORKFLOW_START=$(date +"%s") >> $GITHUB_ENV | |
ALT_RECIPENT=${{ github.event.inputs.TG_RECIPENT }} | |
if [ ! -z $ALT_RECIPENT ]; then | |
echo CHAT_ID="$ALT_RECIPENT" >> $GITHUB_ENV | |
fi | |
#- name: start of workflow | |
# run: | | |
# bash tg_utils.sh msg "gh $RUN_NUM: workflow started" | |
- name: init build env | |
run: | | |
apt-get update | |
apt-get install llvm lld bc bison ca-certificates curl flex gcc git libc6-dev \ | |
libssl-dev openssl python3 python2 zip zstd make clang gcc-arm-linux-gnueabi \ | |
software-properties-common device-tree-compiler libxml2 libarchive-tools \ | |
perl libelf-dev libssl-dev libtfm-dev wget xz-utils -y | |
ln -sf "/usr/bin/python3" /usr/bin/python | |
- name: show host info | |
run: | | |
bash tg_utils.sh msg "gh $RUN_NUM: build env initialized%nlgh $RUN_NUM: host: $(cat /etc/os-release | grep PRETTY_NAME | cut -d'=' -f2)%nlgh $RUN_NUM: free disk space: $(df --sync -BM --output=avail / | grep -v Avail)" | |
- name: print notes if exists | |
run: | | |
if [ ! -z $NOTE ]; then | |
bash tg_utils.sh msg "gh $RUN_NUM: $NOTE" | |
fi | |
- name: clone kernel source | |
run: | | |
bash tg_utils.sh msg "gh $RUN_NUM: cloning kernel source%nlgh $RUN_NUM: repo: $REPO%nlgh $RUN_NUM: branch: $KERNEL_BRANCH" | |
git clone --depth=1 --single-branch https://github.com/$REPO -b $KERNEL_BRANCH kernel | |
- name: print kernel info | |
run: | | |
cd kernel | |
. ../env | |
bash ../tg_utils.sh msg "gh $RUN_NUM: kernel name: ${kernel_name}%nlgh $RUN_NUM: kernel ver: ${kernel_ver}%nlgh $RUN_NUM: kernel head commit: ${kernel_head}%nlgh $RUN_NUM: defconfig: ${defconfig}" | |
- name: run compilation scripts | |
run: | | |
cd kernel | |
case $PATCH_KSU in | |
"both" ) | |
bash ../tg_utils.sh msg "gh $RUN_NUM: running compilation script(s): $COMPILERS" | |
bash ../build.sh "$COMPILERS" | |
bash ../tg_utils.sh msg "gh $RUN_NUM: KernelSU patching enabled, patching" | |
bash ../ksu/applyPatches.sh | |
bash ../tg_utils.sh msg "gh $RUN_NUM: running compilation script(s): $COMPILERS" | |
bash ../build.sh "$COMPILERS" | |
;; | |
"" ) | |
bash ../tg_utils.sh msg "gh $RUN_NUM: running compilation script(s): $COMPILERS" | |
bash ../build.sh "$COMPILERS" | |
;; | |
* ) | |
bash ../tg_utils.sh msg "gh $RUN_NUM: KernelSU patching enabled, patching" | |
bash ../ksu/applyPatches.sh | |
bash ../tg_utils.sh msg "gh $RUN_NUM: running compilation script(s): $COMPILERS" | |
bash ../build.sh "$COMPILERS" | |
;; | |
esac | |
- name: print unotes if exists | |
run: | | |
if [ ! -z $UNOTE ]; then | |
bash tg_utils.sh msg "gh $RUN_NUM: $UNOTE" | |
fi | |
- name: upload | |
run: | | |
cd kernel | |
if [ $(ls *.zip) ]; then | |
for file in *.zip ; do | |
bash ../tg_utils.sh up "${file}" "$(cat "${file}.info")" | |
done | |
fi | |
if [ $(ls *.log) ]; then | |
for file in *.log ; do | |
if [ -e "${file}.info" ]; then | |
bash ../tg_utils.sh up "${file}" "$(cat "${file}.info")" | |
fi | |
done | |
fi | |
- name: print unotes if exists 2 | |
run: | | |
if [ ! -z $UNOTE ]; then | |
bash tg_utils.sh msg "gh $RUN_NUM: $UNOTE" | |
fi | |
- name: if it fails | |
if: ${{ failure() }} | |
run: | | |
WORKFLOW_END=$(date +"%s") | |
WDIFF=$((WORKFLOW_END - WORKFLOW_START)) | |
bash tg_utils.sh msg "gh $RUN_NUM: workflow failed in $((WDIFF / 60))m, $((WDIFF % 60))s" | |
- name: end of workflow | |
run: | | |
WORKFLOW_END=$(date +"%s") | |
WDIFF=$((WORKFLOW_END - WORKFLOW_START)) | |
bash tg_utils.sh msg "gh $RUN_NUM: workflow ended in $((WDIFF / 60))m, $((WDIFF % 60))s" | |