Skip to content

make permissive

make permissive #36

Workflow file for this run

name: Build boot.image
on:
push:
pull_request:
workflow_dispatch:
inputs:
release:
description: '🚀 Make a release?'
type: boolean
required: true
default: false
jobs:
build:
runs-on: ubuntu-latest
steps:
# 1. Checkout repository with submodules (shallow clone)
- name: Checkout repository
uses: actions/checkout@v5
with:
submodules: true
fetch-depth: 1
- name: Cleanup space
run: |
sudo apt-get remove --purge -y "php*" "dotnet*" "mysql*" "nodejs*" "clang*" "google*"
sudo apt-get autoremove -y
sudo apt-get clean
sudo rm -rf /usr/local
# 2. Run your custom bash script
- name: Run build script
run: |
chmod +x ./build_kernel.sh
bash build_kernel.sh
- name: Copy kernel image
run: |
cp out/target/product/a34x/obj/KLEAF_OBJ/dist/kernel_device_modules-6.6/mgk_64_k66_kernel_aarch64.user/Image Image
sha256sum Image >> Image.sha256sum
- name: Move out directory
run: |
mv out/target/product/a34x/obj/KLEAF_OBJ/dist .
cd dist; tar czvf ../dist.tar.gz *
- name: Extract the .config file from a kernel image
run: |
bash kernel-6.6/scripts/extract-ikconfig Image >> kernel_config
export OSRC_RELEASE="$(cat build_kernel.sh | grep SEC_BUILDNUMBER | tail | sed 's/^export SEC_BUILDNUMBER\=\"//' | sed 's/\"$//' | sed 's/ogki//')"
echo "Based on $OSRC_RELEASE Samsung Open Source Kernel source" >> versions.txt
echo "osrc_release=$OSRC_RELEASE" >> $GITHUB_ENV
export VERSION="$(cat kernel-6.6/Makefile | grep 'VERSION = ' | head -n 1 | sed 's/VERSION = //')"
export PATCHLEVEL="$(cat kernel-6.6/Makefile | grep 'PATCHLEVEL = ' | head -n 1 | sed 's/PATCHLEVEL = //')"
export SUBLEVEL="$(cat kernel-6.6/Makefile | grep 'SUBLEVEL = ' | head -n 1 | sed 's/SUBLEVEL = //')"
export KERNEL_VERSION="$VERSION.$PATCHLEVEL.$SUBLEVEL"
echo "Linux Kernel ARM64 $KERNEL_VERSION" >> versions.txt
echo "kernel_release=$KERNEL_VERSION" >> $GITHUB_ENV
export ASB_LEVEL="$(cat kernel-6.6/build.config.common | grep ASB_SPL | tail | sed 's/^ASB_SPL\=//')"
echo "Merged $ASB_LEVEL android15-6.6 ASB Security Patch Level" >> versions.txt
echo "asb_level=$ASB_LEVEL" >> $GITHUB_ENV
echo "osrc_release=$OSRC_RELEASE" >> build_info.txt
echo "asb_level=$ASB_LEVEL" >> build_info.txt
echo "kernel_release=$KERNEL_VERSION" >> build_info.txt
echo "$(grep 'BRANCH=' kernel-6.6/build.config.common)" >> build_info.txt
echo "$(grep 'KMI_GENERATION=' kernel-6.6/build.config.common)" >> build_info.txt
- name: Build tar
run: |
export version="${{ env.kernel_release }}-android15-6.6-abogki${{ env.osrc_release }}_${{ env.asb_level }}"
FILE_NAME="a34x_${version}_$(date +%Y%m%d)"
echo "tar_file_name=$FILE_NAME" >> $GITHUB_ENV
lz4 -B6 --content-size -q boot.img boot.img.lz4
tar -c --format=gnu -f "$FILE_NAME.tar" -- *.lz4
CHECKSUM="$(md5sum "$FILE_NAME.tar" | cut -d " " -f 1 | sed 's/ //')"
echo -n "$CHECKSUM" >> "$FILE_NAME.tar" \
&& echo " $FILE_NAME.tar" >> "$FILE_NAME.tar" \
&& mv "$FILE_NAME.tar" "$FILE_NAME.tar.md5"
# 3. Upload the generated boot.img and generated dist dir
- name: Upload boot.img artifact
uses: actions/upload-artifact@v5
with:
name: boot-image
path: boot.img
- name: Upload dist artifact
uses: actions/upload-artifact@v5
with:
name: dist-dir
path: dist
- name: Upload Image artifact
uses: actions/upload-artifact@v5
with:
name: kernel-image
path: Image
- name: Upload release assets
if: github.event.inputs.release
uses: softprops/action-gh-release@v2.4.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body_path: versions.txt
tag_name: "${{ env.kernel_release }}_${{ env.asb_level }}_${{ env.osrc_release }}"
name: "${{ env.kernel_release }} - ${{ env.asb_level }} - ${{ env.osrc_release }}"
files: |
boot.img
Image
Image.sha256sum
dist.tar.gz
kernel_config
build_info.txt
${{ env.tar_file_name }}.tar.md5