[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 |