|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] automation: add a build job with NR_CPUS == 1
This requires adding some logic in the build script in order to be
able to pass specific Xen Kconfig options.
Setting any CONFIG_* environment variable when executing the build
script will set such variable in the empty .config file before
running the olddefconfig target. The .config file is also checked
afterwards to assert the option has not been lost as part of the
configuration process.
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
Cc: Jan Beulich <jbeulich@xxxxxxxx>
---
Not sure whether there's some easiest way to force a config option to
a set value from the command line.
---
automation/gitlab-ci/build.yaml | 12 ++++++++++++
automation/scripts/build | 16 ++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index d00b8a5123..06d943de83 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -308,6 +308,18 @@ debian-unstable-gcc-debug-randconfig:
CONTAINER: debian:unstable
RANDCONFIG: y
+debian-unstable-gcc-nrcpus1:
+ extends: .gcc-x86-64-build
+ variables:
+ CONTAINER: debian:unstable
+ CONFIG_NR_CPUS: 1
+
+debian-unstable-gcc-debug-nrcpus1:
+ extends: .gcc-x86-64-build-debug
+ variables:
+ CONTAINER: debian:unstable
+ CONFIG_NR_CPUS: 1
+
debian-unstable-32-clang:
extends: .clang-x86-32-build
variables:
diff --git a/automation/scripts/build b/automation/scripts/build
index 87e44bb940..4c331b6b57 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -11,6 +11,22 @@ cc-ver()
# random config or default config
if [[ "${RANDCONFIG}" == "y" ]]; then
make -j$(nproc) -C xen KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config
randconfig
+elif [[ "${!CONFIG_@}" != "" ]]; then
+ for config in "${!CONFIG_@}"; do
+ printf '%s=%s\n' "$config" "${!config}" >> xen/.config
+ done
+ make -j$(nproc) -C xen olddefconfig
+ for config in "${!CONFIG_@}"; do
+ if [[ "${!config}" != "n" ]]; then
+ option=$(printf '%s=%s' "$config" "${!config}")
+ else
+ option=$(printf '# %s is not set' "$config")
+ fi
+ if ! grep -q "^${option}$" xen/.config; then
+ echo "Failed to set ${config} in Kconfig"
+ exit 1;
+ fi
+ done
else
make -j$(nproc) -C xen defconfig
fi
--
2.30.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |