Skip to content
Snippets Groups Projects
Commit 667510a9 authored by Helen Koike's avatar Helen Koike
Browse files

kci-gitlab: Introducing GitLab-CI Pipeline for Kernel Testing


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: default avatarTales Aparecida <tales.aparecida@redhat.com>
Signed-off-by: default avatarTales Aparecida <tales.aparecida@redhat.com>
Signed-off-by: default avatarHelen 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?
parent ea489a3d
No related branches found
No related tags found
No related merge requests found
Showing
with 610 additions and 0 deletions
include:
- ci/gitlab-ci/yml/gitlab-ci.yml
......@@ -4965,6 +4965,14 @@ T: git git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/i2c/chrontel,ch7322.yaml
F: drivers/media/cec/i2c/ch7322.c
 
CI AUTOMATED TESTING
M: Helen Koike <helen.koike@collabora.com>
L: linux-kernel@vger.kernel.org
S: Maintained
T: git https://gitlab.collabora.com/koike/linux.git
F: .gitlab-ci.yml
F: ci/
CIRRUS LOGIC AUDIO CODEC DRIVERS
M: James Schulman <james.schulman@cirrus.com>
M: David Rhodes <david.rhodes@cirrus.com>
......
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
set -eo pipefail
# Define variables
CONFIG_VOLUME="/srv/gitlab-runner/config" # Path to your GitLab Runner config
# Check if RUNNER_REGISTRATION_TOKEN is set
if [ -z "${RUNNER_REGISTRATION_TOKEN}" ]; then
echo "Error: RUNNER_REGISTRATION_TOKEN is not set."
echo "Please set the RUNNER_REGISTRATION_TOKEN environment variable and try again."
exit 1
fi
# Check if GITLAB_URL is set
if [ -z "${GITLAB_URL}" ]; then
GITLAB_URL="https://gitlab.com/"
echo "Info: GITLAB_URL is not set. Using the default $GITLAB_URL"
echo "Please set the RUNNER_REGISTRATION_TOKEN environment variable and try again."
fi
# Check if docker-compose is installed
if ! command -v docker-compose &> /dev/null
then
echo "docker-compose could not be found. Please install it first."
exit 1
fi
# Start the GitLab Runner using Docker Compose
echo "Starting GitLab Runner..."
docker-compose up -d
# Wait for a few seconds to ensure the service is up
sleep 5
# Register the GitLab Runner
echo "Registering GitLab Runner..."
docker run --rm -v ${CONFIG_VOLUME}:/etc/gitlab-runner gitlab/gitlab-runner register \
--non-interactive \
--url ${GITLAB_URL} \
--token ${RUNNER_REGISTRATION_TOKEN} \
--executor docker \
--docker-image "alpine:latest" \
--description "Docker Runner" \
--docker-privileged
echo ""
echo "INFO: To configure the number of concurrent jobs, edit the value of concurrent in ${CONFIG_VOLUME}/config.toml"
echo "INFO: than restart the GitLab Runner using docker-compose restart"
echo ""
echo "GitLab Runner setup complete."
#!/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_get_patch_series_size
# Get the list of modified files in the last $ICI_PATCH_SERIES_SIZE commits
MODIFIED_DOC_FILES=$(git diff HEAD~$ICI_PATCH_SERIES_SIZE --name-only -- Documentation/)
make -j$(nproc) "$ICI_DOC_TYPE" 2>&1 | tee output.txt
mkdir -p "${CI_PROJECT_DIR}/artifacts"
mv Documentation/output "${CI_PROJECT_DIR}/artifacts/Documentation-output"
# Check if any of the MODIFIED_DOC_FILES generated a warning
# NOTE: the alternative solution was to touch the modified files and run make
# again, but too much warnings still appears
for file in $MODIFIED_DOC_FILES; do
if grep -qi "warning" output.txt && grep -q "$file" output.txt; then
echo "Warning found in $file"
exit 101
fi
done
if [ -n "$ICI_UNABLE_TO_DETECT_PATCH_SERIES_SIZE" ]; then
# If the patch series size was not detected, exit with a warning
echo "The patch series size was not detected, we probably didn't check the whole series. Exiting with a warning."
exit 101
fi
\ No newline at end of file
#!/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
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
set -exo pipefail
# internal CI bash functions
# convention:
# KCI_<VARIABLE_NAME> for variables defined by the user (outside of this script)
# ICI_<VARIABLE_NAME> for variables defined internally for usage between scripts
# CI_<VARIABLE_NAME> for variables defined by GitLab CI
ici_prepare_build() {
BUILD_DIR="${1:-build}"
echo ""
echo "Architecture: $KCI_KERNEL_ARCH"
echo "Defconfig: $KCI_DEFCONFIG"
echo ""
# Get the current directory if KCI_KERNEL_DIR is not set
ICI_KERNEL_DIR="${KCI_KERNEL_DIR:-$(pwd)}"
cd "$ICI_KERNEL_DIR" || { echo "Kernel directory not found"; exit 1; }
# Clean up stale rebases that GitLab might not have removed when reusing a checkout dir
rm -rf .git/rebase-apply
if [[ "$KCI_KERNEL_ARCH" = "arm64" ]]; then
GCC_ARCH="aarch64-linux-gnu"
elif [[ "$KCI_KERNEL_ARCH" = "arm" ]]; then
GCC_ARCH="arm-linux-gnueabihf"
else
GCC_ARCH="x86_64-linux-gnu"
fi
# do not set ARCH and CROSS_COMPILE if KCI_KERNEL_ARCH is not set, useful for local run
if [ -n "$KCI_KERNEL_ARCH" ]; then
export ARCH=${KCI_KERNEL_ARCH}
export CROSS_COMPILE="${GCC_ARCH}-"
fi
mkdir -p "$BUILD_DIR"
pushd "$BUILD_DIR" || { echo "Failed to create $BUILD_DIR directory"; exit 1; }
# generate defconfig
make -C "$ICI_KERNEL_DIR" O=$(pwd) $(basename ${KCI_DEFCONFIG-"defconfig"})
# add extra configs from variable KCI_KCONFIGS_{ENABLE,DISABLE,MODULE}
for opt in $KCI_KCONFIGS_ENABLE; do
../scripts/config --file .config --enable CONFIG_$opt
done
for opt in $KCI_KCONFIGS_DISABLE; do
../scripts/config --file .config --disable CONFIG_$opt
done
for opt in $KCI_KCONFIGS_MODULE; do
../scripts/config --file .config --module CONFIG_$opt
done
if [ -n "$KCI_KCONFIGS_DISABLE" ] || [ -n "$KCI_KCONFIGS_ENABLE" ] ||
[ -n "$KCI_KCONFIGS_MODULE" ]; then
# execude olddefconfig only if we changed the default config, otherwise,
# let it raise warnings if any
make -C "$ICI_KERNEL_DIR" O=$(pwd) olddefconfig
fi
popd
}
ici_get_patch_series_size()
{
local CLONE_DEPTH
CLONE_DEPTH=$(git rev-list --count HEAD)
echo "The depth of the clone is $CLONE_DEPTH"
# If this is in the context of a merge request, calculate the patch series size comparing to the target branch
if [ -n "$CI_MERGE_REQUEST_IID" ]; then
git fetch origin "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" --depth $CLONE_DEPTH
ICI_PATCH_SERIES_SIZE=$(git rev-list --count origin/"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME".."$CI_COMMIT_SHA")
# if KCI_PATCH_SERIES_SIZE is set, use it
elif [ -n "$KCI_PATCH_SERIES_SIZE" ]; then
ICI_PATCH_SERIES_SIZE="$KCI_PATCH_SERIES_SIZE"
else
ICI_PATCH_SERIES_SIZE=1
echo "WARNING: unable to detect the patch series size, using the default value of 1."
# shellcheck disable=SC2034
ICI_UNABLE_TO_DETECT_PATCH_SERIES_SIZE=true
fi
# Check if the clone depth is smaller than or equal to KCI_PATCH_SERIES_SIZE, otherwise the checkpatch.pl hangs
if [ "$ICI_PATCH_SERIES_SIZE" -ge "$CLONE_DEPTH" ]; then
echo "ERROR: the depth of the clone is $CLONE_DEPTH, smaller than or equal to the patch series size."
echo "Update your GitLab configuration to increase the size of the clone."
return 1
fi
}
\ No newline at end of file
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
set -exo pipefail
pushd /
git clone --depth 1 https://repo.or.cz/smatch.git
pushd smatch
make
popd
popd
\ No newline at end of file
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
set -exo pipefail
# Get the last commit message
commit_message=$(git log -1 --pretty=%B)
# Define a regex pattern to match KCI_VARIABLE=value
pattern="(KCI_[A-Za-z_]+)=([A-Za-z0-9_-]+)"
# Check if the commit message contains the pattern
if [[ $commit_message =~ $pattern ]]; then
variable_name="${BASH_REMATCH[1]}"
variable_value="${BASH_REMATCH[2]}"
# Export the variable
export "$variable_name=$variable_value"
echo "Exported $variable_name=$variable_value"
else
echo "No matching pattern found in the commit message."
fi
#!/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_get_patch_series_size
# Run scripts/checkpatch.pl with specified options
scripts/checkpatch.pl --terse --types "$KCI_CHECKPATCH_TYPES" --git HEAD-"$ICI_PATCH_SERIES_SIZE"
if [ -n "$ICI_UNABLE_TO_DETECT_PATCH_SERIES_SIZE" ]; then
# If the patch series size was not detected, exit with a warning
echo "The patch series size was not detected, we probably didn't check the whole series. Exiting with a warning."
exit 101
fi
#!/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
ls -l
pwd
# generate config file
ici_prepare_build
ici_get_patch_series_size
cp build/.config .
# Get a list of modified .c files in the last ICI_PATCH_SERIES_SIZE commits
MODIFIED_C_FILES=$(git diff --name-only HEAD~$ICI_PATCH_SERIES_SIZE HEAD | grep '\.c$' || true)
# Check if any .c files were modified
if [ -z "$MODIFIED_C_FILES" ]; then
echo "No .c files were modified in the last $ICI_PATCH_SERIES_SIZE commits."
else
echo "Running kchecker on modified .c files..."
mkdir -p "$CI_PROJECT_DIR"/artifacts
fi
# Run kchecker on each modified .c file
for file in $MODIFIED_C_FILES; do
if [ -f "$file" ]; then
/smatch/smatch_scripts/kchecker "$file" | tee "$CI_PROJECT_DIR"/artifacts/smatch_warns.txt
else
echo "File not found: $file"
fi
done
if [ -n "$ICI_UNABLE_TO_DETECT_PATCH_SERIES_SIZE" ]; then
# If the patch series size was not detected, exit with a warning
echo "The patch series size was not detected, we probably didn't check the whole series. Exiting with a warning."
exit 101
fi
\ No newline at end of file
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
version: '3.8'
services:
gitlab-runner:
image: gitlab/gitlab-runner:latest
container_name: gitlab-runner
restart: always
privileged: true
volumes:
- /srv/gitlab-runner/config:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
# To register the GitLab Runner, run the following command:
# docker run --rm -it -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register --url https://gitlab.com --token YOUR_REGISTRATION_TOKEN
{
"folders": [
{
"path": "../../../.."
},
{
"path": "../../../../../mesa"
}
],
"settings": {}
}
\ No newline at end of file
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
.build:
extends: .use-debian/x86_64_build
stage: build
build-kernel:
extends:
- .build
- .kernel-combinations
variables:
# ccache in gitlab-runner to speed up builds
CCACHE_BASEDIR: $CI_PROJECT_DIR
CCACHE_DIR: $CI_PROJECT_DIR/ccache
CCACHE_COMPILERCHECK: content
cache:
- key: ccache-$CI_JOB_NAME
paths:
- $CCACHE_DIR
before_script:
- export PATH="/usr/lib/ccache:$PATH"
- ccache --zero-stats || true
- ccache --show-stats || true
after_script:
- ccache --show-stats
script:
- ./ci/gitlab-ci/ci-scripts/build-kernel.sh
build-docs:
extends:
- .build
parallel:
matrix:
- ICI_DOC_TYPE: "htmldocs"
# TODO: re-add pdfdocs once build errors are fixed
# - ICI_DOC_TYPE: "pdfdocs"
- ICI_DOC_TYPE: "latexdocs"
- ICI_DOC_TYPE: "epubdocs"
script:
- ./ci/gitlab-ci/ci-scripts/build-docs.sh
when: manual
\ No newline at end of file
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
# Smatch db is saved to a cached folder, so it can be used by other jobs and pipelines.
# It is set to manual so it can be run when needed
.use-cache-smatch-db:
cache:
# TODO: check if this cache shouldn't be per architecture
- key: smatch-db
paths:
- /smatch/smatch_data
smatch-db-generate:
stage: cache
extends:
- .kernel-combinations
- .use-debian/x86_64_build
- .use-cache-smatch-db
script:
- source ci/gitlab-ci/ci-scripts/ici-functions.sh
- ici_prepare_build
- cp build/.config .
- /smatch/smatch_scripts/build_kernel_data.sh
when: manual
\ No newline at end of file
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
.prep-debian/x86_64_build:
variables:
FDO_DISTRIBUTION_VERSION: bookworm-slim
FDO_DISTRIBUTION_TAG: "2024-02-27-ci-test-1"
debian/x86_64_build:
extends:
- ".fdo.container-build@debian"
- ".prep-debian/x86_64_build"
variables:
FDO_DISTRIBUTION_PACKAGES: >
make bc flex bison pahole mount build-essential
libcairo-dev libdw-dev libjson-c-dev libkmod2
libkmod-dev libpciaccess-dev libproc2-dev libudev-dev
libunwind-dev python3-docutils bc python3-ply
libssl-dev ccache
gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu
gcc-arm-linux-gnueabihf binutils-arm-linux-gnueabihf
perl git kmod python3-git
sqlite3 libsqlite3-dev libdbd-sqlite3-perl libssl-dev libtry-tiny-perl
python3-sphinx imagemagick graphviz dvipng python3-venv fonts-noto-cjk
latexmk librsvg2-bin texlive-lang-chinese texlive-xetex
FDO_DISTRIBUTION_EXEC: ./ci/gitlab-ci/ci-scripts/install-smatch.sh
stage: container
.use-debian/x86_64_build:
extends:
- ".fdo.distribution-image@debian"
- ".prep-debian/x86_64_build"
needs: [debian/x86_64_build]
\ No newline at end of file
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
workflow:
name: $PIPELINE_NAME
rules:
# when triggered as a multi-project pipeline for an MR
- if: $CI_PIPELINE_SOURCE == 'pipeline' && $PARENT_MERGE_REQUEST_IID != null && $PARENT_MERGE_REQUEST_IID != ""
variables:
PIPELINE_NAME: 'Downstream pipeline for $PARENT_PROJECT_PATH!$PARENT_MERGE_REQUEST_IID'
# when triggered as a multi-project pipeline
- if: $CI_PIPELINE_SOURCE == 'pipeline'
variables:
PIPELINE_NAME: 'Downstream pipeline for $PARENT_PROJECT_PATH'
# when triggered via a schedule
- if: $CI_PIPELINE_SOURCE == 'schedule'
variables:
PIPELINE_NAME: 'Scheduled pipeline for $ONLY_JOB_NAME'
# for merge requests
- if: $CI_MERGE_REQUEST_ID
# when triggered via the REST api
- if: $CI_PIPELINE_SOURCE == 'api'
# for the tip of the default branch
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# when triggered via a trigger token
- if: $CI_PIPELINE_SOURCE == 'trigger'
# when triggered from a button press in the web interface
- if: $CI_PIPELINE_SOURCE == 'web'
# for branch tips without open MRs, ignoring special branches
- if: $CI_PIPELINE_SOURCE == 'push' && $CI_OPEN_MERGE_REQUESTS == null
# when forced via '-o ci.variable="FORCE_CI=true"' during pushing
- if: $FORCE_CI == 'true'
variables:
FDO_UPSTREAM_REPO: helen.fornazier/linux # The repo where to look for cached images
# ccache builds in gitlab-runner to speed up builds
SMATCH_DB_DIR: /smatch/smatch_data
# exit code of bash script on `script` will be the exit code of the job
FF_USE_NEW_BASH_EVAL_STRATEGY: "true"
default:
artifacts:
paths:
- artifacts/
when: always
include:
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/16bc29078de5e0a067ff84a1a199a3760d3b3811/templates/ci-fairy.yml'
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/16bc29078de5e0a067ff84a1a199a3760d3b3811/templates/debian.yml'
- ci/gitlab-ci/yml/kernel-combinations.yml
- ci/gitlab-ci/yml/container.yml
- ci/gitlab-ci/yml/cache.yml
- ci/gitlab-ci/yml/build.yml
- ci/gitlab-ci/yml/static-checks.yml
- ci/gitlab-ci/yml/scenarios.yml
before_script:
- source ci/gitlab-ci/ci-scripts/parse_commit_message.sh
.use-debian/x86_64_build:
allow_failure:
# Code to exit with a warning
exit_codes: 101
stages:
- container
- static-checks
- build
- cache
\ No newline at end of file
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
.kernel-combinations:
parallel:
matrix:
- KCI_KERNEL_ARCH: "x86_64"
KCI_DEFCONFIG: "x86_64_defconfig"
KCI_KCONFIGS_ENABLE: "PROVE_LOCKING DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT CONFIG_DEBUG_SECTION_MISMATCH"
- KCI_KERNEL_ARCH: "arm64"
KCI_DEFCONFIG: "defconfig"
KCI_KCONFIGS_ENABLE: "PROVE_LOCKING DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT CONFIG_DEBUG_SECTION_MISMATCH"
- KCI_KERNEL_ARCH: "arm"
KCI_DEFCONFIG: "multi_v7_defconfig"
KCI_KCONFIGS_ENABLE: "PROVE_LOCKING DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT CONFIG_DEBUG_SECTION_MISMATCH"
\ No newline at end of file
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
# Extend the CI by including a test scenario here. The scenario will be
# activated if KCI_SCENARIO is set to the scenario name. KCI_SCENARIO can be
# defined in the gitlab-ci.yml file, or through GitLab UI.
include:
- local: 'ci/gitlab-ci/yml/scenarios/$KCI_SCENARIO.yml'
rules:
- if: '$KCI_SCENARIO'
\ No newline at end of file
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
# Write here specific configurations and extensions for the given scenario
# Example - overwrite kernel combinations in the pipeline
# .kernel-combinations:
# parallel:
# matrix:
# - KCI_KERNEL_ARCH: "x86_64"
# KCI_DEFCONFIG: "path/to/my/config/file_config"
# KCI_ENABLE_KCONFIGS: "CONFIG1 CONFIG2 CONFIG3 ..."
#
# - KCI_KERNEL_ARCH: "arm64"
# KCI_DEFCONFIG: "path/to/my/config/file_config"
# KCI_ENABLE_KCONFIGS: "CONFIG1 CONFIG2 CONFIG3 ..."
#
# - KCI_KERNEL_ARCH: "arm"
# KCI_DEFCONFIG: "path/to/my/config/file_config"
# KCI_ENABLE_KCONFIGS: "CONFIG1 CONFIG2 CONFIG3 ..."
\ No newline at end of file
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2024 Collabora, Helen Koike <helen.koike@collabora.com>
# Write here specific configurations and extensions for the given scenario
# Example - overwrite kernel combinations in the pipeline
# .kernel-combinations:
# parallel:
# matrix:
# - KCI_KERNEL_ARCH: "x86_64"
# KCI_DEFCONFIG: "path/to/my/config/file_config"
# KCI_ENABLE_KCONFIGS: "CONFIG1 CONFIG2 CONFIG3 ..."
#
# - KCI_KERNEL_ARCH: "arm64"
# KCI_DEFCONFIG: "path/to/my/config/file_config"
# KCI_ENABLE_KCONFIGS: "CONFIG1 CONFIG2 CONFIG3 ..."
#
# - KCI_KERNEL_ARCH: "arm"
# KCI_DEFCONFIG: "path/to/my/config/file_config"
# KCI_ENABLE_KCONFIGS: "CONFIG1 CONFIG2 CONFIG3 ..."
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment