Select Git revision
build-kernel.sh
-
Helen Koike authored
This patch introduces a `.gitlab-ci` file along with a `ci/` folder, defininga basic test pipeline triggered by code pushes to a GitLab-CI instance. This initial version includes static checks (checkpatch and smatch for now) and build tests across various architectures and configurations. It leverages an integrated cache for efficient build times and introduces a flexible 'scenarios' mechanism for subsystem-specific extensions. [ci: add prerequisites to run check-patch on MRs] Co-developed-by:
Tales Aparecida <tales.aparecida@redhat.com> Signed-off-by:
Tales Aparecida <tales.aparecida@redhat.com> Signed-off-by:
Helen Koike <helen.koike@collabora.com> --- Hey all, You can check the validation of this patch on: https://gitlab.collabora.com/koike/linux/-/pipelines/86841 I would appreciate your feedback on this work, what do you think? If you would rate from 0 to 5, where: [ ] 0. I don't think this is useful at all, and I doubt it will ever be. It doesn't seem worthwhile. [ ] 1. I don't find it useful in its current form. [ ] 2. It might be useful to others, but not for me. [ ] 3. It has potential, but it's not yet something I can incorporate into my workflow. [ ] 4. This is useful, but it needs some adjustments before I can include it in my workflow. [ ] 5. This is really useful! I'm eager to start using it right away. Why didn't you send this earlier? :) Which rating would you select?
Helen Koike authoredThis patch introduces a `.gitlab-ci` file along with a `ci/` folder, defininga basic test pipeline triggered by code pushes to a GitLab-CI instance. This initial version includes static checks (checkpatch and smatch for now) and build tests across various architectures and configurations. It leverages an integrated cache for efficient build times and introduces a flexible 'scenarios' mechanism for subsystem-specific extensions. [ci: add prerequisites to run check-patch on MRs] Co-developed-by:
Tales Aparecida <tales.aparecida@redhat.com> Signed-off-by:
Tales Aparecida <tales.aparecida@redhat.com> Signed-off-by:
Helen Koike <helen.koike@collabora.com> --- Hey all, You can check the validation of this patch on: https://gitlab.collabora.com/koike/linux/-/pipelines/86841 I would appreciate your feedback on this work, what do you think? If you would rate from 0 to 5, where: [ ] 0. I don't think this is useful at all, and I doubt it will ever be. It doesn't seem worthwhile. [ ] 1. I don't find it useful in its current form. [ ] 2. It might be useful to others, but not for me. [ ] 3. It has potential, but it's not yet something I can incorporate into my workflow. [ ] 4. This is useful, but it needs some adjustments before I can include it in my workflow. [ ] 5. This is really useful! I'm eager to start using it right away. Why didn't you send this earlier? :) Which rating would you select?
build-kernel.sh 986 B
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
set -exo pipefail
source ci/gitlab-ci/ci-scripts/ici-functions.sh
ici_prepare_build
pushd build
# compile the entire kernel
make CF=-D__CHECK_ENDIAN__ -C "$ICI_KERNEL_DIR" O=$(pwd) -j$(nproc) 2>&1 | tee output.txt
export INSTALL_PATH="${CI_PROJECT_DIR}/artifacts/kernel-install-${KCI_KERNEL_ARCH}-${KCI_DEFCONFIG}_config"
mkdir -p "$INSTALL_PATH"
# install the kernel image to artifacts/kernel-install
make -C "$ICI_KERNEL_DIR" O=$(pwd) install INSTALL_PATH="$INSTALL_PATH"
# install kernel modules to artifacts/kernel-install
make -C "$ICI_KERNEL_DIR" O=$(pwd) modules_install INSTALL_MOD_PATH="$INSTALL_PATH"
# export config as artifact
cp .config "${CI_PROJECT_DIR}/artifacts/${KCI_KERNEL_ARCH}-${KCI_DEFCONFIG}_config"
# if the compilation has warnings, exit with the warning code
if grep -iq "warning" output.txt; then
exit 101
fi
popd