Skip to content

Compile the kernel

Compile the kernel #28

#==========================================================================
# Description: Compile the kernel
# Copyright (C) 2021 https://github.com/unifreq/openwrt_packit
# Copyright (C) 2021 https://github.com/ophub/amlogic-s9xxx-armbian
#==========================================================================
name: Compile the kernel
on:
repository_dispatch:
workflow_dispatch:
inputs:
kernel_source:
description: "Select the kernel source"
required: false
default: "conaco66"
type: choice
options:
- unifreq
- conaco66
- kernel.org
kernel_version:
description: "Select kernel version"
required: false
default: "5.15.85"
type: choice
options:
- 5.4.225_5.10.160_5.15.85
- 5.4.225_5.10.160
- 5.10.160_5.15.85
- 5.15.85_6.1.1
- 5.4.225
- 5.10.160
- 5.15.85
- 6.1.1
kernel_auto:
description: "Auto use the latest kernel"
required: false
default: true
type: boolean
kernel_package:
description: "Select compile package list"
required: false
default: "all"
type: choice
options:
- all
- dtbs
kernel_toolchain:
description: "Select the compilation toolchain"
required: false
default: "clang"
type: choice
options:
- clang
- gcc
kernel_sign:
description: "Set the kernel custom signature"
required: false
default: "-conaco66"
kernel_config:
description: "Set the path of kernel .config"
required: false
default: ""
env:
TZ: America/New_York
jobs:
build:
runs-on: ubuntu-22.04
if: ${{ github.event.repository.owner.id }} == ${{ github.event.sender.id }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Initialization environment
id: init
env:
DEBIAN_FRONTEND: noninteractive
run: |
docker rmi `docker images -q`
[[ -n "${AGENT_TOOLSDIRECTORY}" ]] && sudo rm -rf "${AGENT_TOOLSDIRECTORY}"
sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d /usr/local/lib/android 2>/dev/null
sudo -E apt-get -y update
sudo -E apt-get -y purge azure-cli ghc* zulu* llvm* firefox google* dotnet* powershell openjdk* mongodb* moby* || true
sudo -E apt-get -y install $(curl -fsSL https://is.gd/depend_ubuntu2204_armbian)
sudo -E systemctl daemon-reload
#sudo -E apt-get -y full-upgrade
sudo -E apt-get -y autoremove --purge
sudo -E apt-get clean
sudo timedatectl set-timezone "${TZ}"
echo "status=success" >> ${GITHUB_OUTPUT}
- name: Compile the kernel
uses: conaco66/amlogic-s9xxx-armbian@main
if: ${{ steps.init.outputs.status }} == 'success' && !cancelled()
with:
build_target: kernel
kernel_source: ${{ inputs.kernel_source }}
kernel_version: ${{ inputs.kernel_version }}
kernel_auto: ${{ inputs.kernel_auto }}
kernel_package: ${{ inputs.kernel_package }}
kernel_toolchain: ${{ inputs.kernel_toolchain }}
kernel_sign: ${{ inputs.kernel_sign }}
kernel_config: ${{ inputs.kernel_config }}
- name: Upload Kernel to Release
uses: ncipollo/release-action@main
if: ${{ env.PACKAGED_STATUS }} == 'success' && !cancelled()
with:
tag: kernel_${{ env.PACKAGED_OUTPUTTAGS }}
artifacts: ${{ env.PACKAGED_OUTPUTPATH }}/*
allowUpdates: true
token: ${{ secrets.GH_TOKEN }}
body: |
The kernel can be used to compile Armbian and OpenWrt.
The kernel source code comes from: ${{ inputs.kernel_source }}
The kernel compilation toolchain: ${{ inputs.kernel_toolchain }}