Extra build pipelines for Fedora and Ubuntu (#864)

* ci: factorise kernel building code for Arch

* customization: non-arch: add config option to disable installing the kernel altogether

useful for ci

* customization: add toggle to disable use of 'script' command

needed for ci, otherwise yes "" | ./install.sh install just
freezes

* ci: add Ubuntu pipeline

* ci: add Fedora pipeline

* install.sh: git add changes in the work folder

Both RPM and DEB scripts rely on apparently, not only RPM

* ci: use github to retrieve sources

Probably faster since the runner are hosted by them ?

* ci: arch: update mirror list

Sometimes the ci fails because of "operation too slow"

* ci: follow CachyOS naming scheme for bore scheduler

'bore-eevdf' is just 'bore' now, which makes sense for those who know

* ci: make kernelconfig part of the release

Enables advanced users to check if the kernel they're downloading
has the correct config options. And we can use it to check if
everything is okay

* ci: make a release as long as one kernel builds

I think it's better than cancelling the whole thing.
Because sometimes we don't have time to fix
what's wrong with a distro for a while

* ci: build diet kernel

All good! back to diet kernel

* ci: arch: remove extra frag file

Let's check after a full build if it was really needed.

* config: copy over diet config from 6.6 to 6.7

* ci: #YOLO: build all combinations of distro and scheduler
This commit is contained in:
Adel Kara Slimane
2024-01-15 19:17:18 +01:00
committed by GitHub
parent e2e1ae6180
commit 843725ec7c
9 changed files with 1018 additions and 182 deletions

View File

@@ -7,7 +7,7 @@ set -e
declare -p -x > current_env
# If current run is not using 'script' for logging, do it
if [ -z "$SCRIPT" ]; then
if [[ "$_logging_use_script" =~ ^(Y|y|Yes|yes)$ && -z "$SCRIPT" ]]; then
export SCRIPT=1
/usr/bin/script -q -e -c "$0 $@" shell-output.log
exit_status="$?"
@@ -208,6 +208,9 @@ if [ "$1" = "install" ]; then
cd "$_kernel_work_folder_abs"
msg2 "Add patched files to the diff.patch"
git add .
if [[ "$_distro" =~ ^(Ubuntu|Debian)$ ]]; then
msg2 "Building kernel DEB packages"
@@ -221,8 +224,11 @@ if [ "$1" = "install" ]; then
# Move deb files to DEBS folder inside the linux-tkg folder
mv "$_build_dir"/*.deb "$_where"/DEBS/
read -p "Do you want to install the new Kernel ? Y/[n]: " _install
if [[ "$_install" =~ ^(y|Y|yes|Yes)$ ]]; then
if [[ "$_install_after_building" = "prompt" ]]; then
read -p "Do you want to install the new Kernel ? Y/[n]: " _install
fi
if [[ "$_install_after_building" =~ ^(Y|y|Yes|yes)$ || "$_install" =~ ^(Y|y|Yes|yes)$ ]]; then
cd "$_where"
if [[ "$_sub" = rc* ]]; then
_kernelname=$_basekernel.$_kernel_subver-$_sub-$_kernel_flavor
@@ -250,9 +256,6 @@ if [ "$1" = "install" ]; then
_fedora_work_dir="$_kernel_work_folder_abs/rpmbuild"
msg2 "Add patched files to the diff.patch"
(cd ${_kernel_work_folder_abs} && git add -- . ':!rpmbuild')
msg2 "Building kernel RPM packages"
RPMOPTS="--define '_topdir ${_fedora_work_dir}'" make ${llvm_opt} -j ${_thread_num} rpm-pkg EXTRAVERSION="${_extra_ver_str}"
msg2 "Building successfully finished!"
@@ -264,8 +267,11 @@ if [ "$1" = "install" ]; then
# Move rpm files to RPMS folder inside the linux-tkg folder
mv ${_fedora_work_dir}/RPMS/x86_64/*tkg* "$_where"/RPMS/
read -p "Do you want to install the new Kernel ? Y/[n]: " _install
if [[ "$_install" =~ ^(Y|y|Yes|yes)$ ]]; then
if [[ "$_install_after_building" = "prompt" ]]; then
read -p "Do you want to install the new Kernel ? Y/[n]: " _install
fi
if [[ "$_install_after_building" =~ ^(Y|y|Yes|yes)$ || "$_install" =~ ^(Y|y|Yes|yes)$ ]]; then
if [[ "$_sub" = rc* ]]; then
_kernelname=$_basekernel.${_kernel_subver}_${_sub}_$_kernel_flavor